ํด๋น ๋ฌธ์์ ์ฟ ๋ฒ๋คํฐ์ค ๋ฒ์ : v1.32
Kubernetes v1.32 ๋ฌธ์๋ ๋ ์ด์ ์ ๊ทน์ ์ผ๋ก ๊ด๋ฆฌ๋์ง ์์. ํ์ฌ ๋ณด๊ณ ์๋ ๋ฌธ์๋ ์ ์ ์ค๋ ์ท์. ์ต์ ๋ฌธ์๋ฅผ ์ํด์๋, ๋ค์์ ์ฐธ๊ณ . ์ต์ ๋ฒ์ .
๋ช ๋ นํ ์ปค๋งจ๋๋ฅผ ์ด์ฉํ ์ฟ ๋ฒ๋คํฐ์ค ์ค๋ธ์ ํธ ๊ด๋ฆฌํ๊ธฐ
์ฟ ๋ฒ๋คํฐ์ค ์ค๋ธ์ ํธ๋ kubectl
์ปค๋งจ๋ ๋ผ์ธ ํด ์์ ๋ด์ฅ๋ ๋ช
๋ นํ ์ปค๋งจ๋๋ฅผ ์ด์ฉํจ์ผ๋ก์จ
๋ฐ๋ก ์ ์ํ๊ฒ ์์ฑ, ์
๋ฐ์ดํธ ๋ฐ ์ญ์ ํ ์ ์๋ค. ์ด ๋ฌธ์๋ ์ด๋ป๊ฒ ์ปค๋งจ๋๊ฐ ๊ตฌ์ฑ๋์ด ์์ผ๋ฉฐ,
์ด๋ฅผ ์ฌ์ฉํ์ฌ ํ์ฑ ์ค๋ธ์ ํธ๋ฅผ ์ด๋ป๊ฒ ๊ด๋ฆฌํ๋ ์ง์ ๋ํด ์ค๋ช
ํ๋ค.
์์ํ๊ธฐ ์ ์
kubectl
์ ์ค์นํ๋ค.
์ฟ ๋ฒ๋คํฐ์ค ํด๋ฌ์คํฐ๊ฐ ํ์ํ๊ณ , kubectl ์ปค๋งจ๋-๋ผ์ธ ํด์ด ํด๋ฌ์คํฐ์ ํต์ ํ ์ ์๋๋ก ์ค์ ๋์ด ์์ด์ผ ํ๋ค. ์ด ํํ ๋ฆฌ์ผ์ ์ปจํธ๋กค ํ๋ ์ธ ํธ์คํธ๊ฐ ์๋ ๋ ธ๋๊ฐ ์ ์ด๋ 2๊ฐ ํฌํจ๋ ํด๋ฌ์คํฐ์์ ์คํํ๋ ๊ฒ์ ์ถ์ฒํ๋ค. ๋ง์ฝ, ์์ง ํด๋ฌ์คํฐ๋ฅผ ๊ฐ์ง๊ณ ์์ง ์๋ค๋ฉด, minikube๋ฅผ ์ฌ์ฉํด์ ์์ฑํ๊ฑฐ๋ ๋ค์ ์ฟ ๋ฒ๋คํฐ์ค ํ๋ ์ด๊ทธ๋ผ์ด๋ ์ค ํ๋๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
๋ฒ์ ํ์ธ์ ์ํด์, ๋ค์ ์ปค๋งจ๋๋ฅผ ์คํ kubectl version
.
ํธ๋ ์ด๋ ์คํ
kubectl
ํด์ 3๊ฐ์ง ์ข
๋ฅ์ ์ค๋ธ์ ํธ ๊ด๋ฆฌ๋ฅผ ์ง์ํ๋ค.
- ๋ช ๋ นํ ์ปค๋งจ๋
- ๋ช ๋ นํ ์ค๋ธ์ ํธ ๊ตฌ์ฑ
- ์ ์ธํ ์ค๋ธ์ ํธ ๊ตฌ์ฑ
๊ฐ ์ข ๋ฅ๋ณ ์ค๋ธ์ ํธ ๊ด๋ฆฌ์ ์ฅ์ ๊ณผ ๋จ์ ์ ๋ํ ๋ ผ์๋ ์ฟ ๋ฒ๋คํฐ์ค ์ค๋ธ์ ํธ ๊ด๋ฆฌ ๋ฅผ ์ฐธ๊ณ ํ๋ค.
์ค๋ธ์ ํธ ์์ฑ ๋ฐฉ๋ฒ
kubectl
ํด์ ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ์ค๋ธ์ ํธ ํ์
์ ์์ฑํ๋๋ฐ ๋์ฌ ํํ ๊ธฐ๋ฐ์ ์ปค๋งจ๋๋ฅผ
์ง์ํ๋ค. ์ฟ ๋ฒ๋คํฐ์ค ์ค๋ธ์ ํธ ํ์
์ ์ต์ํ์ง ์์ ์ฌ์ฉ์๊ฐ ์ธ์งํ ์ ์๋๋ก ์ปค๋งจ๋
์ด๋ฆ์ด ์ง์ด์ก๋ค.
run
: ์ปจํ ์ด๋๋ฅผ ์คํํ ์๋ก์ด ํ๋๋ฅผ ์์ฑํ๋ค.expose
: ํ๋์ ๊ฑธ์ณ ํธ๋ํฝ์ ๋ก๋ ๋ฐธ๋ฐ์คํ๋๋ก ์๋ก์ด ์๋น์ค ์ค๋ธ์ ํธ๋ฅผ ์์ฑํ๋ค.autoscale
: ๋ํ๋ก์ด๋จผํธ์ ๊ฐ์ด, ํ๋์ ์ปจํธ๋กค๋ฌ์ ๋ํด ์๋์ผ๋ก ์ํ์ ์ค์ผ์ผ์ด ์ด๋ฃจ์ด ์ง๋๋ก ์๋ก์ด Autoscaler ์ค๋ธ์ ํธ๋ฅผ ์์ฑํ๋ค.
๋ํ kubectl
ํด์ ์ค๋ธ์ ํธ ํ์
์ ์ํด ๊ตฌ๋๋๋ ์์ฑ ์ปค๋งจ๋๋ฅผ ์ง์ํ๋ค.
์ด๋ฌํ ์ปค๋งจ๋๋ ๋ ๋ง์ ์ค๋ธ์ ํธ ํ์
์ ์ง์ํด์ฃผ๋ฉฐ ๊ทธ ์๋ํ๋ ๋ฐ์ ๋ํด
๋ณด๋ค ๋ช
ํํ๊ฒ ํด์ฃผ์ง๋ง, ์ฌ์ฉ์๊ฐ ์์ฑํ๊ณ ์ ํ๋ ์ค๋ธ์ ํธ ํ์
์ ๋ํด
์ ์ ์๋๋ก ํด์ผ ํ๋ค.
create <์ค๋ธ์ ํธ ํ์ > [<์๋ธ ํ์ >] <์ธ์คํด์ค๋ช >
์ผ๋ถ ์ค๋ธ์ ํธ ํ์
์ create
์ปค๋งจ๋ ๋ด ์ ์ํ ์ ์๋ ์๋ธ ํ์
์ ๊ฐ์ง๋ค.
์๋ฅผ ๋ค์ด, ์๋น์ค ์ค๋ธ์ ํธ๋ ClusterIP, LoadBalancer ๋ฐ NodePort ๋ฑ์
ํฌํจํ๋ ์ฌ๋ฌ ์๋ธ ํ์
์ ๊ฐ์ง๋ค, ๋ค์์ NodePort ์๋ธ ํ์
์ ํตํด ์๋น์ค๋ฅผ
์์ฑํ๋ ์์ ์ด๋ค.
kubectl create service nodeport <์ฌ์ฉ์ ์๋น์ค ๋ช
์นญ>
์ด์ ์์ ์์, create service nodeport
์ปค๋งจ๋๋
create service
์ปค๋งจ๋์ ์๋ธ ์ปค๋งจ๋๋ผ๊ณ ์นญํ๋ค.
-h
ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ ์๋ธ ์ปค๋งจ๋์ ์ํด ์ง์๋๋ ์ธ์ ๋ฐ ํ๋๊ทธ๋ฅผ
์ฐพ์ ๋ณผ ์ ์๋ค.
kubectl create service nodeport -h
์ค๋ธ์ ํธ ์ ๋ฐ์ดํธ ๋ฐฉ๋ฒ
kubectl
์ปค๋งจ๋๋ ์ผ๋ฐ์ ์ธ ๋ช๋ช์ ์
๋ฐ์ดํธ ์์
์ ์ํด ๋์ฌ ํํ ๊ธฐ๋ฐ์ ์ปค๋งจ๋๋ฅผ ์ง์ํ๋ค.
์ด ์ปค๋งจ๋๋ ์ฟ ๋ฒ๋คํฐ์ค ์ค๋ธ์ ํธ์ ์ต์ํ์ง ์์ ์ฌ์ฉ์๊ฐ ์ค์ ๋์ด์ผ
ํ๋ ํน์ ํ๋๋ฅผ ๋ชจ๋ฅด๋ ์ํ์์๋ ์
๋ฐ์ดํธ๋ฅผ ์ํํ ์ ์๋๋ก
์ด๋ฆ ์ง์ด์ก๋ค.
scale
: ์ปจํธ๋กค๋ฌ์ ๋ ํ๋ฆฌ์นด ์๋ฅผ ์ ๋ฐ์ดํธ ํจ์ผ๋ก์จ ํ๋๋ฅผ ์ถ๊ฐ ๋๋ ์ ๊ฑฐํ๋ ์ปจํธ๋กค๋ฌ๋ฅผ ์ํ์ ์ผ๋ก ์ค์ผ์ผํ๋ค.annotate
: ์ค๋ธ์ ํธ๋ก๋ถํฐ ์ด๋ ธํ ์ด์ ์ ์ถ๊ฐ ๋๋ ์ ๊ฑฐํ๋ค.label
: ์ค๋ธ์ ํธ์์ ๋ ์ด๋ธ์ ์ถ๊ฐ ๋๋ ์ ๊ฑฐํ๋ค.
kubectl
์ปค๋งจ๋๋ ๋ํ ์ค๋ธ์ ํธ ์ธก๋ฉด์์ ๊ตฌ๋๋๋ ์
๋ฐ์ดํธ ์ปค๋งจ๋๋ฅผ ์ง์ํ๋ค.
์ด ์ธก๋ฉด์ ์ค์ ์ ๋ค๋ฅธ ์ค๋ธ์ ํธ ํ์
์ ๋ํ ๋ค๋ฅธ ํ๋๋ฅผ ์ค์ ํ ์๋ ์๋ค.
set
<field>
: ์ค๋ธ์ ํธ์ ์ธก๋ฉด์ ์ค์ ํ๋ค.
์ฐธ๊ณ :
์ฟ ๋ฒ๋คํฐ์ค 1.5 ๋ฒ์ ์์๋ ๋ชจ๋ ๋์ฌ ํํ ๊ธฐ๋ฐ์ ์ปค๋งจ๋๊ฐ ๊ด๋ จ๋ ์ธก๋ฉด ์ค์ฌ์ ์ปค๋งจ๋๋ฅผ ๊ฐ์ง๋ ๊ฒ์ ์๋๋ค.kubectl
ํด์ ํ์ฑ ์ค๋ธ์ ํธ๋ฅผ ์ง์ ์
๋ฐ์ดํธํ๊ธฐ ์ํด ์ถ๊ฐ์ ์ธ ๋ฐฉ๋ฒ์ ์ง์ํ์ง๋ง,
์ฟ ๋ฒ๋คํฐ์ค ์ค๋ธ์ ํธ ์คํค๋ง์ ๋ํ ์ถ๊ฐ์ ์ธ ์ดํด๋ฅผ ์๊ตฌํ๋ค.
edit
: ํธ์ง๊ธฐ์์ ๊ตฌ์ฑ์ ์ด์ด ํ์ฑ ์ค๋ธ์ ํธ์ ๋ํ ์๋ ๊ทธ๋๋ก์ ๊ตฌ์ฑ์ ๋ฐ๋ก ํธ์งํ๋ค.patch
: ํจ์น ๋ฌธ์์ด๋ฅผ ์ฌ์ฉํ์ฌ ํ์ฑ ์ค๋ธ์ ํธ๋ฅผ ๋ฐ๋ก ํธ์งํ๋ค. ํจ์น ๋ฌธ์์ด์ ๋ํ ๋ณด๋ค ์์ธํ ์ ๋ณด๋ฅผ ๋ณด๋ ค๋ฉด API ๊ท์ ์์ ํจ์น ์น์ ์ ์ฐธ๊ณ ํ๋ค.
์ค๋ธ์ ํธ ์ญ์ ๋ฐฉ๋ฒ
ํด๋ฌ์คํฐ์์ ์ค๋ธ์ ํธ๋ฅผ ์ญ์ ํ๊ธฐ ์ํด delete
์ปค๋งจ๋์ ์ฌ์ฉํ ์ ์๋ค.
delete <ํ์ >/<์ด๋ฆ>
์ฐธ๊ณ :
๋ช ๋ นํ ์ปค๋งจ๋์ ๋ช ๋ นํ ์ค๋ธ์ ํธ ๊ตฌ์ฑ ๋ชจ๋kubectl delete
๋ฅผ ์ฌ์ฉํ ์
์๋ค. ์ฐจ์ด์ ์ ์ปค๋งจ๋์ ์ ํด์ง๋ ์ธ์์ ์๋ค. ๋ช
๋ นํ ์ปค๋งจ๋๋ก
kubectl delete
์ ์ฌ์ฉํ๊ธฐ ์ํด, ์ญ์ ํ ์ค๋ธ์ ํธ๋ฅผ ์ธ์๋ก ์ ํ๋ค.
๋ค์์ nginx๋ผ๋ ๋ํ๋ก์ด๋จผํธ ์ค๋ธ์ ํธ๋ฅผ ์ ํ๋ ์์ ์ด๋ค.kubectl delete deployment/nginx
์ค๋ธ์ ํธ ํ์ธ ๋ฐฉ๋ฒ
์ค๋ธ์ ํธ์ ๋ํ ์ ๋ณด๋ฅผ ์ถ๋ ฅํ๋ ๋ช ๊ฐ์ง ์ปค๋งจ๋๊ฐ ์๋ค.
get
: ์ผ์นํ๋ ์ค๋ธ์ ํธ์ ๋ํ ๊ธฐ๋ณธ ์ ๋ณด๋ฅผ ์ถ๋ ฅํ๋ค. ์ต์ ๋ฆฌ์คํธ๋ฅผ ํ์ธํ๊ธฐ ์ํดget -h
๋ฅผ ์ฌ์ฉํ๋ค.describe
: ์ผ์นํ๋ ์ค๋ธ์ ํธ์ ๋ํด ์์งํ ์์ธํ ์ ๋ณด๋ฅผ ์ถ๋ ฅํ๋ค.logs
: ํ๋์์ ์คํ ์ค์ธ ์ปจํ ์ด๋์ ๋ํ stdout๊ณผ stderr๋ฅผ ์ถ๋ ฅํ๋ค.
์์ฑ ์ ์ค๋ธ์ ํธ ์์ ์ ์ํด set
์ปค๋งจ๋ ์ฌ์ฉํ๊ธฐ
create
์ปค๋งจ๋์ ์ฌ์ฉํ ์ ์๋ ํ๋๊ทธ๊ฐ ์๋ ๋ช ๊ฐ์ง ์ค๋ธ์ ํธ
ํ๋๊ฐ ์๋ค. ์ด๋ฌํ ๊ฒฝ์ฐ, ์ค๋ธ์ ํธ ์์ฑ ์ ์ ํ๋์ ๋ํ ๊ฐ์
์ ์ํ๊ธฐ ์ํด set
๊ณผ create
์ ์กฐํฉํด์ ์ฌ์ฉํ ์ ์๋ค.
์ด๋ set
์ปค๋งจ๋์ create
์ปค๋งจ๋์ ์ถ๋ ฅ์ ํ์ดํ ํจ์ผ๋ก์จ ์ํํ ์ ์๋ค.
๋ค์์ ๊ด๋ จ ์์ ์ด๋ค.
kubectl create service clusterip my-svc --clusterip="None" -o yaml --dry-run=client | kubectl set selector --local -f - 'environment=qa' -o yaml | kubectl create -f -
kubectl create service -o yaml --dry-run=client
์ปค๋งจ๋๋ ์๋น์ค์ ๋ํ ๊ตฌ์ฑ์ ์์ฑํ์ง๋ง, ์ด๋ฅผ ์ฟ ๋ฒ๋คํฐ์ค API ์๋ฒ์ ์ ์กํ๋ ๋์ YAML ํ์์ผ๋ก stdout์ ์ถ๋ ฅํ๋ค.kubectl set selector --local -f - -o yaml
์ปค๋งจ๋๋ stdin์ผ๋ก๋ถํฐ ๊ตฌ์ฑ์ ์ฝ์ด, YAML ํ์์ผ๋ก stdout์ ์ ๋ฐ์ดํธ๋ ๊ตฌ์ฑ์ ๊ธฐ๋กํ๋ค.kubectl create -f -
์ปค๋งจ๋๋ stdin์ ํตํด ์ ๊ณต๋ ๊ตฌ์ฑ์ ์ฌ์ฉํ์ฌ ์ค๋ธ์ ํธ๋ฅผ ์์ฑํ๋ค.
์์ฑ ์ ์ค๋ธ์ ํธ ์์ ์ ์ํด --edit
์ฌ์ฉํ๊ธฐ
์์ฑ ์ ์ ์ค๋ธ์ ํธ์ ์์์ ๋ณ๊ฒฝ์ ๊ฐํ๊ธฐ ์ํด kubectl create --edit
์ ์ฌ์ฉํ ์ ์๋ค.
๋ค์์ ๊ด๋ จ ์์ ์ด๋ค.
kubectl create service clusterip my-svc --clusterip="None" -o yaml --dry-run=client > /tmp/srv.yaml
kubectl create --edit -f /tmp/srv.yaml
kubectl create service
์ปค๋งจ๋๋ ์๋น์ค์ ๋ํ ๊ตฌ์ฑ์ ์์ฑํ๊ณ ์ด๋ฅผ/tmp/srv.yaml
์ ์ ์ฅํ๋ค.kubectl create --edit
์ปค๋งจ๋๋ ์ค๋ธ์ ํธ๋ฅผ ์์ฑํ๊ธฐ ์ ์ ํธ์ง์ ์ํด ๊ตฌ์ฑ ํ์ผ์ ์ด์ด์ค๋ค.