제10장. ConfigMap 과 비밀 정보
이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com
쿠버네티스는 구성 데이터 를 정의하기 위해 두 가지 기본 요소(primitive)를 제공합니다: ConfigMap과 Secret입니다. 두 기본 요소 모두 Pod의 라이프사이클과 완전히 분리되어 있어, Pod를 반드시 재배포하지 않고도 구성 데이터 값을 변경할 수 있습니다.
본질적으로 ConfigMap과 Secret은 키-값 쌍의 집합을 저장합니다. 이러한 키-값 쌍은 환경 변수로 컨테이너에 주입되거나 볼륨으로 마운트될 수 있습니다. 그림 10-1은 이러한 옵션을 보여줍니다.
그림 10-1. 구성 데이터소비
ConfigMap과 Secret은 표면적으로 목적과 구조가 거의 동일해 보일 수 있지만, 미묘하지만 중요한 차이가 있습니다. ConfigMap은 연결 URL, 런타임 플래그, JSON이나 YAML과 같은 구조화된 데이터 등 일반 텍스트 데이터를 저장합니다. Secret은 비밀번호, API 키, SSL(Secure Sockets Layer) 인증서와 같은 민감한 데이터를 표현하는 데 더 적합하며, 데이터를 Base64 인코딩된 형태로 저장합니다.
ConfigMap 및 Secret 데이터 암호화
ConfigMap 및 Secret 객체의 데이터를 저장하는 클러스터 구성 요소는 etcd이며, 기본적으로 이 데이터를 암호화되지 않은 형태로 관리합니다. 쿠버네티스 문서에 설명된 대로 etcd 내 데이터 암호화 를 구성할 수 있습니다. etcd 암호화는 시험 범위에 포함되지 않습니다.
이 장에서는 볼륨 개념을 많이 언급합니다. Pod 내에서 볼륨을 사용하는 메커니즘에 대한 복습은 15장을 참조하십시오.
ConfigMap 작업
애플리케이션은 종종 구성 데이터를 사용하여 런타임 동작을 제어하는 로직을 구현합니다. 구성 데이터의 예로는 대상 배포 환경마다 다른 타사 서비스에 대한 연결 URL 및 네트워크 통신 옵션(재시도 횟수나 타임아웃 등)이 있습니다.
동일한 구성 데이터를 여러 Pod 에 제공해야 하는 경우도 흔합니다. 여러 Pod 정의에 동일한 키-값 쌍을 복사하여 붙여넣는 대신, 정보를 ConfigMap 객체에 중앙 집중화할 수 있습니다. ConfigMap 객체는 구성 데이터를 보관하며 원하는 만큼 많은 Pod에서 사용할 수 있습니다. 따라서 데이터를 변경해야 할 경우 단 한 곳에서만 수정하면 됩니다.
ConfigMap 생성하기
ConfigMap 은 명령형 create configmap 명령어 를 실행하여 생성할 수 있습니다. 이 명령어는 데이터 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access