ابزارها و روش های گوناگونی برای راه اندازی Kubernetes cluster وجود دارد که یکی از آنها Kind می باشد. Kind ابزاری برای اجرای کلاستر کوبرنتیز بصورت local می باشد که از Docker container بعنوان node ها استفاده می کند. هدف اصلی Kind این است که کاربران قادر خواهند بود تا یک Kubernetes Cluster را بر روی ماشین محلی خود (کامپیوتر، لپ تاپ) راه اندازی کنند. همچنین توسعه دهندگان از آن در محیط های توسعه و Continuous Integration (CI) نیز استفاده می کنند. در ادامه قصد داریم تا Kind را بر روی لینوکس نصب کنیم و با استفاده از آن یک کلاستر کوبرنتیز را راه اندازی کنیم.
پیش نیازها
نصب Kind
پس نصب پیش نیازها، اکنون برای نصب Kind کافیست تا به صفحه ی releases آن در Github مراجه کنید و نسخه مورد نظر خود را دانلود کنید. به عنوان مثال قصد داریم تا آخرین نسخه ی Kind تا به این لحظه را برای لینوکس با معماری x86-64 دانلود کنیم:
$ curl -Lo ./kind https://github.com/kubernetes-sigs/kind/releases/download/v0.22.0/kind-linux-amd64
پس از دانلود مجوز اجرایی به فایل بدهید:
$ chmod +x ./kind
اکنون با استفاده از کاربر root فایل را به مسیر مشخص شده منتقل کنید:
# mv ./kind /usr/local/bin
راه اندازی Kubernetes cluster
جهت راه اندازی کوبرنتیز با Kind مافیست تا دستور زیر را اجرا کنید:
# kind create cluster
پس از اجرای دستور گفته شده، بسته های مورد نیاز دانلود می شود و سپس کلاستر کوبرنتیز با نام kind راه اندازی می شود. یک نمونه خروجی از دستور گفته شده را در تصویر پایین مشاهده می کنید:
برای راه اندازی کلاستر با نام دلخواه کافیست تا از دستور زیر استفاده کنید:
# kind create cluster --image=[image]
ساخت کلاستر با worker node
بصورت پیش فرض kind کلاستر single node که به عنوان control plan شناخته می شود، راه اندازی می کند. اگر قصد دارید تا یک multi-node cluster داشته باشید یا سه node بعنوان high availability (HA) داشته باشید، کافیست تا مراحل زیر را دنبال کنید:
۱. ابتدا یک فایل با نام دلخواه ایجاد کنید. بعنوان مثال:
# vi workerNodes.yaml
۲. اکنون درون این فایل باید پیکربندی کلاستر را قرار داد و در قسمت node باید role هر کدام از node ها را مشخص کرد. به عنوان مثال در پیکربندی زیر یک کلاستر با دو node خواهیم داشت که یکی از آنها controle plane و دیگری worker خواهد بود:
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
– role: control-plane
– role: worker
۳. اکنون هنگام راه اندازی کلاستر کافیست تا از config– استفاده کرد و فایل تنظیمات را به آن معرفی کرد. به عنوان نمونه:
# kind create cluster --name=my-k8s-cluster --config=workerNodes.yaml
لیست کردن کلاستر ها با kind
جهت لیست کردن کلاسترهایی که با kind راه اندازی شده اند کافیست تا دستور زیر را اجرا کنید:
# kind get clusters
حذف کردن کلاستر با kind
برای حذف کلاسترهایی که با kind راه اندازی شده اند می توان از یکی از دستورهای زیر استفاده کرد:
# kind delete cluster
# kind delete cluster --name [cluster-name]