Information in this document may be out of date
This document has an older update date than the original, so the information it contains may be out of date. If you're able to read English, see the English version for the most up-to-date information: Define a Command and Arguments for a Container
์ปจํ ์ด๋๋ฅผ ์ํ ์ปค๋งจ๋์ ์ธ์ ์ ์ํ๊ธฐ
๋ณธ ํ์ด์ง๋ ํ๋ ์์์ ์ปจํ ์ด๋๋ฅผ ์คํํ ๋ ์ปค๋งจ๋์ ์ธ์๋ฅผ ์ ์ํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ค๋ช ํ๋ค.
์์ํ๊ธฐ ์ ์
์ฟ ๋ฒ๋คํฐ์ค ํด๋ฌ์คํฐ๊ฐ ํ์ํ๊ณ , 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"]
๋ค์ ๋ด์ฉ
- ํ๋์ ์ปจํ ์ด๋๋ฅผ ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๋ ์์๋ณธ๋ค.
- ์ปจํ ์ด๋ ์์์ ์ปค๋งจ๋๋ฅผ ์คํํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๋ ์์๋ณธ๋ค.
- ์ปจํ ์ด๋๋ฅผ ํ์ธํ๋ค.