Π‘ΡŠΠ²Π΅Ρ‚ΠΈ ΠΈ Ρ‚Ρ€ΠΈΠΊΠΎΠ²Π΅ Π·Π° Kubernetes: ΠΊΠ°ΠΊ Π΄Π° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠΌ производитСлността

Π‘ΡŠΠ²Π΅Ρ‚ΠΈ ΠΈ Ρ‚Ρ€ΠΈΠΊΠΎΠ²Π΅ Π·Π° Kubernetes: ΠΊΠ°ΠΊ Π΄Π° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠΌ производитСлността

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) (https://twitter.com/ahmetb) Ρ€Π°Π·Π±ΠΈΡ€Π° Π² тях, Π½Π°ΡƒΡ‡Π΅Ρ‚Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π·Π° Π½Π΅Π³ΠΎΠ²ΠΈΡ‚Π΅ алиаси Π² github

Π‘ΡŠΠ²Π΅Ρ‚ΠΈ ΠΈ Ρ‚Ρ€ΠΈΠΊΠΎΠ²Π΅ Π·Π° Kubernetes: ΠΊΠ°ΠΊ Π΄Π° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠΌ производитСлността

Π‘Π°ΠΌΠΎ Π½Π΅ установявайтС алиас kubectl Π·Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‰, ΠΈΠ½Π°Ρ‡Π΅ Ρ‚ΠΎΠΉ Π½ΠΈΠΊΠΎΠ³Π° Π² ΠΆΠΈΠ²ΠΎΡ‚Π° си няма Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ всичкитС ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ. НСка ΠΏΡŠΡ€Π²ΠΎ Π΄Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΠ²Π° Π΅Π΄Π½Π° ΠΈΠ»ΠΈ Π΄Π²Π΅ сСдмици.

Kubernetes + Helm-Ρ‡Π°Ρ€Ρ‚ΠΈ

Β«HelmΒ β€” Ρ‚ΠΎΠ²Π° Π΅ Π½Π°ΠΉ-добрият Π½Π°Ρ‡ΠΈΠ½ Π΄Π° сС Π½Π°ΠΌΠΈΡ€Π°Ρ‚, разпространяват ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ софтуСр, създадСн Π·Π° Kubernetes.

ΠšΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠΌΠ°Ρ‚Π΅ ΠΊΡƒΠΏ прилоТСния Kubernetes, Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅Ρ‚ΠΎ ΠΈ обновяванСто ΠΈΠΌ става истинска мъка, особСно Π°ΠΊΠΎ трябва Π΄Π° ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ Ρ‚Π°Π³ Π½Π° docker-ΠΎΠ±Ρ€Π°Π·Π° ΠΏΡ€Π΅Π΄ΠΈ Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅Ρ‚ΠΎ. Helm-Ρ‡Π°Ρ€Ρ‚ΠΎΠ²Π΅Ρ‚Π΅ ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ, с ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° опрСдСлятС, инсталиратС ΠΈ обновяватС прилоТСния ΠΈ конфигурация, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Ρ‚Π΅ стартират Π½Π° ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π° със систСма Π·Π° Ρ€Π΅Π»ΠΈΠ·ΠΈ.

Π‘ΡŠΠ²Π΅Ρ‚ΠΈ ΠΈ Ρ‚Ρ€ΠΈΠΊΠΎΠ²Π΅ Π·Π° Kubernetes: ΠΊΠ°ΠΊ Π΄Π° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠΌ производитСлността

ΠŸΠ°ΠΊΠ΅Ρ‚ΡŠΡ‚ 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

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster