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 Environment Variables for a Container

์ปจํ…Œ์ด๋„ˆ๋ฅผ ์œ„ํ•œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์ •์˜ํ•˜๊ธฐ

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

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

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

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

์ปจํ…Œ์ด๋„ˆ๋ฅผ ์œ„ํ•œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์ •์˜ํ•˜๊ธฐ

ํŒŒ๋“œ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ, ํŒŒ๋“œ ์•ˆ์—์„œ ๋™์ž‘ํ•˜๋Š” ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์œ„ํ•œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•˜๋ ค๋ฉด, ๊ตฌ์„ฑ ํŒŒ์ผ์— env๋‚˜ envFrom ํ•„๋“œ๋ฅผ ํฌํ•จ์‹œ์ผœ์•ผ ํ•œ๋‹ค.

์ด ์˜ˆ์ œ์—์„œ, ํ•œ ๊ฐœ์˜ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ํŒŒ๋“œ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ํŒŒ๋“œ๋ฅผ ์œ„ํ•œ ๊ตฌ์„ฑ ํŒŒ์ผ์€ DEMO_GREETING ์ด๋ผ๋Š” ์ด๋ฆ„๊ณผ "Hello from the environment"์ด๋ผ๋Š” ๊ฐ’์„ ๊ฐ€์ง€๋Š” ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์ •์˜ํ•œ๋‹ค. ๋‹ค์Œ์€ ํŒŒ๋“œ๋ฅผ ์œ„ํ•œ ๊ตฌ์„ฑ ๋งค๋‹ˆํŽ˜์ŠคํŠธ ์˜ˆ์‹œ์ด๋‹ค.

apiVersion: v1
kind: Pod
metadata:
  name: envar-demo
  labels:
    purpose: demonstrate-envars
spec:
  containers:
  - name: envar-demo-container
    image: gcr.io/google-samples/node-hello:1.0
    env:
    - name: DEMO_GREETING
      value: "Hello from the environment"
    - name: DEMO_FAREWELL
      value: "Such a sweet sorrow"
  1. YAML ๊ตฌ์„ฑ ํŒŒ์ผ์„ ํ™œ์šฉํ•ด ํŒŒ๋“œ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

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

    kubectl get pods -l purpose=demonstrate-envars
    

    ๊ฒฐ๊ณผ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

    NAME            READY     STATUS    RESTARTS   AGE
    envar-demo      1/1       Running   0          9s
    
  3. ํŒŒ๋“œ์˜ ์ปจํ…Œ์ด๋„ˆ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ๋‚˜์—ดํ•œ๋‹ค.

    kubectl exec envar-demo -- printenv
    

    ๊ฒฐ๊ณผ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

    NODE_VERSION=4.4.2
    EXAMPLE_SERVICE_PORT_8080_TCP_ADDR=10.3.245.237
    HOSTNAME=envar-demo
    ...
    DEMO_GREETING=Hello from the environment
    DEMO_FAREWELL=Such a sweet sorrow
    

์„ค์ • ์•ˆ์—์„œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์‚ฌ์šฉํ•˜๊ธฐ

ํŒŒ๋“œ์˜ ๊ตฌ์„ฑ ํŒŒ์ผ ์•ˆ์—์„œ ์ •์˜ํ•œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋Š” ํŒŒ๋“œ์˜ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์œ„ํ•ด ์„ค์ •ํ•˜๋Š” ์ปค๋งจ๋“œ์™€ ์ธ์ž๋“ค๊ณผ ๊ฐ™์ด, ๊ตฌ์„ฑ ํŒŒ์ผ ์•ˆ์˜ ๋‹ค๋ฅธ ๊ณณ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์•„๋ž˜์˜ ๊ตฌ์„ฑ ํŒŒ์ผ ์˜ˆ์‹œ์—์„œ, GREETING, HONORIFIC, ๊ทธ๋ฆฌ๊ณ  NAME ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋“ค์ด ๊ฐ๊ฐ Warm greetings to, The Most honorable, ๊ทธ๋ฆฌ๊ณ  Kubernetes๋กœ ์„ค์ •๋˜์–ด ์žˆ๋‹ค. ์ด ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋“ค์€ ์ดํ›„ env-print-demo ์ปจํ…Œ์ด๋„ˆ์— ์ „๋‹ฌ๋˜์–ด CLI ์ธ์ž์—์„œ ์‚ฌ์šฉ๋œ๋‹ค.

apiVersion: v1
kind: Pod
metadata:
  name: print-greeting
spec:
  containers:
  - name: env-print-demo
    image: bash
    env:
    - name: GREETING
      value: "Warm greetings to"
    - name: HONORIFIC
      value: "The Most Honorable"
    - name: NAME
      value: "Kubernetes"
    command: ["echo"]
    args: ["$(GREETING) $(HONORIFIC) $(NAME)"]

์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ƒ์„ฑ๋˜๋ฉด, echo Warm greetings to The Most Honorable Kubernetes ์ปค๋งจ๋“œ๊ฐ€ ์ปจํ…Œ์ด๋„ˆ์—์„œ ์‹คํ–‰๋œ๋‹ค.

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

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