ํด๋น ๋ฌธ์์ ์ฟ ๋ฒ๋คํฐ์ค ๋ฒ์ : v1.31
Kubernetes v1.31 ๋ฌธ์๋ ๋ ์ด์ ์ ๊ทน์ ์ผ๋ก ๊ด๋ฆฌ๋์ง ์์. ํ์ฌ ๋ณด๊ณ ์๋ ๋ฌธ์๋ ์ ์ ์ค๋ ์ท์. ์ต์ ๋ฌธ์๋ฅผ ์ํด์๋, ๋ค์์ ์ฐธ๊ณ . ์ต์ ๋ฒ์ .
์ปจํ ์ด๋๋ฅผ ์ํ ํ๊ฒฝ ๋ณ์ ์ ์ํ๊ธฐ
๋ณธ ํ์ด์ง๋ ์ฟ ๋ฒ๋คํฐ์ค ํ๋์ ์ปจํ ์ด๋๋ฅผ ์ํ ํ๊ฒฝ ๋ณ์๋ฅผ ์ ์ํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ค๋ช ํ๋ค.
์์ํ๊ธฐ ์ ์
์ฟ ๋ฒ๋คํฐ์ค ํด๋ฌ์คํฐ๊ฐ ํ์ํ๊ณ , 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๋ฅผ ํ์ธํ๋ค.