مفروضات این مستند به شرح زیر است.
|
1 2 3 |
hostname : knode1 [mgt] ens33: 192.168.228.101/24 [10G] ens34: 172.26.32.101/24 |
|
1 2 3 |
hostname : knode2 [mgt] ens33: 192.168.228.102/24 [10G] ens34: 172.26.32.102/24 |
|
1 2 3 |
hostname : knode3 [mgt] ens33: 192.168.228.103/24 [10G] ens34: 172.26.32.103/24 |
فرآیند نصب طوری انجام خواهد شد که شبکهی ens34 برای ارتباط بین نودها استفاده شود.
برای نصب Kubernetes باید ۲ مرحلهی زیر انجام شود.
- انجام تنظیمات بر روی سرور master
- انجام تظنیمات بر روی سرور worker
در ادامهی مستند به هر دو مورد اشاره خواهد شد.
دستورات روی سرور master
روی سرور مستر پروژهی زیر را بگیرید
|
1 |
# git clone https://gitlab.homayouni.info/homayouni/rke2-installer -b main |
وارد مسیر پروژه شده و دستنوشتهی setup.sh را اجرا کنید سپس منتظر بمانید تا فرآیند نصب تمام شود.
|
1 |
# bash setup.sh |
حال پروندهی config.yaml را با یک ویرایشگر باز نمایید. (در صورتی که وجود ندارد آن را ایجاد کنید)
|
1 2 |
# mkdir -p /etc/rancher/rke2/ # vim /etc/rancher/rke2/config.yaml |
محتویات زیر را برای پروندهی بالا در نظر بگیرید.
|
1 |
node-ip: 172.26.32.101 |
پس از اجرای اسکریپت setup.sh دستور زیر را اجرا کنید. (حتما سرویس را اجرا کنید)
|
1 |
# systemctl start rke2-server |
نزدیک به ۵ دقیقه صبر کنید تا فرآیند استارت سرویس پایان یابد.
حال پروندهی node-token حاوی Token بوده که برای اتصال Worker به Master استفاده میشود. برای دسترسی به Token کافیست آن cat نمایید.
|
1 |
# cat /var/lib/rancher/rke2/server/node-token |
محتوای پروندهی بالا را کپی کرده تا در قسمت بعد (تنظیمات مربوط به Worker) استفاده نمایید.
برای مشاهدهی وضعیت نودها به صورت زیر عمل کنید.
|
1 |
# kubectl get nodes -o wide |
در صورتی که مراحل به درستی طی شده باشد با خروجیای مشابه زیر روبهرو خواهید شد.

در مرحلهی بعد نحوهی اتصال سرورهای worker گفته خواهد شد.
دستورات روی سرورهای worker
وارد سرور worker شوید و پروژهی زیر را دریافت نمایید.
|
1 |
# git clone https://gitlab.homayouni.info/homayouni/rke2 -b main |
وارد مسیر پروژه شده و دستنوشتهی setup.sh را اجرا کنید سپس منتظر بمانید تا فرآیند نصب تمام شود.
سپس مسیر زیر را ایجاد نمایید.
|
1 |
# mkdir -p /etc/rancher/rke2/ |
سپس فایل config.yaml را به صورت زیر ایجاد نمایید.
|
1 |
# vim /etc/rancher/rke2/config.yaml |
محتویات زیر را برای پروندهی بالا در نظر بگیرید.
|
1 2 3 |
server: https://172.26.32.101:9345 token: <TOKEN-READ-FROM-MASTER> node-ip: 172.26.32.102 |
مقدار TOKEN را از مرحلهی قبل دریافت نمایید.
در نهایت به صورت زیر سرویس را اجرا کرده تا فرآیند اتصال Worker به Master انجام شود.
|
1 |
# systemctl enable rke2-agent --now |
مراحل بالا را در تمامی ماشینهای worker انجام دهید.
مشاهدهی نتایج
در صورتی که مراحل قسمت Worker به درستی انجام شود ، میتوانید تمامی سرورها را در خروجی دستور kubectl get nodes -o wide مشاهده نمایید.

تست شده بر روی Linux Ubuntu 22.04