
Kubectl е ефективен инструмент за команден ред на 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) () знае много за тях, научете повече за неговите алиаси на github

Само не задавайте алиас за kubectl на начинаещ, иначе той никога няма да разбере всички команди. Нека първо да поработи в продължение на седмица-две.
Kubernetes + Helm-чартове
« е най-добрият начин да намирате, разпространявате и използвате софтуер, разработен за Kubernetes.
Когато имате много приложения в 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 или Helm, .
Източник: habr.com
