ConfigMap

zuckerfrei·2024년 1월 2일
0

Kubernetes

목록 보기
30/63

환경변수 설정 방법 3가지

  1. definition 파일에 env 리스트로 설정
  2. configmap에서 가져오기
  3. secret에서 가져오기


ConfigMap

key : value 구조의 환경변수 데이터
아래의 두 단계에 거쳐서 환경변수를 관리할 수 있음

1. create configmap

configmap 생성 방법 2가지

1) imperative
직접 key value 입력하여 생성 → 시험에서 빠르게 사용 가능
kubectl create configmap {cm이름} --from-literal={key}={value} --from-literal={key}={value} ...

파일로 생성
kubectl create configmap {cm이름} --from-file={file}

2) declarative
kubectl create -f {file}

configMap definition 예시

apiVersion: v1
kind: ConfigMap
metadata:
  name: app-config
data:
  APP_COLOR: blue
  APP_MODE: prod

configmap 확인 방법

kubectl get configmap / cm
kubectl describe configmap / cm

2. inject into pod

2가지 방법

1) 미리 생성한 configmap의 이름을 pod definition 파일에서 사용하는 방법

configmap 1개 전체 가져올 때

apiVersion: v1
kind: Pod
metadata:
  name: configmap-demo-pod
spec:
  containers:
    - name: demo
      image: alpine
      command: ["sleep", "3600"]
      envFrom: 
        - configMapRef:
            name: config-map-name

configmap 중 특정 환경 변수 1개만 가져올 때

apiVersion: v1
kind: Pod
metadata:
  name: configmap-demo-pod
spec:
  containers:
    - name: demo
      image: alpine
      command: ["sleep", "3600"]
      env:
        - name: UI_PROPERTIES_FILE_NAME
          valueFrom:
            configMapKeyRef:
              name: game-demo
              key: ui_properties_file_name

2) volume 에 넣는 방법

apiVersion: v1
kind: Pod
metadata:
  name: mypod
spec:
  containers:
  - name: mypod
    image: redis
    volumeMounts:
    - name: foo
      mountPath: "/etc/foo"
      readOnly: true
  volumes:
  - name: app-config-volume
    configMap:
      name: app-config
profile
무설탕 음료를 좋아합니다

0개의 댓글