آشنایی با Kubectl Krew

در دنیای Kubernetes، ابزارهای زیادی وجود دارند که به مدیران سیستم کمک می‌کنند تا کارهای خود را به‌طور مؤثرتر و سریع‌تر انجام دهند. یکی از این ابزارهای بسیار کاربردی و انعطاف‌پذیر، kubectl krew است. krew در واقع یک افزونه برای kubectl محسوب می‌شود که به شما امکان می‌دهد پلاگین‌های مختلفی را به فرمان kubectl اضافه کرده و قابلیت‌های آن را گسترش دهید. در این مقاله به معرفی، نصب و کاربردهای این ابزار می‌پردازیم.

kubectl krew چیست؟

kubectl krew یک افزونه برای ابزار kubectl است که به کاربر این امکان را می‌دهد تا به آسانی پلاگین‌های جدید را برای مدیریت و نظارت بر Kubernetes اضافه و مدیریت کند. krew به‌صورت ساده مشابه یک مدیر بسته (package manager) برای افزونه‌های kubectl عمل می‌کند و روند جستجو، نصب، به‌روزرسانی و حذف پلاگین‌ها را ساده‌تر می‌کند.

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

نحوه نصب kubectl krew

برای نصب kubectl krew ابتدا باید اطمینان حاصل کنید که kubectl را بر روی سیستم خود نصب کرده‌اید. سپس مراحل زیر را دنبال کنید:

پیش‌نیازها

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

kubectl

git

bash یا zsh به عنوان پوسته

دانلود و نصب krew

برای نصب krew، دستور زیر را در ترمینال خود اجرا کنید:

(
  set -x; cd "$(mktemp -d)" &&
  OS="$(uname | tr '[:upper:]' '[:lower:]')" &&
  ARCH="$(uname -m | sed 's/x86_64/amd64/' | sed 's/arm.*$/arm/')" &&
  KREW="krew-${OS}_${ARCH}" &&
  curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/${KREW}.tar.gz" &&
  tar zxvf "${KREW}.tar.gz" &&
  ./"${KREW}" install krew
)
اضافه کردن مسیر Krew به متغیر PATH

بعد از نصب موفقیت‌آمیز، باید مسیر نصب krew را به متغیر محیطی PATH اضافه کنید:

export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"

برای این‌که این تغییر دائمی شود، می‌توانید این خط را به فایل .bashrc یا .zshrc اضافه کنید.

تست نصب

حالا می‌توانید با اجرای دستور زیر از نصب موفق kubectl krew اطمینان حاصل کنید:

kubectl krew

کاربردهای kubectl krew

kubectl krew به شما امکان می‌دهد تا افزونه‌های متنوعی را برای افزایش قابلیت‌های kubectl استفاده کنید. در اینجا به برخی از کاربردهای مهم آن اشاره می‌کنیم:

جستجو و نصب پلاگین‌ها

با استفاده از دستور kubectl krew search می‌توانید پلاگین‌های مختلف را جستجو کنید. به عنوان مثال:

kubectl krew search cert-manager

برای نصب یک پلاگین، از دستور زیر استفاده کنید:

kubectl krew install <plugin-name>
لیست کردن پلاگین‌های نصب‌شده

شما می‌توانید پلاگین‌های نصب‌شده را با دستور زیر مشاهده کنید:`

kubectl krew list
به‌روزرسانی پلاگین‌ها

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

kubectl krew upgrade <plugin-name>

و برای به‌روزرسانی تمامی پلاگین‌ها:

kubectl krew upgrade
حذف پلاگین‌ها

برای حذف یک پلاگین خاص، از دستور زیر استفاده کنید:

kubectl krew uninstall <plugin-name>

پلاگین‌های محبوب در kubectl krew

در مخزن پلاگین‌های krew، پلاگین‌های متعددی وجود دارند که برای کاربردهای مختلف توسعه یافته‌اند. برخی از پلاگین‌های محبوب عبارتند از:

ctx و ns: برای جابجایی سریع بین context و namespace ها.

kubetail: نمایش log چندین پاد (pod) به‌صورت هم‌زمان.

view-secret: نمایش محتوای مخفی (secrets) به‌صورت base64-decoded.

who-can: بررسی اینکه چه کسی مجاز به انجام عمل خاصی در یک namespace است.

نتیجه‌گیری

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

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

منابع :

https://krew.sigs.k8s.io https://krew.sigs.k8s.io