
Q. ConfigMap은 어느 타이밍에 적용되는건가?
A. ConfigMap은 Pod가 시작될 때 적용. 다시 말해, ConfigMap 오브젝트의 내용을 바꾸더라도 바꾸기 전 이미 가동중인 Pod는 재시작까지 변경 내용이 반영되지 않는다.
FROM --platform=linux/amd64 nginx:1.27.0
ENV TITLE NONE
CMD ["/bin/sh", "-c", "echo \"Hello, $TITLE\" > /usr/share/nginx/html/index.html && nginx -g 'daemon off;'"]


pod를 생성하고 8080포트에 연결

apiVersion: v1
kind: ConfigMap
metadata:
name: sample-configmap
data:
PUBLIC_NAME: KUBERNETES

apiVersion: v1
kind: Pod
metadata:
name: sample-pod
namespace: default
spec:
containers:
- name: nginx
image: asia-northeast3-docker.pkg.dev/responsive-task-450008-m7/sample-app/configmap-sample:1.0.0
env:
- name: TITLE
valueFrom:
configMapKeyRef:
name: sample-configmap
key: PUBLIC_NAME
ports:
- containerPort: 80


Secret도 결국 복호화가 가능한 Base64 형태로 저장되기 때문에, Secret에 민감정보를 저장한다고 알아서 보안처리가 되는 것은 아니다.
중요한 정보는 유출되지 않도록 운영하고 개발하는 과정에서 항상 노력해야한다.
apiVersion: v1
kind: Secret
metadata:
name: sample-secret
data:
SECRET_NAME: c2VjcmV0IOyYiOygnCDsl7DsirU=


apiVersion: v1
kind: Pod
metadata:
name: sample-pod
namespace: default
spec:
containers:
- name: nginx
image: asia-northeast3-docker.pkg.dev/responsive-task-450008-m7/sample-app/configmap-sample:1.0.0
env:
- name: TITLE
valueFrom:
secretKeyRef:
name: sample-secret
key: SECRET_NAME
ports:
- containerPort: 80

