برای نصب و راه اندازی Kubernetes ابزارها و روش های گوناگونی وجود دارد. یکی از این نرم افزارها Minikube نام دارد که بوسیله ی آن می توان یک Kubernetes Cluster را بر روی کامپیوتر شخصی و یا لپ تاپ خود نصب کنید. Minikube برای مصارف Production مناسب نمی باشد و بیشتر برای یادگیری و محیط های آزمایشگاهی مناسب می باشد.
Minikube از چندین مجازی ساز و کانتینر مانند Docker, Hyperkit, Hyper-V, KVM, Parallels, Podman, VirtualBox و VMware پشتبانی می کند که در این مطلب قصد دارین تا نحوه ی نصب Minikube را با استفاده از VirtualBox و KVM توضیح دهیم.
۱- نصب مجازی ساز:
همانطور که گفته شد در این مطلب قصد داریم تا Minikube را با استفاده از VirtualBox و KVM نصب کنیم. به همین خاطر اگر قصد استفاده از VirtualBox را دارید کافیست تا مطلب نحوه ی نصب VirtualBox را مطالعه کنید و آن را نصب کنید.
اگر قصد استفاده از KVM را دارید کافیست تا مطلب نصب مجازی ساز KVM را مطالعه کنید و آن را نصب کنید. پس از نصب مجازی ساز KVM باید کاربر خود را به گروه libvirt اضافه کنید که برای اینکار کافیست تا دستور های زیر را اجرا کنید:
# usermod -a -G libvirt hos7ein
$ newgrp libvirt
نکته اینکه بجای hos7ein باید نام کاربری خود را بنویسید.
۲- نصب Docker:
برای نصب Docker کافیست تا مطلب نصب و راه اندازی Docker را مطالعه کنید.
۳- نصب docker-machine-driver-kvm2:
برای نصب docker-machine-driver-kvm2 کافیست تا ابتدا آن را دانلود کنید:
$ curl -LO https://storage.googleapis.com/minikube/releases/latest/docker-machine-driver-kvm2
سپس به آن مجوز اجرایی بدهید:
$ chmod +x docker-machine-driver-kvm2
اکنون آن را به مسیر مشخص شده منتقل کنید:
# mv docker-machine-driver-kvm2 /usr/local/bin/
۴- نصب Minikube:
اکنون برای نصب Minikube ابتدا آن را دانلود کنید:
$ curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
سپس به فایل مجوز اجرایی دهید:
$ chmod +x minikube
اکنون آن را به مسیر مشخص شده منتقل کنید:
# mv minikube /usr/local/bin/
۵- نصب Kubectl :
Kubectl یک ابزار خط فرمانی جهت ارتباط با Kubernetes می باشد. جهت نصب Kubectl اگر از فدورا استفاده می کنید و قصد دارید تا آن را از طریق مخازن فدورا نصب کنید، کافیست تا دستور زیر را اجرا کنید:
# dnf install kubernetes-client
یا اینکه فایل باینری آن را دانلود کنید:
$ curl -Lo kubectl https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
سپس به فایل مجوز اجرایی دهید و آن را به مسیر مشخص شده منتقل کنید:
$ chmod +x kubectl
# mv kubectl /usr/local/bin
۶- ساخت Minikube Cluster :
پس از نصب ابزارها و نرم افزارهای گفته شده اکنون می توان کلاستر Minikube خود را راه اندازی کرد. برای اینکار اگر قصد استفاده از مجازی ساز VirtualBox را دارید، برای راه اندازی Minikube Cluster کافیست تا دستور زیر را وارد کنید. هر چند که به صورت پیش فرض Minikube از VirtualBox استفاده خواهد کرد:
$ minikube start
اگر قصد استفاده از KVM را دارید کافیست تا دستور زیر را اجرا کنید:
$ minikube start --vm-driver kvm2
اگر قصد دارید تا یک Minikube Cluster با نام دلخواه و با استفاده از مجازی ساز KVM راه اندازی کنید کافیست تا دستور زیر را وارد کنید:
$ minikube start -p cluster1-kvm --vm-driver=kvm2
یک نمونه خروجی از دستور گفته شده را در تصویر پایین مشاهده می کنید:
اگر قصد دارید تا KVM به عنوان Driver پیشفرض باشد کافیست تا دستور زیر را اجرا کنید:
$ minikube config set vm-driver kvm2
۷- برخی دستورهای مدیریتی:
برای Stop کردن Minikube Cluster کافیست تا دستور زیر را اجرا کنید:
$ minikube stop
اگر کلاستر شما دارای نام دلخواه می باشد می توان از این دستور استفاده کرد:
$ minikube stop -p MY_CLUSTER_NAME
نکته اینکه بجای MY_CLUSTER_NAME باید نام کلاستر خود را وارد کنید.
جهت حذف یک کلاستر نیز می توانید از این دستور استفاده کرد:
$ minikube delete
اگر کلاستر شما دارای نام دلخواه می باشد می توان از این دستور استفاده کرد:
$ minikube delete -p MY_CLUSTER_NAME
نکته اینکه بجای MY_CLUSTER_NAME باید نام کلاستر خود را وارد کنید.
اگر از KVM برای راه اندازی کلاستر Minikube استفاده کرده اید. با اجرای دستور زیر می توانید مشاهده کنید که یک ماشین مجازی (VM) با نام کلاستر شما ساخته شده است:
# virsh list
اگر با استفاده از VirtualBox کلاستر Minikube را راه اندازی کرده اید، در پنل VirtualBox یک ماشین مجازی با نام کلاستر Minikube خود را مشاهده خواهید کرد.
برای ssh زدن به درون این ماشین مجازی می توانید از دستور زیر استفاده کنید:
$ minikube ssh
اگر یک نام به کلاستر خود اختصاص داده اید می توانید از این دستور استفاده کنید:
$ minikube ssh -p cluster1-kvm
یک نمونه خروجی از دستور گفته شده را در تصویر پایین مشاهده می کنید:
برای بررسی وضعیت کلاستر Kubernetes می توانید از دستور زیر استفاده کنید:
$ kubectl cluster-info
برای بررسی وضعیت component های Kubernetes می توانید از دستور زیر استفاده کنید:
$ kubectl get cs
برای بررسی Node های کلاستر Kubernetes می توانید از دستور زیر استفاده کنید:
$ kubectl get nodes
یک نمونه خروجی از دستورهای گفته شده را مشاهده می کنید:
۸- فعال کردن Kubernetes Dashboard:
Minikube دارای چند Addons می باشند که یکی از آنها Dashboard کوبرنتیز است که معمولا به صورت پیش فرض فعال نمی باشد. برای لیست کردن Addons های Minikube می توانید از دستور پایین استفاده کنید:
$ minikube addons list
اگر کلاستر Minikube شما دارای نام می باشد می توانید از این دستور استفاده کنید:
$ minikube addons list -p cluster1-kvm
نکته اینکه بجای cluster1-kvm باید نام کلاستر خود را وارد کنید.
برای فعال کردن Dashboard کافیست تا دستور زیر را اجرا کنید:
$ minikube addons enable dashboard
اگر کلاستر Minikube شما دارای نام می باشد می توانید از این دستور استفاده کنید:
$ minikube addons enable dashboard -p cluster1-kvm
نکته اینکه بجای cluster1-kvm باید نام کلاستر خود را وارد کنید. در پایین تصویری از خروجی دستور های گفته شده را مشاهده می کنید:
اکنون برای باز کردن Kubernetes Dashboard در مرورگر پیش فرض خود می توانید دستور زیر را اجرا کنید:
$ minikube dashboard
اگر کلاستر Minikube شما دارای نام می باشد می توانید از این دستور استفاده کنید:
$ minikube dashboard -p cluster1-kvm
نکته اینکه بجای cluster1-kvm باید نام کلاستر خود را وارد کنید. با اجرای دستور زیر نیز می توانید URL مربوط به Kubernetes dashboard را دریافت کنید:
$ minikube dashboard --url
اگر کلاستر Minikube شما دارای نام می باشد می توانید از این دستور استفاده کنید:
$ minikube dashboard --url -p cluster1-kvm
نکته اینکه بجای cluster1-kvm باید نام کلاستر خود را وارد کنید. در پایین یک نمونه تصویر از Kubernetes dashboard را مشاهده می کنید: