Pull to refresh
70.46
Слёрм
Учебный центр для тех, кто работает в IT

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

Reading time 2 min
Views 6.1K
Original author: Matthieu Lanvert


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



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


Kubernetes + Helm-чарты


«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

  • Файл:

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, напишите нам.

Tags:
Hubs:
+12
Comments 2
Comments Comments 2

Articles

Information

Website
slurm.io
Registered
Founded
Employees
51–100 employees
Location
Россия
Representative
Антон Скобин