
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 Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ°. ΠΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ Π²ΡΠΏΡΠΎΡΠΈ ΠΎΡΠ½ΠΎΡΠ½ΠΎ Kubernetes ΠΈΠ»ΠΈ Helm, .
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
