برنامه نویسی

زیرساخت Kubernetes را با RKE آماده کنید

RKE، موتور Rancher Kubernetes جنبه، CNCF این یک زیرساخت معتبر Kubernetes است. مخصوصا دامدار کوبرنتیس می توان آن را ترجیح داد زیرا می تواند با سیستم های مدیریتی یکپارچه کار کند.

راه اندازی Kubectl

Kubectl یک ابزار cli است که برای اتصال و مدیریت محیط Kubernetes شما لازم است. نصب بسیار ساده است و به شرح زیر است.

curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" -k
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

با این دستورات اکنون می توانید از دستور kubectl استفاده کنید. شما به راحتی می توانید این ابزار را در یک محیط غیر کوبرنتس نصب کنید و kubeconfig را برای اتصال و مدیریت یک محیط کوبرنت از راه دور پیکربندی کنید.

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

kubectl version --client  --output=json
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

خروجی این دستور شامل عباراتی مانند زیر است.

{
  "clientVersion": {
    "major": "1",
    "minor": "27",
    "gitVersion": "v1.27.1",
    "gitCommit": "4c9411232e10168d7b050c49a1b59f6df9d7ea4b",
    "gitTreeState": "clean",
    "buildDate": "2023-04-14T13:21:19Z",
    "goVersion": "go1.20.3",
    "compiler": "gc",
    "platform": "linux/amd64"
  },
  "kustomizeVersion": "v5.0.1"
}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

نصب RKE (نه پیکربندی)

همانطور که در عنوان اشاره کردیم، RKE بسته ای است که محیط “Rancher Kubernetes Engine” را آماده می کند. در مقاله بعدی، یک خوشه kubernetes با استفاده از یک فایل پیکربندی نمونه در این موضوع راه اندازی و اجرا می شود.

برای نصب بسته RKE مربوطه می توان از دستورات زیر استفاده کرد.

curl -fsSL -o rke_linux-amd64 -k https://github.com/rancher/rke/releases/download/v1.4.3/rke_linux-amd64
chmod +x rke_linux-amd64
sudo mv rke_linux-amd64 /usr/local/bin/rke
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

با این دستور خط فرمان rke اکنون در دسترس خواهد بود. برای یادگیری اطلاعات نسخه می توان از دستور زیر استفاده کرد.

rke --version
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

خروجی دستور مربوطه به صورت زیر است.

rke version v1.4.3
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

نصب پکیج منیجر Helm

Helm پر استفاده ترین مدیر بسته برای محیط های Kubernetes است. آپلودها را می توان با Helm Charts انجام داد. برای نصب می توان از دستور زیر به تنهایی استفاده کرد. این دستور یک اسکریپت را دانلود کرده و این اسکریپت را اجرا می کند.

curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 -k
chmod 700 get_helm.sh 
sudo bash get_helm.sh 
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

همچنین اگر می توان اسکریپت را به جای دانلود به صورت دستی انجام داد. اگر دستور بالا انجام شود، دیگر نیازی به انجام نیست.

wget https://get.helm.sh/helm-v3.11.2-linux-amd64.tar.gz --no-check-certificate
tar xvf helm-v3.11.2-linux-amd64.tar.gz 
cd linux-amd64/
sudo mv helm /usr/local/bin/
sudo chmod +x /usr/local/bin/helm 
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

بعد از این دو گزینه اپلیکیشن helm cli نصب می شود. برای کنترل نسخه می توان از دستور زیر استفاده کرد:

helm version
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

خروجی این دستور به صورت زیر است.

version.BuildInfo{Version:"v3.11.3", GitCommit:"323249351482b3bbfc9f5004f65d400aa70f9ae7", GitTreeState:"clean", GoVersion:"go1.20.3"}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

نصب داکر

اگر می خواهید از Docker در زیرساخت Kubernetes استفاده کنید، می توانید به صورت زیر راه اندازی کنید.

curl https://releases.rancher.com/install-docker/20.10.sh -k | sudo bash -
sudo systemctl enable --now docker
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

دستور زیر نیز می تواند برای کنترل نسخه پس از نصب استفاده شود:

sudo docker version --format '{{.Server.Version}}'
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

خروجی آن به شرح زیر است:

20.10.23
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

به ویژه، گره های RKE باید کاربران RKE باشند تا بتوانند با یکدیگر صحبت کنند. برای ایجاد این کاربر می توان از دستوراتی مانند زیر استفاده کرد.

sudo useradd -m rke
sudo passwd rke
sudo usermod -s /bin/bash rke
sudo echo "rke    ALL=(ALL:ALL) ALL" > /etc/sudoers.d/rke
sudo usermod -aG docker rke
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

با این دستورات یوزر و رمز عبور rke مشخص می شود و هنگام ورود محیط bash باز می شود. علاوه بر این، ساخت کاربر rke با اقتدار sudo می تواند در موقعیت های مختلف مفید باشد.

اول از همه، دستور زیر را می توان برای باز کردن گزینه های مختلف modprobe استفاده کرد.

for module in br_netfilter ip6_udp_tunnel ip_set ip_set_hash_ip ip_set_hash_net iptable_filter iptable_nat iptable_mangle iptable_raw nf_conntrack_netlink nf_conntrack nf_conntrack_ipv4   nf_defrag_ipv4 nf_nat nf_nat_ipv4 nf_nat_masquerade_ipv4 nfnetlink udp_tunnel veth vxlan x_tables xt_addrtype xt_conntrack xt_comment xt_mark xt_multiport xt_nat xt_recent xt_set  xt_statistic xt_tcpudp;      do        if ! lsmod | grep -q $module; then          echo "module $module is not present";          sudo modprobe $module;        fi; done
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

توصیه می شود پس از انجام این تنظیمات، SWAP را خاموش کنید. برای این کار، توصیه می شود با قرار دادن هش “#” در ابتدا، خط را با swap در فایل /etc/fstab ببندید.

#/swap.img      none    swap    sw      0       0
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

پس از این مرحله، خاموش کردن swap با دستور زیر کارآمد خواهد بود.

sudo swapoff -a
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

جدا از این موارد، درست است که 3 خط زیر را در فایل /etc/sysctl.d/99-kubernetes.conf مربوط به تنظیمات شبکه ذخیره کنید.

net.bridge.bridge-nf-call-iptables  = 1
net.ipv4.ip_forward                 = 1
net.bridge.bridge-nf-call-ip6tables = 1
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

پس از ایجاد این فایل، دستور زیر اجرا می شود.

sudo sysctl --system
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

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

نوشته های مشابه

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

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

دکمه بازگشت به بالا