Kubernetes tips and tricks: как повысить продуктивность

Kubernetes tips and tricks: как повысить продуктивность

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) (https://twitter.com/ahmetb) понимает в них толк, узнайте больше о его алиасах на github

Kubernetes tips and tricks: как повысить продуктивность

Только не устанавливайте алиас kubectl для новичка, иначе он в жизни не разберется со всеми командами. Пусть сначала попрактикуется недельку-другую.

Kubernetes + Helm-чарты

«Helm — это лучший способ находить, распространять и использовать ПО, созданное для Kubernetes».

Когда у вас заводится куча приложений Kubernetes, их развертывание и обновление превращается в муку, особенно если нужно обновить тег docker-образа до развертывания. Helm-чарты создают пакеты, с которыми можно определять, устанавливать и обновлять приложения и конфигурацию, когда они запускаются на кластере системой релизов.

Kubernetes tips and tricks: как повысить продуктивность

Пакет 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

  • Файл:

https://github.com/helm/helm/releases

  • Инициализировать 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

Добавить комментарий