Kubernetes - ConfigMap

choko's avatar
Jun 29, 2024
Kubernetes - ConfigMap
목표
쿠버네티스에서 설정파일과 환경변수를 관리하는 방법을 알아봅니다.
 
  • 컨테이너에서 설정 파일을 관리하는 방법은 이미지를 빌드할 때 복사하거나, 컨테이너를 실행할 때 외부 파일을 연결하는 방법이 있다.
  • 쿠버네티스는 ConfigMap으로 설정을 관리한다.
 
  • 애플리케이션을 배포하다 보면 환경에 따라 다른 설정값을 사용하는 경우가 있다.
  • 이런 환경 변수가 차이나는 경우 매번 다른 컨테이너 이미지를 만드는건 매우 불편하다.
    • 환경변수나 설정값들을 변수로 관리해서 Pod이 생성될 때 이 값을 넣어줄 수 있는데, 이러한 기능을 제공하는 것이 ConfigmapSecret이다.
  • Configmap이나 secret에 정의해놓고, 이 정의해놓은 값을 Pod로 넘기는 방법은 크게 두가지가 있다.
    • 정의해놓은 값을 Pod의 환경 변수 (Environment variable)로 넘기는 방법
    • 정의해놓은 값을 Pod의 디스크 볼륨으로 마운트 하는 방법
 
 

ConfigMap

  • configmap은 설정 정보를 저장해놓는 저장소 역할을 한다.
  • key-value 형식으로 저장이 된다.
  • 문자로 생성하는 방법, 파일로 생성하는 방법 두 가지가 있다.
    • 문자(Literal)로 생성
    • Kubectl create configmap [configmap 이름] --from-literal=[키]=[값]
    • YAML 파일로 생성
    • // hello-cm.yaml apiVersion: v1 kind: ConfigMap metadata: name: hello-cm data: language: java
       
Share article

Tom의 TIL 정리방