αž‚αž“αŸ’αž›αžΉαŸ‡ αž“αž·αž„αž›αŸ’αž”αž·αž… KubernetesαŸ– αžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαž“αž•αž›αž·αžαž—αžΆαž–

αž‚αž“αŸ’αž›αžΉαŸ‡ αž“αž·αž„αž›αŸ’αž”αž·αž… KubernetesαŸ– αžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαž“αž•αž›αž·αžαž—αžΆαž–

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 (αž•αŸ’αž“αŸ‚αž€ 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

Β«αž€αžΆαž“αŸ‹αžαŸ†αžŽαŸ‚αž„ αž‚αžΊαž‡αžΆαž˜αž’αŸ’αž™αŸ„αž”αžΆαž™αžŠαŸαž›αŸ’αž’αž”αŸ†αž•αž»αžαž€αŸ’αž“αž»αž„αž€αžΆαžšαžŸαŸ’αžœαŸ‚αž„αžšαž€ αž…αŸ‚αž€αž…αžΆαž™ αž“αž·αž„αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ‚αž›αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ KubernetesαŸ”"

αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž’αŸ’αž“αž€αž˜αžΆαž“αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ Kubernetes αž‡αžΆαž…αŸ’αžšαžΎαž“αžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αž€αžΆαžšαžŠαžΆαž€αŸ‹αž±αŸ’αž™αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ αž“αž·αž„αž’αžΆαž”αŸ‹αžŠαŸαžαž–αž½αž€αžœαžΆαž€αŸ’αž›αžΆαž™αž‡αžΆαž€αžΆαžšαžˆαžΊαž…αžΆαž”αŸ‹ αž‡αžΆαž–αž·αžŸαŸαžŸαž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž€αžΆαžšαž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αžŸαŸ’αž›αžΆαž€αžšαžΌαž”αž—αžΆαž– docker αž˜αž»αž“αž–αŸαž›αžŠαžΆαž€αŸ‹αž±αŸ’αž™αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αŸ” αž‚αŸ†αž“αžΌαžŸαžαžΆαž„ Helm αž”αž„αŸ’αž€αžΎαžαž€αž‰αŸ’αž…αž”αŸ‹αžŠαŸ‚αž›αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ αž“αž·αž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹ αžŠαŸ†αž‘αžΎαž„ αž“αž·αž„αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž–αž½αž€αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαžΆαž€αŸ‹αž±αŸ’αž™αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸ…αž›αžΎαž…αž„αŸ’αž€αŸ„αž˜αžŠαŸ„αž™αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž…αŸαž‰αž•αŸ’αžŸαžΆαž™αŸ”

αž‚αž“αŸ’αž›αžΉαŸ‡ αž“αž·αž„αž›αŸ’αž”αž·αž… KubernetesαŸ– αžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαž“αž•αž›αž·αžαž—αžΆαž–

αž€αž‰αŸ’αž…αž”αŸ‹ Kubernetes αž“αŸ…αž€αŸ’αž“αž»αž„ Helm αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαž αŸ…αžαžΆαž‚αŸ†αž“αžΌαžŸαžαžΆαž„ αž“αž·αž„αž˜αžΆαž“αž–αŸαžαŸŒαž˜αžΆαž“αž‡αžΆαž…αŸ’αžšαžΎαž“αžŠαŸ‚αž›αž”αž„αŸ’αž€αžΎαžαž§αž‘αžΆαž αžšαžŽαŸ Kubernetes αŸ”

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαžŽαžΆαžŸαŸ‹αŸ– αžœαžΆαž˜αžΆαž“αž–αŸαžαŸŒαž˜αžΆαž“αžαžΆαž˜αžœαž“αŸ’αžαž’αŸ†αž–αžΈαžšαž”αŸ€αž”αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžαžΆαžšαžΆαž„αŸ” αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž‚αžΊαž‡αžΆαžœαžαŸ’αžαž»αžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžšαžΆαž”αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž…αž„αŸ’αž€αŸ„αž˜αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™αŸ”

αž˜αž·αž“αžŠαžΌαž… apt ឬ yum αž‘αŸ αž‚αŸ†αž“αžΌαžŸαžαžΆαž„ Helm (αž§αž‘αžΆαž αžšαžŽαŸ αž€αž‰αŸ’αž…αž”αŸ‹) αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αž“αŸ…αž›αžΎαž€αŸ†αž–αžΌαž›αž“αŸƒ Kubernetes αž“αž·αž„αž‘αžΆαž‰αž™αž€αž’αžαŸ’αžαž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž–αŸαž‰αž›αŸαž‰αž“αŸƒαžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜αž…αž„αŸ’αž€αŸ„αž˜αžšαž”αžŸαŸ‹αžœαžΆ αž αžΎαž™αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž–αž·αžŸαŸαžŸαž”αŸ†αž•αž»αžαž“αŸ„αŸ‡αž‚αžΊαžŸαž˜αžαŸ’αžαž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαž‚αž·αžαž‚αžΌαžšαž–αžΈαž€αžΆαžšαž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αžαžΆαŸ†αž„αž–αžΈαžŠαŸ†αž”αžΌαž„αž˜αž€αŸ” αž‚αŸ†αž“αžΌαžŸαžαžΆαž„αž“αŸƒαžšαžΌαž”αž—αžΆαž–αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαŸ‚αž› Helm αž”αŸ’αžšαžΎαžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž€αŸ’αž“αž»αž„αž”αž‰αŸ’αž‡αžΈαžˆαŸ’αž˜αŸ„αŸ‡αžŠαŸ‚αž›αž αŸ…αžαžΆ Helm Workspace αŸ” αž“αŸ…αž–αŸαž›αžŠαžΆαž€αŸ‹αž±αŸ’αž™αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ αž€αŸ’αžšαž»αž˜αž€αžΆαžšαž„αžΆαžš DevOps αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž“αžΉαž„αž’αžΆαž…αžŸαŸ’αžœαŸ‚αž„αžšαž€αžαžΆαžšαžΆαž„ αž“αž·αž„αž”αž“αŸ’αžαŸ‚αž˜αž–αž½αž€αžœαžΆαž‘αŸ…αž€αŸ’αž“αž»αž„αž‚αž˜αŸ’αžšαŸ„αž„αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαž€αŸ’αž“αž»αž„αž–αŸαž›αž†αžΆαž”αŸ‹αŸ—αž“αŸαŸ‡αŸ”

αž˜αž½αž€αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αžαŸ†αž‘αžΎαž„αžαžΆαž˜αžœαž·αž’αžΈαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαŸ–

  • αžαŸ’αž‘αžΆαžŸαŸ‹/αž›αžΈαž“αž»αž…αŸ–

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

αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαž‘αžΆαŸ†αž„αž“αŸαŸ‡αž”αž‰αŸ’αž…αŸαž‰αžαžΆαžšαžΆαž„αžŸαŸ’αžαŸαžšαž—αžΆαž–/mysql αž αžΎαž™αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαž αŸ…αžαžΆ releasemysql αŸ”
αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž€αžΆαžšαžŠαŸ„αŸ‡αž›αŸ‚αž„αž˜αž½αž€αžŠαŸ„αž™αž”αŸ’αžšαžΎαž”αž‰αŸ’αž‡αžΈαž˜αž½αž€αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αŸ”

  • αž‘αžΈαž”αŸ†αž•αž»αžαž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž›αž»αž”αŸ–

helm delete --purge releasemysql

αž’αž“αž»αžœαžαŸ’αžαžαžΆαž˜αž‚αž“αŸ’αž›αžΉαŸ‡αž‘αžΆαŸ†αž„αž“αŸαŸ‡ αž αžΎαž™αž”αž‘αž–αž·αžŸαŸ„αž’αž“αŸ Kubernetes αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž“αžΉαž„αž€αžΆαž“αŸ‹αžαŸ‚αžšαž›αžΌαž“αŸ” αž›αŸ‡αž”αž„αŸ‹αž–αŸαž›αžœαŸαž›αžΆαž‘αŸ†αž“αŸαžšαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž‘αŸ…αž€αžΆαž“αŸ‹αž‚αŸ„αž›αžŠαŸ…αžŸαŸ†αžαžΆαž“αŸ‹αž“αŸƒαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ Kubernetes αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž“αŸ…αž€αŸ’αž“αž»αž„αž…αž„αŸ’αž€αŸ„αž˜αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž˜αžΆαž“αžŸαŸ†αžŽαž½αžšαž’αŸ†αž–αžΈ Kubernetes ឬ Helm, αžŸαžšαžŸαŸαžšαž˜αž€αž™αžΎαž„.

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹