Kubernetes/KoudKloud - CKAD with Tests

환경 변수/ConfigMap 관련 명령어

비번변경 2021. 11. 22. 19:26

ConfigMap이란 키-값 쌍의 형태로 기밀이 아닌 데이터를 저장하는 객체다. 포드의 환경 변수 등으로 사용할 수 있다.

환경 변수를 확인 및 수정하고 ConfigMap을 생성하여 포드의 환경 변수로 사용하도록 설정하는 방법에 대해 정리해둔다.

 

포드의 환경 변수 확인

kubectl describe pod <POD_NAME>

Containers 아래 Environment 필드를 확인한다.

포드의 환경 변수 확인

 

포드 환경 변수 업데이트

기존 포드의 환경 변수를 업데이트하는 방법은 따로 없다.

기존 포드의 yaml 파일을 수정한 뒤, 기존 포드를 삭제 및 재생성하면 된다.

apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: "2021-11-14T04:57:52Z"
  labels:
    name: webapp-color
  name: webapp-color
  namespace: default
  resourceVersion: "825"
  uid: f10a9bc9-7fe6-48dc-a72e-98db1cab924a
spec:
  containers:
  - env:
    - name: APP_COLOR # 환경 변수 이름
      value: green # 환경 변수 값

 

configmap를 포드의 환경 변수로 지정

포드 정의 yaml 파일에서 spec > containers > env 쪽을 추가 또는 수정한 후, 포드를 생성한다.

apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: "2021-11-14T04:57:52Z"
  labels:
    name: webapp-color
  name: webapp-color
  namespace: default
  resourceVersion: "825"
  uid: f10a9bc9-7fe6-48dc-a72e-98db1cab924a
spec:
  containers:
  - env:
    - name: APP_COLOR
      valueFrom: # ConfigMap 지정
        configMapKeyRef:
              name: webapp-config-map # configmap 이름
              key: APP_COLOR # data 키 지정

 

ConfigMap 목록 확인

get 명령으로 configmap 목록을 확인할 수 있다.

kubectl get configmaps

 

ConfigMap 상세 확인

describe 명령으로 configmap의 상세 정보를 확인할 수 있다.

kubectl describe configmaps <NAME>

# 예시
kubectl describe configmaps db-config

ConfigMap 상세 확인

키와 값은 ----으로 구분한다.

 

ConfigMap 생성

create 명령으로 configmap을 생성할 수 있다.

# 문자열로 키-값 쌍을 전달하여 생성
kubectl create configmap <NAME> --from-literal=<KEY=VALUE>

# 예시
kubectl create configmap webapp-config-map --from-literal=APP_COLOR=darkblue

ConfigMap 생성

 


참고문서

https://kubernetes.io/ko/docs/concepts/configuration/configmap/