반응형

ConfigMap

  • 상수값을 저장하는 오브젝트
  • 비밀번호와 같이 민감한 정보가 아닌 일반 상수를 관리

Secret

  • 상수값을 저장하는 오브젝트
  • 비밀번호와 같이 민감한 정보에 대해서 보안 관리가 필요한 상수를 관리
  • 디스크가 아닌 Memory에 저장되고, 1Mbyte까지만 저장할 수 있다.

demo.yml

apiVersion: v1
kind: Pod
metadata:
  name: pod-demo01
spec:
  containers:
    - name: nginx-demo01
      image: nginx:latest
      ports:
        - containerPort: 80
      envFrom:
        - configMapRef:
            name: cm-dev
        - secretRef:
            name: sec-dev

---

apiVersion: v1
kind: ConfigMap
metadata:
  name: cm-dev
data:
  APP_ENV: "development"
  APP_DEBUG: "true" # boolean 값도 문자열로 지정해야함.

---

apiVersion: v1
kind: Secret
metadata:
  name: sec-dev
data:
  APP_PASSWORD: MTIzNA== # base64로 인코딩된 값 설정(예시는 1234)

apply

$ kubectl apply -f demo.yml 
pod/pod-demo01 created
configmap/cm-dev created
secret/sec-dev created

ConfigMap, Secret 생성 확인

$  kubectl get configmap
NAME               DATA   AGE
cm-dev             2      95s
$ kubectl get secret
NAME      TYPE     DATA   AGE
sec-dev   Opaque   1      2m1s

pod에서 ConfigMap, Secret 값 사용하기

$  kubectl exec -it pod-demo01 -c nginx-demo01 -- sh -c 'env | grep APP_'
APP_DEBUG=true
APP_ENV=development
APP_PASSWORD=1234

delete

$ kubectl delete -f demo.yml 
pod "pod-demo01" deleted
configmap "cm-dev" deleted
secret "sec-dev" deleted
반응형

'Development > Kubernetes' 카테고리의 다른 글

[Kubernetes] ReplicaSet  (0) 2025.11.19
[Kubernetes] Namespace, ResourceQuota, LimitRange  (0) 2025.11.19
[Kubernetes] Volume  (0) 2025.10.27
[Kubernetes] Service  (0) 2025.10.23
[Kubernetes] Pod  (0) 2025.10.23

+ Recent posts