vCluster یک ابزار متنباز توسعهیافته توسط Loft Labs است که امکان ایجاد و مدیریت کلاسترهای مجازی Kubernetes را بر روی یک کلاستر فیزیکی فراهم میکند. این ابزار به تیمهای توسعه و DevOps کمک میکند تا با isolation بهتر و استفاده بهینه از منابع، فرآیندهای توسعه، آزمایش و استقرار را بهبود دهند. با استفاده از vCluster، میتوان چندین کلاستر مجازی را به سرعت ایجاد و حذف کرد، که این کار به صرفهجویی در هزینهها و منابع، و همچنین به مدیریت محیطهای توسعه و آزمایش کمک زیادی میکند.
در این مطلب قصد داریم تا vCluster را نصب کنیم و با استفاده از آن بر روی یک کلاستر کوبرنتیز (به عنوان Host) یک کلاستر کوبرنتیز دیگر راه اندازی کنیم.
گام ۱: کوبرنتیز کلاستر
در ابتدا ما نیاز به یک کلاستر کوبرنتیز خواهیم داشت که میزبان کلاسترهایی خواهد بود که قصد داریم تا با استفاده از vCluster راه اندازی کنیم. برای راه اندازی این کلاستر کوبرنتیز می توانید از Minikube یا Kind استفاده کنید.
اکنون ما فرض می کنیم که با استفاده از kubectl به یک کوبرنتیز کلاستر دسترسی داریم.
گام ۲: نصب vCluster
در این مرحله باید vCluster CLI را نصب کنیم. برای نصب آن بر روی لینوکس کافیست تا دستور زیر را اجرا کنید:
curl -L -o vcluster "https://github.com/loft-sh/vcluster/releases/download/v0.20.0-beta.1/vcluster-linux-amd64" && sudo install -c -m 0755 vcluster /usr/local/bin && rm -f vcluster
نکته اینکه برای دانلود آخرین نسخه ی vCluster می توانید آن را از صفحه GitHub Releases پروژه دانلود کنید:
https://github.com/loft-sh/vcluster/releases
برای بررسی درستی نصب می توانید از دستور زیر استفاده کنید:
vcluster --version
گام ۳: راه اندازی کوبرنتیز کلاستر با vCluster
اکنون جهت راه اندازی یک کلاستر با vCluster در کلاستر کوبرنتیز میزبان مراحل زیر را باید انجام داد.
ساخت یک namespace:
kubectl create namespace myteam
راه اندازی کلاستر مجازی با vCluster:
vcluster create my-vcluster --namespace myteam
گام ۴: اتصال به کلاستر مجازی
جهت اتصال به کلاستر مجازی (my-vcluster) کافیست تا دستور زیر را اجرا کنید:
vcluster connect my-vcluster --namespace myteam
نکته اینکه برای disconnect شدن از کلاستر مجازی می توانید از دستور زیر استفاده کنید:
vcluster disconnect
گام ۵: نصب برنامه در کلاستر مجازی
اکنون جهت آزمایش قصد داریم تا nginx را در این کلاستر مجازی (my-vcluster) نصب کنیم. برای اینکار کافیست تا دستورهای زیر را اجرا کنید:
kubectl create namespace demo-nginx kubectl create deployment ngnix-deployment -n demo-nginx --image=nginx -r 2
جهت بررسی دستور زیر را اجرا کنید:
kubectl get pods -n demo-nginx
امید است تا از این مطلب استفاده لازم را برده باشید.