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"
YAML ๊ตฌ์ฑ ํ์ผ์ ํ์ฉํด ํ๋๋ฅผ ์์ฑํ๋ค.
kubectl apply -f https://k8s.io/examples/pods/inject/envars.yaml
์คํ ์ค์ธ ํ๋๋ค์ ๋ชฉ๋ก์ ์กฐํํ๋ค.
kubectl get pods -l purpose=demonstrate-envars
๊ฒฐ๊ณผ๋ ๋ค์๊ณผ ๊ฐ๋ค.
NAME READY STATUS RESTARTS AGE envar-demo 1/1 Running 0 9s
ํ๋์ ์ปจํ ์ด๋ ํ๊ฒฝ ๋ณ์๋ฅผ ๋์ดํ๋ค.
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
์ฐธ๊ณ :
env
๋ envFrom
ํ๋๋ฅผ ์ด์ฉํด ์ค์ ๋ ํ๊ฒฝ ๋ณ์๋ค์ ์ปจํ
์ด๋ ์ด๋ฏธ์ง
์์์ ๋ช
์๋ ๋ชจ๋ ํ๊ฒฝ ๋ณ์๋ค์ ์ค๋ฒ๋ผ์ด๋ฉํ๋ค.์ฐธ๊ณ :
ํ๊ฒฝ ๋ณ์๋ ์๋ก๋ฅผ ์ฐธ์กฐํ ์ ์๋๋ฐ, ์ด ๋ ์์์ ์ฃผ์ํด์ผ ํ๋ค. ๋์ผํ ์ปจํ ์คํธ์์ ์ ์๋ ๋ค๋ฅธ ๋ณ์๋ฅผ ์ฐธ์กฐํ๋ ๋ณ์๋ ๋ชฉ๋ก์ ๋ค์ชฝ์ ๋์์ผ ํ๋ค. ๋ํ, ์ํ ์ฐธ์กฐ๋ ํผํด์ผ ํ๋ค.์ค์ ์์์ ํ๊ฒฝ ๋ณ์ ์ฌ์ฉํ๊ธฐ
ํ๋์ ๊ตฌ์ฑ ํ์ผ ์์์ ์ ์ํ ํ๊ฒฝ ๋ณ์๋
ํ๋์ ์ปจํ
์ด๋๋ฅผ ์ํด ์ค์ ํ๋ ์ปค๋งจ๋์ ์ธ์๋ค๊ณผ ๊ฐ์ด,
๊ตฌ์ฑ ํ์ผ ์์ ๋ค๋ฅธ ๊ณณ์์ ์ฌ์ฉํ ์ ์๋ค.
์๋์ ๊ตฌ์ฑ ํ์ผ ์์์์, 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
์ปค๋งจ๋๊ฐ ์ปจํ
์ด๋์์ ์คํ๋๋ค.
๋ค์ ๋ด์ฉ
- ํ๊ฒฝ ๋ณ์์ ๋ํด ์์๋ณธ๋ค.
- ์ํฌ๋ฆฟ์ ํ๊ฒฝ ๋ณ์๋ก ์ฌ์ฉํ๊ธฐ์ ๋ํด ์์๋ณธ๋ค.
- EnvVarSource๋ฅผ ํ์ธํ๋ค.