بلاگ/ابزار Kubernetes و مدیریت کانتینرها در لینوکس اوبونتو
به‌روز شده

ابزار Kubernetes و مدیریت کانتینرها در لینوکس اوبونتو

ابزار Kubernetes یک پلتفرم متن‌باز برای مدیریت تکنولوژی‌های کانتینر مانند Docker محسوب می‌شود. Docker امکان ساخت کانتینر برای ایمیج‌های از پیش تنظیم شده و اپلیکیشن‌ها را فراهم می‌کند. Kubernetes در مرحله‌ای فراتر، به شما اجازه می‌دهد که بار را بین کانتینرها تنظیم کنید و چند کانتینر را بین چند سیستم...

1399/12/112537 بازدید
ابزار Kubernetes و مدیریت کانتینرها در لینوکس اوبونتو
ابزار Kubernetes یک پلتفرم متن‌باز برای مدیریت تکنولوژی‌های کانتینر مانند Docker محسوب می‌شود. Docker امکان ساخت کانتینر برای ایمیج‌های از پیش تنظیم شده و اپلیکیشن‌ها را فراهم می‌کند. Kubernetes در مرحله‌ای فراتر، به شما اجازه می‌دهد که بار را بین کانتینرها تنظیم کنید و چند کانتینر را بین چند سیستم اجرا نمایید. در این آموزش، نحوه نصب ابزار Kubernetes در اوبونتو 18.04 را بررسی خواهیم کرد. با ما همراه باشید.

پیش‌نیازها

  • دو یا چند سرور لینوکس که در آنها اوبونتو 04 نصب شده باشد.
  • دسترسی به حساب کاربر در هر دو سیستم با مجوّز sudo یا روت.
  • داشتن ابزار مدیریت بسته apt به صورت پیش‌فرض
  • خط فرمان یا پنجره ترمینال (کلیدهای Ctrl-Alt-T)

مراحل نصب ابزار Kubernetes در اوبونتو

تنظیم Docker

گام ۱) نصب Docker

Kubernetes نیازمند یک نسخه نصب‌شده از Docker است. اگر در حال حاضر، یک نصب از Docker در سیستم خود دارید، می‌توانید از این مرحله گذر کنید. اگر ابزار Docker را نصب  نکرده‌اید، می‌توانید به ترتیب زیر این کار را انجام دهید. ۱) بروزرسانی لیست بسته‌ها با استفاده از فرمان زیر
php
sudo apt-get update
بروزرسانی لیست بسته‌ها برای آماده‌سازی نصب ابزار Kubernetes
بروزرسانی لیست بسته‌ها
۲) نصب Docker با استفاده از فرمان زیر صورت می‌گیرد.
php
sudo apt-get install docker.io
۳) این کار را در هر سروری که به عنوان یک نقطه یا node عمل می‌کند، انجام دهید. ۴) با کمک فرمان زیر، نصب و نسخه Docker را بررسی کنید.
php
docker ––version

گام ۲) اجرا و فعال‌سازی Docker

۱) با وارد کردن این فرمان، Docker را به گونه‌ای تنظیم کنید که پس از هر بار راه‌اندازی سیستم، اجرا شود.
php
sudo systemctl enable docker
۲) از اجرا شدن Docker مطمئن شوید.
php
sudo systemctl status docker
در صورتی که Docker اجرا نبود، می‌توانید از فرمان زیر کمک بگیرید.
php
sudo systemctl start docker
۴) این کار را در سایر نقاط نیز تکرار کنید.

نصب ابزار Kubernetes

گام ۳) اضافه کردن کلید امضای Kubernetes

به دلیل دریافت ابزار Kubernetes از یک منبع غیر استاندارد، ابتدا باید مطمئن شوید که نرم‌افزار معتبر است. چنین کاری با استفاده از اضافه‌کردن یک «کلید امضا» صورت می‌گیرد. ۱) فرمان زیر را به منظور اضافه‌کردن کلید امضا وارد کنید.
php
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add
در صورت که با پیغام خطای مبنی بر عدم نصب curl روبرو شدید، آن را با فرمان زیر نصب کنید.
php
sudo apt-get install curl
۲) سپس فرمان قبل را برای نصب کلیدهای امضا در هر کدام از نقاط تکرار کنید.

گام ۴) اضافه‌کردن منابع نرم‌افزار

Kubernetes در منابع پیش‌فرض وجود ندارد و باید آن را به روش زیر اضافه کرد.
php
sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"
این کار را در سایر نقاط سرور نیز تکرار کنید.

گام ۵) ابزار‌های نصب Kubernetes

Kubeadm یا Kubernetes Admin ابزاری است که به ساخت یک «کلاستر» کمک می‌کند.  این ابزار با کمک بهترین روش‌هایی که توسط انجمن‌های کاربری ارائه می‌شود، سرعت تنظیمات را به میزان قابل‌توجهی افزایش می‌دهد.  Kubelet یک بسته کاری است که در هر کدام از نقاط اجرا می‌شود و کانتینر‌ها را راه‌اندازی می‌کند. این همان ابزاری است که به شما دسترسی خط فرمان به کلاسترها را می‌دهد. ۱) نصب ابزارهای Kubernetes با استفاده از فرمان زیر:
php
sudo apt-get install kubeadm kubelet kubectlsudo apt-mark hold kubeadm kubelet kubectl
اجازه دهید تا فرآیند تکمیل شود. ۲) تأیید نصب
php
kubeadm version
۳) این کار را برای نقاط دیگر نیز تکرار کنید. نکته: حتماً دقت کنید که در هر کدام از سیستم‌ها، نسخه‌های یکسانی از بسته نصب کرده باشید. استفاده از نسخه‌های متفاوت می‌تواند باعث ناپایداری سرور شود. همچنین این موضوع باعث می‌شود که apt نتواند به صورت اتوماتیک ابزار Kubernetes را بروزرسانی کند.

به‌کارگیری Kubernetes

گام ۶) آغاز به‌کارگیری Kubernetes

کار را با غیرفعال‌کردن حافظه swap در هر کدام از سرورها شروع می‌کنیم.
php
sudo swapoff –a

گام ۷) اختصاص عنوان هاست یکتا برای هر کدام از نقاط سرور

در اینجا باید مشخص کنید که کدام سرور به عنوان نقطه مستر یا اصلی است. سپس فرمان زیر را وارد کنید.
php
sudo hostnamectl set-hostname master-node
سپس با کمک فرمان زیر، نقطه سرور «ورکر» را تنظیم کنید.
php
sudo hostnamectl set-hostname worker01
اگر نقاط ورکر بیشتری داشتید، این فرآیند را برای اختصاص یک نام هاست منحصر به فرد برای هر کدام از آنها انجام دهید.

گام ۸) آماده‌سازی ابزار Kubernetes در نقطه مستر

به نقطه سرور مستر بروید و فرمان زیر را وارد کنید.
php
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
وقتی اجرای این فرمان به پایان می‌رسد، یک پیغام عضویت kubeadm برایتان نمایش داده می‌شود. کل این پیغام را در جایی یادداشت کنید؛ چرا که برای الحاق نقاط ورکر به کلاستر استفاده خواهد شد. حالا با فرمان‌های زیر، یک دایرکتوری برای کلاستر بسازید.
php
kubernetes-master:~$ mkdir -p $HOME/.kubekubernetes-master:~$ sudo cp -I /etc/kubernetes/admin.conf $HOME/.kube/configkubernetes-master:~$ sudo chown $(id -u):$(id -g) $HOME/.kube/config

گام ۹) استفاده از شبکه Pod برای کلاستر

شبکه Pod روشی برای مجوّز به ارتباط بین نقاط مختلف در کلاستر است. در اینجا از شبکه مجازی flannel برای این منظور استفاده می‌کنیم. بر این اساس، فرمان زیر را وارد کنید.
php
sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
اندکی صبر کنید تا فرآیند تکمیل شود. با کمک فرمان زیر، از اجرا و داشتن ارتباط تمام اجزا مطمئن شوید.
php
kubectl get pods --all-namespaces

گام ۱۰) اتصال نقطه ورکر به کلاستر

همان‌طور که در گام هفتم گفته شد، می‌توانید فرمان عضویت kubeadm را برای هر کدام از نقاط ورکر برای اتصال آن به کلاستر استفاده کنید. بر این اساس، به سیستم worker01 سوئیچ کنید و فرمانی را که در گام ۷ یادداشت کرده بودید، یادداشت کنید.
php
kubeadm join --discovery-token abcdef.1234567890abcdef --discovery-token-ca-cert-hash sha256:1234..cdef 1.2.3.4:6443
حتماً کدهای مشکل از حرف و عدد را با نمونه‌هایی که از سرور مستر دریافت کرده‌اید، جایگزین کنید. این کار را باید برای سایر نقاط ورکر کلاستر نیز انجام دهید. پس از چند دقیقه، امکان بررسی وضعیت نقاط برایتان وجود خواهد داشت. برای این منظور به سرور مستر بروید و فرمان زیر را تایپ کنید.
php
kubectl get nodes
در نتیجه، سیستم نقاط ورکری را که به کلاستر ملحق کرده‌اید، نشان خواهد داد.

جمع‌بندی

بعد از انجام دقیق مراحلی که در بالا گفته شد، می‌توانید بگویید که ابزار Kubernetes را در اوبونتو نصب کرده‌اید. در همین حال، باید گفت که تازه‌کاران و کسانی که هنوز هیچ تجربه در کار با کانتینرهای چندگانه ندارند، می‌توانند در ابتدا ابزار Minikube را نیز امتحان کنند. Minikube سیستمی برای اجرای یک کلاستر تک‌نقطه‌ای به صورت لوکال است و برای یادگیری مفاهیم اساسی قبل از استفاده از Kubernetes بسیار مفید خواهد بود.