Kubectl - це ефективний інструмент командного рядка Kubernetes і для Kubernetes, ми користуємося щодня. Він має багато функцій, і з ним можна розгортати систему Kubernetes або його базові фічі.
Ось вам корисні поради, як швидше кодувати та деплоїти у Kubernetes.
Автозаповнення kubectl
Kubectl ви будете використовувати постійно, так що з автозаповнення не доведеться зайвий раз стукати по клавішах.
Спочатку встановіть пакет bash-completion (за замовчуванням він не встановлений).
- Linux
## Install
apt-get install bash-completion
## Bash
echo 'source <(kubectl completion bash)' >>~/.bashrc
## Zsh
source <(kubectl completion zsh)
- MacOS
## Install
brew install bash-completion@2
Як видно у вихідних даних brew install (розділ Caveats), потрібно додати наступні рядки у файл ~/.bashrc или ~/.bash_profile
:
export BASH_COMPLETION_COMPAT_DIR=/usr/local/etc/bash_completion.d
[[ -r /usr/local/etc/profile.d/bash_completion.sh ]] && . /usr/local/etc/profile.d/bash_completion.sh
Аліаси kubectl
Коли починаєш використовувати kubectl, найприємніше - це безліч аліасів, починаючи ось з цього:
alias k='kubectl'
Додали його - беріться потім за kubectl-aliases на Github. Ахмет Альп Балкан (Ahmet Alp Balkan) (
Тільки не встановлюйте аліас kubectl для новачка, інакше він у житті не розбереться з усіма командами. Нехай спочатку попрактикується тиждень-другий.
Kubernetes + Helm-чарти
«
Коли у вас заводиться купа додатків Kubernetes, їхнє розгортання та оновлення перетворюється на борошно, особливо якщо потрібно оновити тег docker-образу до розгортання. Helm-чарти створюють пакети, з якими можна визначати, встановлювати та оновлювати програми та конфігурацію, коли вони запускаються на кластері системою релізів.
Пакет Kubernetes у Helm називається чартом і містить багато інформації, за якою створюється екземпляр Kubernetes.
Конфігурація є дуже корисною: вона містить динамічні відомості про налаштування чарту. Реліз - це існуючий екземпляр у кластері у поєднанні з певною конфігурацією.
На відміну від apt або yum, Helm-чарти (тобто пакети) збираються поверх Kubernetes і використовують усі переваги його кластерної архітектури, і найкласніша з них – можливість враховувати масштабованість із самого початку. Чарти всіх образів, які використовує Helm, зберігаються у реєстрі під назвою Helm Workspace. Після розгортання ваші команди DevOps зможуть за дві секунди знаходити чарти і додавати їх у свої проекти.
Helm можна встановити іншими способами:
- Snap / Linux:
sudo snap install helm --classic
- Homebrew / macOS :
brew install kubernetes-helm
- Скрипт:
curl -L https://git.io/get_helm.sh | bash
- Файл:
- Ініціалізувати Helm та встановити Tiller у кластері:
helm init --history-max 200
- Встановити приклад чарту:
helm repo update
helm install --name releasemysql stable/mysql
Ці команди релізують чарт stable/mysql, а реліз називається releasemysql.
Перевірте реліз helm за допомогою helm list.
- Нарешті, реліз можна видалити:
helm delete --purge releasemysql
Дотримуйтесь цих порад, і робота з Kubernetes піде жвавіше. Час, що звільнився, присвятіть головній меті своїх додатків Kubernetes в кластері. Якщо є питання про Kubernetes або Helm,
Джерело: habr.com