[CKA] 애플리케이션 환경 변수
애플리케이션 환경 변수의 핵심 개념과 구성 방법, 실습 풀이를 정리합니다.
Kubernetes Pod에 환경 변수를 전달하는 방법은 여러가지가 존재합니다.
직접 전달
apiVersion: v1
kind: Pod
metadata:
name: env-demo-pod
spec:
containers:
- name: env-demo-container
image: nginx
env:
- name: DEMO_GREETING
value: "Hello from the environment"
- name: DEMO_FAREWELL
value: "Such a sweet sorrow"
ConfigMap
먼저 ConfigMap을 생성합니다.
apiVersion: v1
kind: ConfigMap
metadata:
name: demo-config
data:
DEMO_GREETING: "Hello from ConfigMap"
DEMO_FAREWELL: "Goodbye from ConfigMap"
Pod에서 ConfigMap을 참조합니다.
apiVersion: v1
kind: Pod
metadata:
name: env-demo-pod
spec:
containers:
- name: env-demo-container
image: nginx
envFrom:
- configMapRef:
name: demo-config
Secrets
Secret을 생성합니다.
apiVersion: v1
kind: Secret
metadata:
name: demo-secret
type: Opaque
data:
USERNAME: dXNlcm5hbWU= # base64 encoded "username"
PASSWORD: cGFzc3dvcmQ= # base64 encoded "password"s
Secret을 참조합니다.
apiVersion: v1
kind: Pod
metadata:
name: env-demo-pod
spec:
containers:
- name: env-demo-container
image: nginx
env:
- name: SECRET_USERNAME
valueFrom:
secretKeyRef:
name: demo-secret
key: USERNAME
- name: SECRET_PASSWORD
valueFrom:
secretKeyRef:
name: demo-secret
key: PASSWORD