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)

  • ๋งฅ OS

## 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'

์ด๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ Github์—์„œ kubectl-aliases๋ฅผ ์‚ดํŽด๋ณด์„ธ์š”. ์•„ํ๋ฉ”ํŠธ ์•Œํ”„ ๋ฐœ์นธ(https://twitter.com/ahmetb)๋Š” ๊ทธ๋“ค์— ๋Œ€ํ•ด ๋งŽ์€ ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. github์—์„œ ๊ทธ์˜ ๋ณ„์นญ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด์„ธ์š”.

Kubernetes ํŒ๊ณผ ์š”๋ น: ์ƒ์‚ฐ์„ฑ์„ ๋†’์ด๋Š” ๋ฐฉ๋ฒ•

์ดˆ๋ณด์ž๋ฅผ ์œ„ํ•ด kubectl ๋ณ„์นญ์„ ์„ค์ •ํ•˜์ง€ ๋งˆ์„ธ์š”. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์ดˆ๋ณด์ž๋Š” ๋ชจ๋“  ๋ช…๋ น์„ ๊ฒฐ์ฝ” ์ดํ•ดํ•˜์ง€ ๋ชปํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋จผ์ € XNUMX~XNUMX์ฃผ ๋™์•ˆ ์—ฐ์Šตํ•˜๊ฒŒ ํ•˜์„ธ์š”.

Kubernetes + Helm ์ฐจํŠธ

ยซํ‚ค Kubernetes์šฉ์œผ๋กœ ๊ตฌ์ถ•๋œ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฒ€์ƒ‰, ๋ฐฐํฌ ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.โ€

๋‹ค์ˆ˜์˜ Kubernetes ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์‹คํ–‰ ์ค‘์ด๋ฉด ์ด๋ฅผ ๋ฐฐํฌํ•˜๊ณ  ์—…๋ฐ์ดํŠธํ•˜๋Š” ๊ฒƒ์ด ๋ฒˆ๊ฑฐ๋กญ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ๋ฐฐํฌ ์ „์— docker ์ด๋ฏธ์ง€ ํƒœ๊ทธ๋ฅผ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ๋”์šฑ ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค. Helm ์ฐจํŠธ๋Š” ๋ฆด๋ฆฌ์Šค ์‹œ์Šคํ…œ์— ์˜ํ•ด ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์‹คํ–‰๋  ๋•Œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐ ๊ตฌ์„ฑ์„ ์ •์˜, ์„ค์น˜ ๋ฐ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ๋Š” ํŒจํ‚ค์ง€๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

Kubernetes ํŒ๊ณผ ์š”๋ น: ์ƒ์‚ฐ์„ฑ์„ ๋†’์ด๋Š” ๋ฐฉ๋ฒ•

Helm์˜ Kubernetes ํŒจํ‚ค์ง€๋Š” ์ฐจํŠธ๋ผ๊ณ  ํ•˜๋ฉฐ Kubernetes ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋งŽ์€ ์ •๋ณด๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ์„ฑ์€ ๋งค์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ์ฐจํŠธ ๊ตฌ์„ฑ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๋™์  ์ •๋ณด๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฆด๋ฆฌ์Šค๋Š” ํŠน์ • ๊ตฌ์„ฑ๊ณผ ๊ฒฐํ•ฉ๋œ ํด๋Ÿฌ์Šคํ„ฐ์˜ ๊ธฐ์กด ์ธ์Šคํ„ด์Šค์ž…๋‹ˆ๋‹ค.

apt ๋˜๋Š” yum๊ณผ ๋‹ฌ๋ฆฌ Helm ์ฐจํŠธ(์ฆ‰, ํŒจํ‚ค์ง€)๋Š” Kubernetes ์œ„์— ๊ตฌ์ถ•๋˜์–ด ํด๋Ÿฌ์Šคํ„ฐ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์ตœ๋Œ€ํ•œ ํ™œ์šฉํ•˜๋ฉฐ, ๊ฐ€์žฅ ๋ฉ‹์ง„ ์ ์€ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ™•์žฅ์„ฑ์„ ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. Helm์ด ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  ์ด๋ฏธ์ง€์˜ ์ฐจํŠธ๋Š” Helm Workspace๋ผ๋Š” ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ์ผ๋‹จ ๋ฐฐํฌ๋˜๋ฉด DevOps ํŒ€์€ ์ฐจํŠธ๋ฅผ ์ฐพ์•„ ์ฆ‰์‹œ ํ”„๋กœ์ ํŠธ์— ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Helm์€ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  • ์Šค๋ƒ…/๋ฆฌ๋ˆ…์Šค:

sudo snap install helm --classic

  • ํ™ˆ๋ธŒ๋ฅ˜/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 list๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ helm ๋ฆด๋ฆฌ์Šค๋ฅผ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

  • ๋งˆ์ง€๋ง‰์œผ๋กœ ๋ฆด๋ฆฌ์Šค๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

helm delete --purge releasemysql

๋‹ค์Œ ํŒ์„ ๋”ฐ๋ฅด๋ฉด Kubernetes ๊ฒฝํ—˜์ด ๋” ์›ํ™œํ•ด์ง‘๋‹ˆ๋‹ค. ํด๋Ÿฌ์Šคํ„ฐ์— ์žˆ๋Š” Kubernetes ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ฃผ์š” ๋ชฉํ‘œ๋ฅผ ์œ„ํ•ด ์ž์œ  ์‹œ๊ฐ„์„ ํˆฌ์žํ•˜์„ธ์š”. Kubernetes ๋˜๋Š” Helm์— ๋Œ€ํ•ด ๊ถ๊ธˆํ•œ ์ ์ด ์žˆ์œผ๋ฉด ์šฐ๋ฆฌ์—๊ฒŒ ํŽธ์ง€๋ฅผ ๋ณด๋‚ด์„ธ์š”.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€