آموزش نصب Kubernetes در Ubuntu 20



کوبرنتس Kubernetes چیست؟

Kubernetes (یا K8s) یک سیستم orchestration کانتینر منبع باز برای خودکار سازی کاربردهای رایانه ای، مقیاس گذاری و مدیریت آن است. Kubernetes کانتینرهای Docker را بر روی میزبانهای متعددی مدیریت و اجرا می کند. این پروژه توسط گوگل آغاز شده و توسط بسیاری از شرکت ها از جمله مایکروسافت، RedHat ، IBM پشتیبانی می شود. دو نسخه اصلی از Kubernetes وجود دارد، یک محیط تولید و یک محیط یادگیری. دستورالعمل های زیر برای نصب یک چارچوب یادگیری ساده Kubernetes است. ابزارهای مورد استفاده برای استقرار این نوع محیط ها Minikube و Kubectl است. در سایر مقالات مشابه میتونین آموزش نصب Kubernetes در ویندوز 2019 و آموزش نصب Helm مشاهده کنین.

 

Minikube چیست؟

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

 

Kubectl چیست؟

Kubectl ابزاری خط فرمان برای Kubernetes است که به ما امکان می دهد دستوراتی را روی خوشه Kubernetes خود اجرا کنیم. همچنین می توانیم از kubectl برای استقرار برنامه ها، بررسی و مدیریت منابع خوشه و مشاهده گزارش ها استفاده کنیم.

 

نصب Kubectl در اوبونتو 20

برای نصب رسمی kubectl روی سیستم لینوکس  دو گزینه وجود دارد. اولین گزینه نصب باینری kubectl با استفاده از دستورات curl در هر نسخه از لینوکس است. گزینه دوم از مدیر بسته داخلی apt در اوبونتو استفاده می کند. به عنوان بهترین روش، گزینه دوم توصیه می شود. مثل همیشه، همه بسته های خود را به روز می کنیم و پروتکل  https را نصب می کنیم.

apt-get update && apt-get install -y apt-transport-https

 

نصب GPG Repository Security Key

ابتدا کلید امنیتی gpg را برای مخزن بارگیری کنید.

curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
OK

اکنون ، کلید را اضافه کرده و آن را اعمال می کنیم.

echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | tee -a /etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main

در آخر ، مخزن مدیر بسته را دوباره بروز کنید.

apt-get update

 

نصب Kubectl

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

apt-get install -y kubectl

در مرحله بعدی، بررسی خواهیم کرد که با استفاده از دستور نسخه نصب شده است.

kubectl version --client
Client Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.1", GitCommit:"206bcadf021e76c27513500ca24182692aabd17e", GitTreeState:"clean", BuildDate:"2020-09-09T11:26:42Z", GoVersion:"go1.15", Compiler:"gc", Platform:"linux/amd64"}

 

پیکربندی اضافی Kubectl

نصب Shell Autocompletion

Kubectl از ورودی Autocompletion در Bash و Zsh پشتیبانی می کند (Autocompletion برای تکمیل یک دستور تائید شده جزئی استفاده می شود). این ویژگی هنگام تایپ دستورات طولانی در زمان ما صرفه جویی می کند. برای اینکه بتوانیم اسکریپت تکمیل خودکار kubectl را اضافه کنیم ، باید بسته bash-end را نصب کنیم. با این دستور آن را نصب کنید.

apt-get install -y bash-completion
 Reading package lists... Done
 Building dependency tree
 Reading state information... Done
 bash-completion is already the newest version (1:2.10-1ubuntu1).
 bash-completion set to manually installed.
 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

برای کار کردن دستورات موجود در ~ /.bashrc ، برای اجرای آن از، دستور زیر در ترمینال استفاده کنید.

source /usr/share/bash-completion/bash_completion

برای تأیید اینکه ما بسته را به درستی نصب کرده ایم ، دستور زیر را اجرا کنید.

type _init_completion

 

فعالسازی Shell Autocompletion

اکنون ، با دستور زیر یک اسکریپت به فایل ~ / .bashrc اضافه می کنیم:

echo 'source <(kubectl completion bash)' >>~/.bashrc

بعد ، اسکریپت را به پوشه /etc/bash_completion.d اضافه کنید

kubectl completion bash >/etc/bash_completion.d/kubectl

پس از راه اندازی مجدد سیستم عامل ، باید یک ورودی خودکار کامل برای kubectl داشته باشید.

 

نصب Minikube

پس از نصب kubectl ، باید Minikube را نصب کنیم. Minikube ابزاری است که به ما امکان می دهد به سرعت نسخه single-node K8 ها را به صورت محلی در یک ماشین مجازی اجرا کنیم.

ابتدا باید بررسی کنیم که آیا کامپیوتر شما با استفاده از این دستور، از مجازی سازی VT-x / AMD-v پشتیبانی می کند یا خیر.

grep -E --color 'vmx|svm' /proc/cpuinfo

 

هر کاربر اطلاعات متفاوتی در خروجی خواهد داشت (براساس نوع CPU شما) ، اما باید بررسی کنیم که flags های vmx یا svm را می بینیم. در این صورت، CPU قادر به مجازی سازی سخت افزار است. بعد ما Virtualbox را به عنوان hypervisor نصب می کنیم (Virtualbox محصولی نرم افزاری برای مجازی سازی (vps) سیستم عامل های ویندوز، لینوکسFreeBSD  macOS ، Solaris و غیره است). Virtualbox را با این دستور نصب کنید.

apt install virtualbox virtualbox-ext-pack

اکنون ، Minikube را با استفاده از لینک مستقیم بارگیری کرده و Minikube را با استفاده از دستور chmod قابل اجرا می کنیم.

curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \ && chmod +x minikube

سپس ، فایل را به پوشه bin منتقل می کنیم.

cp minikube-linux-amd64 /usr/local/bin/minikube

برای تأیید اینکه همه چیز نصب شده است ، دستور را وارد کنید:

minikube version
 minikube version: v1.13.0
 commit: 0c5e9de4ca6f9c55147ae7f90af97eff5befef5f-dirty