برای راهاندازی یک کلاستر Kubernetes روی سرور HPE DL360 G10 که ESXi 8U3 روی آن نصب شده، میتوانیم از ماشینهای مجازی (VMs) برای ایجاد نودهای کلاستر استفاده کنیم. مراحل کلی به این صورت است:
مرحله ۱: تعیین معماری کلاستر
از آنجایی که فقط یک سرور فیزیکی دارید، باید تمامی نودهای Kubernetes را بهصورت مجازی روی ESXi اجرا کنید. یک کلاستر استاندارد شامل:
- ۱ کنترلپلین (Master Node)
- ۲ نود Worker
- یک ماشین برای ذخیرهسازی (اختیاری، مثلاً برای Ceph یا NFS)
مرحله ۲: ایجاد ماشینهای مجازی در ESXi
۱. وارد ESXi شوید و یک VM جدید ایجاد کنید:
- نوع سیستمعامل: Ubuntu 22.04 LTS
- پردازنده: ۲vCPU برای Master، ۴vCPU برای Worker
- رم: ۴GB برای Master، ۸GB برای Worker
- دیسک: ۲۰GB برای Master، ۴۰GB برای Worker
- شبکه: Bridge Mode (تا به شبکه دسترسی داشته باشند)
۲. سه VM مشابه برای نودهای Worker ایجاد کنید.
مرحله ۳: نصب سیستمعامل و پیکربندی اولیه
۱. روی هر VM، Ubuntu 22.04 را نصب کنید. ۲. SSH و sudo را فعال کنید. ۳. نامها را تنظیم کنید:
sudo hostnamectl set-hostname master-node
sudo hostnamectl set-hostname worker-node1
sudo hostnamectl set-hostname worker-node2
۴. /etc/hosts
را در تمام سرورها ویرایش کنید تا نودها همدیگر را بشناسند:
192.168.1.10 master-node
192.168.1.11 worker-node1
192.168.1.12 worker-node2
مرحله ۴: نصب Docker و Kubernetes
روی همه نودها دستورات زیر را اجرا کنید:
۱. آپدیت سیستم:
sudo apt update && sudo apt upgrade -y
۲. نصب Docker:
sudo apt install docker.io -y
۳. فعالسازی سرویس Docker:
sudo systemctl enable docker && sudo systemctl start docker
۴. نصب Kubernetes:
sudo apt install -y kubelet kubeadm kubectl
sudo systemctl enable kubelet
مرحله ۵: راهاندازی کنترلپلین (Master Node)
۱. روی Master اجرا کنید:
sudo kubeadm init --pod-network-cidr=192.168.1.0/16
۲. خروجی شامل دستوری خواهد بود که نودهای Worker باید برای اتصال اجرا کنند (آن را یادداشت کنید). ۳. پیکربندی Kubeconfig:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
۴. نصب CNI (برای مدیریت شبکه):
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
مرحله ۶: اضافه کردن Worker Nodes
۱. روی هر Worker، دستوری که از مرحله قبل دریافت کردید اجرا کنید، مثلاً:
sudo kubeadm join 192.168.1.10:6443 --token xyz --discovery-token-ca-cert-hash sha256:abc
۲. بررسی وضعیت نودها در Master:
kubectl get nodes
مرحله ۷: تست نهایی
۱. یک پاد تستی اجرا کنید:
kubectl run nginx --image=nginx --port=80
۲. بررسی اجرای پاد:
kubectl get pods -o wide
کلاستر Kubernetes شما آماده است! 🚀