آذرسیس

نحوه نصب Kubernetes روی اوبونتو 22.04

نصب Kubernetes روی اوبونتو از نوآورانه ترین فناوری هایی است که جهت استقرار، مقیاس گذاری و مدیریت برنامه ها بدون در نظر گرفتن پلتفرم زیربنایی استفاده می شود. Kubernetes یک برنامه متن باز و مدیریتی می باشد که توسط گوگل توسعه داده شده است و در حال حاضر زیر نظر CNCF به کارایی خود ادامه می دهد. تیم ما در این محتوای آموزشی تصمیم دارد دستورالعمل های گام به گام نحوه نصب Kubernetes در اوبونتو را در اختیار شما قرار دهد و تمام مراحل را به صورت ساده سازی شده و کاربردی ارائه دهد. برای اطلاعات بیشتر می توانید ما را همراهی نمایید.

نحوه نصب Kubernetes روی اوبونتو

پیشنیازهای نصب Kubernetes در Ubuntu

  1. داشتن حداقل دو سرور برای اجرا اوبونتو 22.04
  2. دسترسی کامل به Command-line
  3. داشتن یک حساب کاربری با امتیاز Sudo

مراحل نصب Kubernetes روی اوبونتو

این راهنما تنها با دنبال کردن چند مرحله زیر به شما می آموزد که چگونه می توانید نصب Kubernetes روی اوبونتو را انجام دهید، اما به یاد داشته باشید که بدون رعایت پیشنیازهای ذکر شده ممکن است در مراحل نصب Kubernetes با مشکل رو به رو شوید:

مرحله اول: راه اندازی Docker

برای نصب Kubernetes در مراحل نصب Kubernetes روی اوبونتو، باید موتور کانتینری سازگار با CRI مانند Docker ،Containerd یا CRI-O داشته باشیم که در این راهنما از Docker کمک میگیریم. ابتدا لیست داکرها را بروز رسانی کنید:

sudo apt update

دستور زیر را برای نصب Docker وارد کنید:

sudo apt install docker.io -y

گام های نصب Kubernetes روی اوبونتو 22.04

داکر با وارد کردن خط زیر فعال می شود:

sudo systemctl enable docker

خط بعدی می تواند نحوه کارکرد Docker را برای شما بررسی کند:

sudo systemctl status docker

گام های نصب Kubernetes روی اوبونتو 22.04

اگر مشاهده کردید که Docker در حال حاضر کار نمی کند، دستور زیر را بکار ببرید:

sudo systemctl start docker

مرحله دوم: نصب Kubernetes

اکنون که به نصب Kubernetes در گام های نصب Kubernetes روی اوبونتو، رسیدیم برای افزودن مخزن Kubernetes به لیست منابع APT و نصب ابزارهای مربوطه مراحل زیر را دنبال کنید تا Kubernetes بر روی تمام Nodes ها نصب شود:

  • امضا کلید Kubernetes

برای اطمینان از اینکه نرم افزار معتبری از Kubernetes را دانلود می کنید، باید Signing Key را دانلود کنید. فراموش نکنید که در هر Node باید از دستور Curl جهت دانلود کلید و ذخیره کردن آن کمک بگیرید که در این آموزش به صورت پیش فرض /etc/apt/keyrings/ در نظر گرفته شده است:

curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.30/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
  • اضافه کردن مخازن نرم افزار

Kubernetes به صورت پیش فرض در مخازن اوبونتو وجود ندارد، بنابراین باید دستور زیر را وارد کرد:

echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.30/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list

دستور بعدی را برای اطمینان حاصل کردن از بروز رسانی شدن تمام بسته ها اجرا کنید:

sudo apt update
  • نصب ابزار Kubernetes

هر Deployment در نصب Kubernetes روی اوبونتو، از سه قسمت تشکیل شده است که در آن Kubeadm برای ردیابی سریع راه‌اندازی، Kubelet برای راه اندازی کانتینرها و Kubectl جهت تعامل با Nodes در نظر گرفته شده است. برای نصب همه این موارد دستورات ذکر شده را در هر Node اجرا کنید:

sudo apt install kubeadm kubelet kubectl

گام های نصب Kubernetes روی اوبونتو 22.04

جهت پیشگیری کامل از نصب، ارتقا یا حذف خودکار بسته‌ های مورد نظر در نصب Kubernetes روی اوبونتو، را با دستور زیر علامت گذاری کنید:

sudo apt-mark hold kubeadm kubelet kubectl

گام های نصب Kubernetes روی اوبونتو 22.04

خروجی دستور بالا اطلاعات Basic Deployment را به شما نشان خواهد داد.

مرحله سوم: Deploy کردن Kubernetes

برای استقرار و یا به اصطلاح Deploy کردن باید با دنبال نمودن مراحل زیر ابتدا تنظیمات را وارد کرده و Cluster را مقدار دهی کنید تا بتوانید به Worker Node متصل شوید:

  • مستقر کردن Kubernetes

از دستور Swapoff برای غیر فعال کردن تمام فضاهای Swap استفاده کنید:

sudo swapoff -a

در فایل /etc/fstab با دستور SED تنظیمات لازم را انجام دهید:

sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

برای بارگیری ماژول های کانتینر از باز کردن یک فایل پیکربندی Containerd در ویرایشگر متنی مانند Nano استفاده کنید:

sudo nano /etc/modules-load.d/containerd.conf

در ادامه دستورات زیر را به فایل اضافه کنید:

overlay
br_netfilter

گام های نصب Kubernetes روی اوبونتو 22.04

فایل نهایی را ذخیره کنید و برای اضافه کردن ماژول ها از دستور Modprobe استفاده نمایید:

sudo modprobe overlay
sudo modprobe br_netfilter

با دستور زیر فایلی به نام Kubernetes.conf باز کنید تا پیکربندی شبکه Kubernetes را انجام دهید:

net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1

گام های نصب Kubernetes روی اوبونتو 22.04

پیکربندی را مجدد بارگیری کنید:

sudo sysctl --system

گام های نصب Kubernetes روی اوبونتو 22.04

  • تعیین نام هاست مخصوص برای هر Server Node

در ادامه مراحل نصب Kubernetes روی اوبونتو یک نام هاست برای Node اصلی تعیین کنید:

sudo hostnamectl set-hostname master-node

Hostname را برای اولین Worker Node تعیین کنید:

sudo hostnamectl set-hostname worker01

اکنون می توانید در صورت وجود Worker Node های اضافه از آن ها برای داشتن Hostname های منحصر بفرد استفاده کنید. همچنین قابلیت ویرایش کردن فایل میزبان در هر Node به کمک آدرس های IP را خواهید داشت:

گام های نصب Kubernetes روی اوبونتو 22.04

در نهایت برنامه را مجدد راه اندازی کنید، زیرا این کار موجب ذخیره نهایی Hostname خواهد شد. سپس به مراحل بعدی در نصب Kubernetes روی اوبونتو بروید:

  • راه اندازی Kubernetes در Master Node

اکنون که نام هاست را تنظیم کرده اید باید در قدم بعدی به Node بروید و مراحل اولیه سازی را در Kubernetes دنبال نمایید. برای این کار فایل Kubelet را در یک ویرایشگر متنی باز کنید:

sudo nano /etc/default/kubelet

دستور زیر را به فایل اضافه کنید و ادامه دهید:

KUBELET_EXTRA_ARGS="--cgroup-driver=cgroupfs"

تغییرات را ذخیره کنید و برای انجام دادن پیکربندی، Kubelet را دوباره راه اندازی کنید:

sudo systemctl daemon- reload & sudo systemctl restart kubelet

اکنون فایل پیکربندی Daemon Docker را باز کنید و دستور بعدی را به آن اضافه نمایید:

sudo nano /etc/docker/daemon.json

Configuration Block را اضافه کنید:

{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}

گام های نصب Kubernetes روی اوبونتو 22.04

برای ادامه مراحل نصب Kubernetes روی اوبونتو، مجدد پیکربندی را بارگیری کرده و Docker را مجدد راه اندازی کنید:

sudo systemctl daemon-reload & sudo systemctl restart docker

حال فایل پیکربندی در Kubeadm را باز کنید و از دستور زیر استفاده کنید:

sudo nano /etc/systemd/system/kubelet.service.d/10-kubeadm.conf

دستور زیر را اضافه کرده و ادامه دهید:

Environment="KUBELET_EXTRA_ARGS=--fail-swap-on=false"

گام های نصب Kubernetes روی اوبونتو 22.04

فایل را ذخیره کنید و Kubelet را دوباره راه اندازی کنید:

sudo systemctl daemon-reload &  sudo systemctl restart kubelet

اکنون Cluster را با Typing مقدار دهی اولیه و یا به اصطلاح Initialize کنید:

sudo kubeadm init --control-plane-endpoint=master-node --upload-certs

دستوری که به عنوان یک فرمان Kubeadm Join در خروجی نمایش داده می شود را یادداشت کرده و از آن برای اتصال Worker Nodes به The Cluster استفاده کنید.

گام های نصب Kubernetes روی اوبونتو 22.04

یک دایرکتوری برای Kubernetes Cluster ایجاد کنید:

mkdir -p $HOME/.kube

فایل پیکربندی شده را در دایرکتوری کپی کنید:

sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

در ادامه نصب Kubernetes روی اوبونتو، دستور Chown را جهت تغییر مالکیت دایرکتوری به کاربر و Node فعلی اجرا کنید:

sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  • مستقر کردن شبکه Pod در Cluster

برای ایجاد هماهنگی بین Nodes در Cluster، باید بخش Flannel را به Node اصلی هدایت کنید که در نتیجه لازم دارید تا از Kubectl برای نصب Flannel کمک بگیرید:

kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml

Node را با وارد کردن دستور زیر پاک کنید و به نصب Kubernetes روی اوبونتو ادامه دهید:

kubectl taint nodes --all node-role.kubernetes.io/control-plane-
  • ملحق کردن Worker Node به Cluster

ابتدا باید با دستور بعدی AppArmor را متوقف و غیر فعال کنید:

sudo systemctl stop apparmor && sudo systemctl disable apparmor

مجدد کانتینر را به راه بیندازید:

sudo systemctl restart containerd.service

دستور Kubeadm join را از این مرحله بر روی Worker Nodes اعمال کنید:

sudo kubeadm join [master-node-ip]:6443 --token [token] --discovery-token-ca-cert-hash sha256:[hash]

گام های نصب Kubernetes روی اوبونتو 22.04

مقدارهای [master-node-ip]، [token] و [hash] را با مقادیر خروجی فرمان در Kubeadm join جایگزین کنید:

kubectl get nodes

گام های نصب Kubernetes روی اوبونتو 22.04

سخن آخر

در این عنوان به صورت تخصصی نصب Kubernetes روی اوبونتو را بررسی کردیم و توضیح دادیم که چگونه می توانید این نصب را به ساده ترین حالت انجام دهید. بنابراین اکنون پس از طی این مراحل باید نصب Kubernetes روی اوبونتو به درستی انجام پذیرد. از همراهی شما ممنونیم و امیدواریم تجربه خوبی از نصب Kubernetes روی اوبونتو داشته باشید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *