ํ•ด๋‹น ๋ฌธ์„œ์˜ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋ฒ„์ „: v1.31

Kubernetes v1.31 ๋ฌธ์„œ๋Š” ๋” ์ด์ƒ ์ ๊ทน์ ์œผ๋กœ ๊ด€๋ฆฌ๋˜์ง€ ์•Š์Œ. ํ˜„์žฌ ๋ณด๊ณ ์žˆ๋Š” ๋ฌธ์„œ๋Š” ์ •์  ์Šค๋ƒ…์ƒท์ž„. ์ตœ์‹  ๋ฌธ์„œ๋ฅผ ์œ„ํ•ด์„œ๋Š”, ๋‹ค์Œ์„ ์ฐธ๊ณ . ์ตœ์‹  ๋ฒ„์ „.

์ปจํ…Œ์ด๋„ˆ๋ฅผ ์œ„ํ•œ ์ปค๋งจ๋“œ์™€ ์ธ์ž ์ •์˜ํ•˜๊ธฐ

๋ณธ ํŽ˜์ด์ง€๋Š” ํŒŒ๋“œ ์•ˆ์—์„œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ์ปค๋งจ๋“œ์™€ ์ธ์ž๋ฅผ ์ •์˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•œ๋‹ค.

์‹œ์ž‘ํ•˜๊ธฐ ์ „์—

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ํ•„์š”ํ•˜๊ณ , kubectl ์ปค๋งจ๋“œ-๋ผ์ธ ํˆด์ด ํด๋Ÿฌ์Šคํ„ฐ์™€ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค์ •๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์ด ํŠœํ† ๋ฆฌ์–ผ์€ ์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ ํ˜ธ์ŠคํŠธ๊ฐ€ ์•„๋‹Œ ๋…ธ๋“œ๊ฐ€ ์ ์–ด๋„ 2๊ฐœ ํฌํ•จ๋œ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•œ๋‹ค. ๋งŒ์•ฝ, ์•„์ง ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š๋‹ค๋ฉด, minikube๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ๋‹ค์Œ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํ”Œ๋ ˆ์ด๊ทธ๋ผ์šด๋“œ ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฒ„์ „ ํ™•์ธ์„ ์œ„ํ•ด์„œ, ๋‹ค์Œ ์ปค๋งจ๋“œ๋ฅผ ์‹คํ–‰ kubectl version.

ํŒŒ๋“œ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์ปค๋งจ๋“œ์™€ ์ธ์ž๋ฅผ ์ •์˜ํ•˜๊ธฐ

ํŒŒ๋“œ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ, ํŒŒ๋“œ ์•ˆ์—์„œ ๋™์ž‘ํ•˜๋Š” ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์œ„ํ•œ ์ปค๋งจ๋“œ์™€ ์ธ์ž๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ปค๋งจ๋“œ๋ฅผ ์ •์˜ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š”, ํŒŒ๋“œ ์•ˆ์—์„œ ์‹คํ–‰๋˜๋Š” ์ปจํ…Œ์ด๋„ˆ์— command ํ•„๋“œ๋ฅผ ํฌํ•จ์‹œํ‚จ๋‹ค. ์ปค๋งจ๋“œ์— ๋Œ€ํ•œ ์ธ์ž๋ฅผ ์ •์˜ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š”, ๊ตฌ์„ฑ ํŒŒ์ผ์— args ํ•„๋“œ๋ฅผ ํฌํ•จ์‹œํ‚จ๋‹ค. ์ •์˜ํ•œ ์ปค๋งจ๋“œ์™€ ์ธ์ž๋“ค์€ ํŒŒ๋“œ๊ฐ€ ์ƒ์„ฑ๋˜๊ณ  ๋‚œ ์ดํ›„์—๋Š” ๋ณ€๊ฒฝ๋  ์ˆ˜ ์—†๋‹ค.

๊ตฌ์„ฑ ํŒŒ์ผ ์•ˆ์—์„œ ์ •์˜ํ•˜๋Š” ์ปค๋งจ๋“œ์™€ ์ธ์ž๋“ค์€ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋ณธ ์ปค๋งจ๋“œ์™€ ์ธ์ž๋“ค๋ณด๋‹ค ์šฐ์„ ์‹œ ๋œ๋‹ค. ๋งŒ์•ฝ ์ธ์ž๋“ค์„ ์ •์˜ํ•˜๊ณ  ์ปค๋งจ๋“œ๋ฅผ ์ •์˜ํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด, ๊ธฐ๋ณธ ์ปค๋งจ๋“œ๊ฐ€ ์ƒˆ๋กœ์šด ์ธ์ž์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ๋œ๋‹ค.

์ด ์˜ˆ์ œ์—์„œ๋Š” ํ•œ ๊ฐœ์˜ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ํŒŒ๋“œ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ํŒŒ๋“œ๋ฅผ ์œ„ํ•œ ๊ตฌ์„ฑ ํŒŒ์ผ์—์„œ ์ปค๋งจ๋“œ์™€ ๋‘ ๊ฐœ์˜ ์ธ์ž๋ฅผ ์ •์˜ํ•œ๋‹ค.

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
  1. YAML ๊ตฌ์„ฑ ํŒŒ์ผ์„ ํ™œ์šฉํ•ด ํŒŒ๋“œ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

    kubectl apply -f https://k8s.io/examples/pods/commands.yaml
    
  2. ์‹คํ–‰ ์ค‘์ธ ํŒŒ๋“œ๋“ค์˜ ๋ชฉ๋ก์„ ์กฐํšŒํ•œ๋‹ค.

    kubectl get pods
    

    command-demo๋ผ๋Š” ํŒŒ๋“œ ์•ˆ์—์„œ ์‹คํ–‰๋œ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์™„๋ฃŒ๋˜์—ˆ๋‹ค๊ณ  ์ถœ๋ ฅ๋  ๊ฒƒ์ด๋‹ค.

  3. ์ปจํ…Œ์ด๋„ˆ ์•ˆ์—์„œ ์‹คํ–‰๋œ ์ปค๋งจ๋“œ์˜ ์ถœ๋ ฅ์„ ๋ณด๊ธฐ ์œ„ํ•ด, ํŒŒ๋“œ์˜ ๋กœ๊ทธ๋ฅผ ํ™•์ธํ•œ๋‹ค.

    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)"]

์ด๊ฒƒ์€ ์ปจํ”ผ๊ทธ ๋งต๊ณผ ์‹œํฌ๋ฆฟ์„ ํฌํ•จํ•ด, ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์ •์˜ํ•˜๋Š”๋ฐ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๋ฐฉ๋ฒ•๋“ค์„ ํ™œ์šฉํ•ด์„œ ํŒŒ๋“œ๋ฅผ ์œ„ํ•œ ์ธ์ž๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

์…ธ ์•ˆ์—์„œ ์ปค๋งจ๋“œ ์‹คํ–‰ํ•˜๊ธฐ

์ผ๋ถ€ ๊ฒฝ์šฐ๋“ค์—์„œ๋Š” ์ปค๋งจ๋“œ๋ฅผ ์…ธ ์•ˆ์—์„œ ์‹คํ–‰ํ•ด์•ผํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์‹คํ–‰ํ•  ์ปค๋งจ๋“œ๊ฐ€ ์„œ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ปค๋งจ๋“œ๋“ค๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๊ฑฐ๋‚˜, ์…ธ ์Šคํฌ๋ฆฝํŠธ์ผ ์ˆ˜๋„ ์žˆ๋‹ค. ์…ธ ์•ˆ์—์„œ ์ปค๋งจ๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋ ค๊ณ  ํ•œ๋‹ค๋ฉด, ์ด๋Ÿฐ ๋ฐฉ์‹์œผ๋กœ ๊ฐ์‹ธ์ฃผ๋ฉด ๋œ๋‹ค.

command: ["/bin/sh"]
args: ["-c", "while true; do echo hello; sleep 10;done"]

๋‹ค์Œ ๋‚ด์šฉ

์ตœ์ข… ์ˆ˜์ • September 23, 2022 at 11:12 AM PST: [ko] Update outdate files in dev-1.25-ko.1 (M74-M89) (2aafb85f6d)