๐Ÿ“Œ 1. ConfigMap์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?

ConfigMap์€ Kubernetes์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค์ •๊ฐ’์„ ์™ธ๋ถ€์—์„œ ๋ถ„๋ฆฌํ•˜์—ฌ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฆฌ์†Œ์Šค์ž…๋‹ˆ๋‹ค.

๐Ÿ”„ ์ฝ”๋“œ ๋ณ€๊ฒฝ ์—†์ด ์„ค์ •๋งŒ ๋ฐ”๊ฟ” ๋ฐฐํฌํ•˜๋Š” "ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ์„ค์ • ๊ด€๋ฆฌ"์— ์œ ์šฉํ•ด์š”!


๐Ÿ› ๏ธ 2. ์‹ค์Šต ์˜ˆ์ œ: ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋กœ ConfigMap ์ฃผ์ž…

๐Ÿงช ์˜ˆ์ œ 1: ๊ฐ„๋‹จํ•œ ConfigMap ์ƒ์„ฑ

# configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
  name: app-config
data:
  APP_NAME: "MyApp"
  APP_VERSION: "1.0.0"

kubectl apply -f configmap.yaml


๐Ÿงช ์˜ˆ์ œ 2: Pod์—์„œ ConfigMap ์‚ฌ์šฉํ•˜๊ธฐ

# 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


๐Ÿงช ์˜ˆ์ œ 3: ConfigMap์„ ํŒŒ์ผ์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•˜๊ธฐ (๋ณผ๋ฅจ ๋งˆ์šดํŠธ ๋ฐฉ์‹)

# 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