Kubernetes یا k8s که همچنین برای سادگی Kube گفته می شود ، یک پلت فرم منبع باز ارکستراسیون کانتینر است که برای مقیاس گذاری خودکار و استقرار کانتینرها استفاده می شود. Minikube ابزاری متفرقه و منبع باز است که به شما امکان می دهد کلاستر Kubernetes تک Node را روی لپتاپ خود یا داخل یک ماشین مجازی (vm) مستقر کنید. در این آموزش، شما می آموزید که چگونه Kubernetes را با Minikube در CentOS 8 VM نصب کنید.
پیش نیازهای MiniKube
CentOS 8 تازه نصب شده (با رابط کاربری گرافیکی) در ماشین مجازی
حداقل 2 گیگابایت RAM و 2 vCPU
دیسک 20 گیگابایتی
دسترسی root
یک اتصال اینترنتی پایدار
مرحله 1) نصب به روزرسانی ها و غیرفعال کردن SELinux
اول و مهمترین نصب آخرین بروزرسانی های موجود خواهد بود.
دستور dnf زیر را اجرا کنید:
dnf update -y
دستورات زیر را برای غیرفعال کردن SELinux اجرا کنید:
setenforce 0
sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
مرحله 2) Docker را نصب کنید و سرویس آن را فعال کنید
ما قصد داریم یک کلاستر محلی Kubernetes با MiniKube را در داخل یک ماشین مجازی مستقر کنیم و نیاز داریم که Docker را نصب کنیم.
برای چگونگی نصب داکر مطلب “نحوه نصب Docker CE در CentOS 8 / RHEL 8” را دنبال کنید.
با استفاده از دستور firewall-cmd قوانین فایروال زیر را تنظیم کنید.
firewall-cmd --zone=public --add-masquerade --permanent
firewall-cmd --reload
بسته “conntrack” را با استفاده از دستور زیر نصب کنید ، conntrack پیشنیاز تنظیم minikube است.
dnf install conntrack -y
توجه: Kubernetes با استفاده از MiniKube می تواند بر روی یک ماشین یا سرور محلی نصب شود اما برای این کار به یک hypervisor مانند KVM یا VirtualBox نیاز دارد.
مرحله 3) Kubectl را به صورت دستی نصب کنید
Kubectl ابزاری با خط فرمان است که با کلاستر Kubernetes از طریق API ارتباط برقرار می کند. با استفاده از kubectl برنامه های خود را مستقر(deploy) می کنیم. به طور پیش فرض، kubectl در مخازن بسته CentOS 8 موجود نیست. بنابراین، ما آن را با استفاده از دستورات زیر نصب میکنیم. ( برای نصب این بسته در ایران نیاز به پروکسی دارید که در اینجا من از سرویس شکن استفاده کرده ام)
curl -LO 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/kubectl
kubectl version --client -o json
خروجی:
مرحله 4) نصب Minikube
پس از نصب kubectl باید minikube را با استفاده از دستورات زیر نصب کنیم
curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
chmod +x minikube
mkdir -p /usr/local/bin/
install minikube /usr/local/bin/
برای شروع Minikube دستور را اجرا کنید:
minikube start --driver=none
همانطور که در خروجی بالا می بینیم، دستور minikube ایمیجهای داکر را برای تنظیم کلاستر Kubernetes بارگیری و شروع کرده است.
برای تأیید وضعیت کلاستر محلی Kubernetes، دستور minikube را اجرا کنید
minikube status
minikube ip
برای متوقف کردن کلاستر Kubernetes دستور زیر را وارد کنید
minikube stop
برای مشاهده اطلاعات کلاستر ، دستور “kubectl cluster-info” را اجرا کنید
kubectl cluster-info
دستور زیر را برای مشاهده node های کلاستر اجرا کنید
kubectl get nodes
مرحله: 6) تست کلاستر Kubernetes
برای آزمایش کلاستر Kubernetes ، سعی کنید یک deployment با استفاده از ایمیج echoserver ایجاد کنید ، این سرویس را روی پورت 8080 منتشر کنید
kubectl create deployment test-minikube --image=k8s.gcr.io/echoserver:1.10
برای دسترسی به test-minikube ، آن را به عنوان سرویس expose کنید. برای این کار دستور زیر را اجرا کنید:
kubectl expose deployment test-minikube --type=NodePort --port=8080
دستور زیر را kubectl اجرا کنید تا اطلاعات pod ایجاد شده در بالا را برای استقرار دریافت کنید:
kubectl get pod
برای دسترسی به سرویس ، با اجرای دستور زیر آدرس اینترنتی آن را دریافت کنید.
minikube service test-minikube --url
http://192.168.122.130:32392
اکنون url بالا را در مرورگر وب خود تایپ کنید:
تصویر بالا به این معنی است که کلاستر Kubernetes ما خوب کار می کند. در مرحله بعدی ، بیایید سعی کنیم داشبورد Kubernetes را مستقر کنیم.
مرحله 7) فعال کردن داشبورد Kubernetes
داشبورد Kubernetes به شما امکان می دهد کلاستر خود را مدیریت کنید. در Minikube ، داشبورد به عنوان یک افزودنی اضافه شده است. برای مشاهده تمام افزودنی های MiniKube دستور زیر را اجرا کنید:
minikube addons list
برای فعال کردن داشبورد Kubernetes ، دستور زیر را اجرا کنید
minikube dashboard --url
این کار url داشبورد را به ما می دهد، آن را کپی و در مرورگر وب سیستم minikube جای گذاری کنید.
ما موفق به نصب Kubernetes با Minikube در CentOS 8 شده ایم.