ConfigMap์ Kubernetes์์ ์ ํ๋ฆฌ์ผ์ด์ ์ค์ ๊ฐ์ ์ธ๋ถ์์ ๋ถ๋ฆฌํ์ฌ ๊ด๋ฆฌํ ์ ์๋ ๋ฆฌ์์ค์ ๋๋ค.
๐ ์ฝ๋ ๋ณ๊ฒฝ ์์ด ์ค์ ๋ง ๋ฐ๊ฟ ๋ฐฐํฌํ๋ "ํ๊ฒฝ์ ๋ฐ๋ผ ๋ค๋ฅธ ์ค์ ๊ด๋ฆฌ"์ ์ ์ฉํด์!
# configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: app-config
data:
APP_NAME: "MyApp"
APP_VERSION: "1.0.0"
kubectl apply -f configmap.yaml
# pod-using-configmap.yaml
apiVersion: v1
kind: Pod
metadata:
name: configmap-demo
spec:
containers:
- name: demo-container
image: busybox
command: [ "sh", "-c", "echo $APP_NAME $APP_VERSION && sleep 3600" ]
env:
- name: APP_NAME
valueFrom:
configMapKeyRef:
name: app-config
key: APP_NAME
- name: APP_VERSION
valueFrom:
configMapKeyRef:
name: app-config
key: APP_VERSION
kubectl apply -f pod-using-configmap.yaml
# pod-volume-configmap.yaml
apiVersion: v1
kind: Pod
metadata:
name: configmap-volume-demo
spec:
containers:
- name: demo
image: busybox
command: [ "sh", "-c", "cat /etc/config/APP_NAME && sleep 3600" ]
volumeMounts:
- name: config-volume
mountPath: /etc/config
volumes:
- name: config-volume
configMap:
name: app-config