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-чарти

«Кермо — це найкращий спосіб знаходити, розповсюджувати та використовувати ПЗ, створене для 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

Додати коментар або відгук