Enterprise Infrastructure Intelligence ● Certified engineers online · Fast response guaranteed
클라우드/DevOps

Kubernetes ConfigMap과 Secret의 저장소 메커니즘과 보안 아키텍처

Kubernetes ConfigMap과 Secret은 모두 etcd에 저장되는 API 객체이지만 암호화 방식과 접근 제어가 차이납니다. ConfigMap은 평문으로 저장되어 보안이 약한 반면, Secret은 기본적으로 base64 인코딩되며 암호화 활성화 시 etcd에서 암호화 상태로 유지됩니다.

2026.09.02  ·  33회  · 

저장소 계층의 구조적 차이

ConfigMap과 Secret 모두 Kubernetes API 서버의 백엔드 저장소인 etcd에 저장됩니다. 그러나 저장 방식에서 근본적인 차이가 있습니다. ConfigMap은 데이터를 평문(plain text)으로 저장하는 반면, Secret은 데이터를 base64로 인코딩하여 저장합니다. base64는 인코딩이지 암호화가 아니므로 etcd에 접근 가능한 누구나 쉽게 디코딩할 수 있습니다.

보안 계층: 암호화 활성화의 필요성

진정한 보안을 위해서는 Encryption at Rest를 명시적으로 활성화해야 합니다. Kubernetes 1.7 이후부터는 etcd에서 Secret을 암호화된 형태로 저장할 수 있는 기능이 제공됩니다. 암호화를 활성화하지 않으면 Secret도 실질적으로 평문 상태이므로, 운영 환경에서는 반드시 etcd 암호화 정책을 적용하고 RBAC를 통해 접근 제어를 해야 합니다.

노드 메모리 vs 디스크 저장소

etcd 계층과 별개로, 노드에서의 Secret 취급 방식이 중요합니다. kubelet이 Pod를 실행할 때 Secret 데이터는 tmpfs(임시 파일 시스템)에만 메모리로 저장되며 디스크에 기록되지 않습니다. ConfigMap의 경우 이러한 보호가 명시적이지 않으므로, 민감한 데이터는 반드시 Secret을 사용해야 합니다. 또한 Pod 삭제 시 kubelet이 메모리에서 데이터를 정리합니다.

크기 제한과 성능 고려사항

ConfigMap과 Secret 모두 1MB의 크기 제한이 있습니다. 이는 API 서버와 kubelet의 메모리 고갈을 방지하기 위한 설계입니다. 큰 설정 파일이 필요한 경우 별도의 스토리지 볼륨을 사용해야 합니다. Immutable 옵션을 활성화하면 kubelet이 변경사항 감지(watch) 메커니즘을 유지할 필요가 없어져 클러스터 성능이 향상됩니다.

WIKIDATA WORKSTATION
AI·렌더링에 최적화된
전문가용 워크스테이션
NVIDIA RTX GPU · 최대 192GB 메모리 · ECC 지원