ํด๋น ๋ฌธ์์ ์ฟ ๋ฒ๋คํฐ์ค ๋ฒ์ : v1.31
Kubernetes v1.31 ๋ฌธ์๋ ๋ ์ด์ ์ ๊ทน์ ์ผ๋ก ๊ด๋ฆฌ๋์ง ์์. ํ์ฌ ๋ณด๊ณ ์๋ ๋ฌธ์๋ ์ ์ ์ค๋ ์ท์. ์ต์ ๋ฌธ์๋ฅผ ์ํด์๋, ๋ค์์ ์ฐธ๊ณ . ์ต์ ๋ฒ์ .
์ปจํ ์ด๋๋ฅผ ์ํ ์ปค๋งจ๋์ ์ธ์ ์ ์ํ๊ธฐ
๋ณธ ํ์ด์ง๋ ํ๋ ์์์ ์ปจํ ์ด๋๋ฅผ ์คํํ ๋ ์ปค๋งจ๋์ ์ธ์๋ฅผ ์ ์ํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ค๋ช ํ๋ค.
์์ํ๊ธฐ ์ ์
์ฟ ๋ฒ๋คํฐ์ค ํด๋ฌ์คํฐ๊ฐ ํ์ํ๊ณ , kubectl ์ปค๋งจ๋-๋ผ์ธ ํด์ด ํด๋ฌ์คํฐ์ ํต์ ํ ์ ์๋๋ก ์ค์ ๋์ด ์์ด์ผ ํ๋ค. ์ด ํํ ๋ฆฌ์ผ์ ์ปจํธ๋กค ํ๋ ์ธ ํธ์คํธ๊ฐ ์๋ ๋ ธ๋๊ฐ ์ ์ด๋ 2๊ฐ ํฌํจ๋ ํด๋ฌ์คํฐ์์ ์คํํ๋ ๊ฒ์ ์ถ์ฒํ๋ค. ๋ง์ฝ, ์์ง ํด๋ฌ์คํฐ๋ฅผ ๊ฐ์ง๊ณ ์์ง ์๋ค๋ฉด, minikube๋ฅผ ์ฌ์ฉํด์ ์์ฑํ๊ฑฐ๋ ๋ค์ ์ฟ ๋ฒ๋คํฐ์ค ํ๋ ์ด๊ทธ๋ผ์ด๋ ์ค ํ๋๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
๋ฒ์ ํ์ธ์ ์ํด์, ๋ค์ ์ปค๋งจ๋๋ฅผ ์คํkubectl version
.
ํ๋๋ฅผ ์์ฑํ ๋ ์ปค๋งจ๋์ ์ธ์๋ฅผ ์ ์ํ๊ธฐ
ํ๋๋ฅผ ์์ฑํ ๋, ํ๋ ์์์ ๋์ํ๋ ์ปจํ
์ด๋๋ฅผ ์ํ ์ปค๋งจ๋์ ์ธ์๋ฅผ
์ ์ํ ์ ์๋ค. ์ปค๋งจ๋๋ฅผ ์ ์ํ๊ธฐ ์ํด์๋, ํ๋ ์์์ ์คํ๋๋ ์ปจํ
์ด๋์
command
ํ๋๋ฅผ ํฌํจ์ํจ๋ค. ์ปค๋งจ๋์ ๋ํ ์ธ์๋ฅผ ์ ์ํ๊ธฐ ์ํด์๋, ๊ตฌ์ฑ
ํ์ผ์ args
ํ๋๋ฅผ ํฌํจ์ํจ๋ค. ์ ์ํ ์ปค๋งจ๋์ ์ธ์๋ค์ ํ๋๊ฐ ์์ฑ๋๊ณ
๋ ์ดํ์๋ ๋ณ๊ฒฝ๋ ์ ์๋ค.
๊ตฌ์ฑ ํ์ผ ์์์ ์ ์ํ๋ ์ปค๋งจ๋์ ์ธ์๋ค์ ์ปจํ ์ด๋ ์ด๋ฏธ์ง๊ฐ ์ ๊ณตํ๋ ๊ธฐ๋ณธ ์ปค๋งจ๋์ ์ธ์๋ค๋ณด๋ค ์ฐ์ ์ ๋๋ค. ๋ง์ฝ ์ธ์๋ค์ ์ ์ํ๊ณ ์ปค๋งจ๋๋ฅผ ์ ์ํ์ง ์๋๋ค๋ฉด, ๊ธฐ๋ณธ ์ปค๋งจ๋๊ฐ ์๋ก์ด ์ธ์์ ํจ๊ป ์ฌ์ฉ๋๋ค.
์ฐธ๊ณ :
command
ํ๋๋ ์ผ๋ถ ์ปจํ
์ด๋ ๋ฐํ์์์ entrypoint
์ ํด๋น๋๋ค.์ด ์์ ์์๋ ํ ๊ฐ์ ์ปจํ ์ด๋๋ฅผ ์คํํ๋ ํ๋๋ฅผ ์์ฑํ๋ค. ํ๋๋ฅผ ์ํ ๊ตฌ์ฑ ํ์ผ์์ ์ปค๋งจ๋์ ๋ ๊ฐ์ ์ธ์๋ฅผ ์ ์ํ๋ค.
apiVersion: v1
kind: Pod
metadata:
name: command-demo
labels:
purpose: demonstrate-command
spec:
containers:
- name: command-demo-container
image: debian
command: ["printenv"]
args: ["HOSTNAME", "KUBERNETES_PORT"]
restartPolicy: OnFailure
-
YAML ๊ตฌ์ฑ ํ์ผ์ ํ์ฉํด ํ๋๋ฅผ ์์ฑํ๋ค.
kubectl apply -f https://k8s.io/examples/pods/commands.yaml
-
์คํ ์ค์ธ ํ๋๋ค์ ๋ชฉ๋ก์ ์กฐํํ๋ค.
kubectl get pods
command-demo๋ผ๋ ํ๋ ์์์ ์คํ๋ ์ปจํ ์ด๋๊ฐ ์๋ฃ๋์๋ค๊ณ ์ถ๋ ฅ๋ ๊ฒ์ด๋ค.
-
์ปจํ ์ด๋ ์์์ ์คํ๋ ์ปค๋งจ๋์ ์ถ๋ ฅ์ ๋ณด๊ธฐ ์ํด, ํ๋์ ๋ก๊ทธ๋ฅผ ํ์ธํ๋ค.
kubectl logs command-demo
HOSTNAME๊ณผ KUBERNETES_PORT ํ๊ฒฝ ๋ณ์๋ค์ ๊ฐ๋ค์ด ์ถ๋ ฅ๋ ๊ฒ์ด๋ค.
command-demo tcp://10.3.240.1:443
์ธ์๋ฅผ ์ ์ํ๊ธฐ ์ํด ํ๊ฒฝ ๋ณ์๋ฅผ ์ฌ์ฉํ๊ธฐ
์ด์ ์์ ์์๋, ๋ฌธ์์ด์ ์ ๊ณตํ๋ฉด์ ์ง์ ์ธ์๋ฅผ ์ ์ํด๋ณด์๋ค. ๋ฌธ์์ด์ ์ง์ ์ ๊ณตํ๋ ๊ฒ์ ๋ํ ๋์์ผ๋ก, ํ๊ฒฝ ๋ณ์๋ค์ ์ฌ์ฉํ์ฌ ์ธ์๋ค์ ์ ์ํ ์ ์๋ค.
env:
- name: MESSAGE
value: "hello world"
command: ["/bin/echo"]
args: ["$(MESSAGE)"]
์ด๊ฒ์ ์ปจํผ๊ทธ ๋งต๊ณผ ์ํฌ๋ฆฟ์ ํฌํจํด, ํ๊ฒฝ ๋ณ์๋ฅผ ์ ์ํ๋๋ฐ ํ์ฉํ ์ ์๋ ๋ชจ๋ ๋ฐฉ๋ฒ๋ค์ ํ์ฉํด์ ํ๋๋ฅผ ์ํ ์ธ์๋ฅผ ์ ์ํ ์ ์๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค.
์ฐธ๊ณ :
ํ๊ฒฝ ๋ณ์๋"$(VAR)"
์ ๊ฐ์ด ๊ดํธ ์์ ๋ํ๋๋ค. ์ด๋ ๋ณ์๊ฐ command
๋ args
ํ๋ ์์์ ์ ๊ฐ๋๊ธฐ ์ํด ํ์ํ ๊ฒ์ด๋ค.์ ธ ์์์ ์ปค๋งจ๋ ์คํํ๊ธฐ
์ผ๋ถ ๊ฒฝ์ฐ๋ค์์๋ ์ปค๋งจ๋๋ฅผ ์ ธ ์์์ ์คํํด์ผํ ํ์๊ฐ ์๋ค. ์๋ฅผ ๋ค์ด, ์คํํ ์ปค๋งจ๋๊ฐ ์๋ก ์ฐ๊ฒฐ๋์ด ์๋ ์ฌ๋ฌ ๊ฐ์ ์ปค๋งจ๋๋ค๋ก ๊ตฌ์ฑ๋์ด ์๊ฑฐ๋, ์ ธ ์คํฌ๋ฆฝํธ์ผ ์๋ ์๋ค. ์ ธ ์์์ ์ปค๋งจ๋๋ฅผ ์คํํ๋ ค๊ณ ํ๋ค๋ฉด, ์ด๋ฐ ๋ฐฉ์์ผ๋ก ๊ฐ์ธ์ฃผ๋ฉด ๋๋ค.
command: ["/bin/sh"]
args: ["-c", "while true; do echo hello; sleep 10;done"]
๋ค์ ๋ด์ฉ
- ํ๋์ ์ปจํ ์ด๋๋ฅผ ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๋ ์์๋ณธ๋ค.
- ์ปจํ ์ด๋ ์์์ ์ปค๋งจ๋๋ฅผ ์คํํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๋ ์์๋ณธ๋ค.
- ์ปจํ ์ด๋๋ฅผ ํ์ธํ๋ค.