CKA

ConfigMap & Secrets

백셀건전지 2021. 9. 8. 15:46

ConfigMap

  • kubectl create configmap app-config --from-literal=APP_COLOR=blue
  • --from-literal 옵션 뒤에는 <Key>=<Value>형태로 변수 넘겨줌
  • --from-file 옵션으로 외부의 file 참조하여 생성 가능
  • Pod(deployment)definition 의 spec.containers.envFrom.configMapRef 에 configmap 명 넣어주면 configMap의 data가 pod의 env variable로 추가됨

Secrets

  • 민감 정보를 저장하기 위한 component
  • 저장시 암호화되어 저장됨
  • kubectl create secret generic app-secret --from-literal=APP_COLOR=blue --from-literal=DB_User=test
  • --from-literal 옵션 뒤에는 <Key>=<Value>형태로 변수 넘겨줌
  • --from-file 옵션으로 외부의 file 참조하여 생성 가능
  • definition으로 secret생성 시 base64 encoded 형태로 변경해서 저장해야 함
  • echo -n 'mysql' | base64 명령어로 encode 가능
  • kubectl describe secrets 하면 value 값 안보이므로, kubectl get secret secret-name -o yaml 옵션 하면 열람 가능
  • decode 방법: echo -n 'bXlzcWw=' | base64 --decode
  • Pod(deployment)definition 의 spec.containers.envFrom.secretRef 에 secret 명 넣어주면 secret의 data가 pod의 env variable로 추가됨
  • apiVersion: v1
    kind: Pod
    metadata:
      name: secret-test-pod
    spec:
      containers:
        - name: test-container
          image: k8s.gcr.io/busybox
          command: [ "/bin/sh", "-c", "env" ]
          envFrom:
          - secretRef:
              name: mysecret
      restartPolicy: Never

'CKA' 카테고리의 다른 글

Replication Controller & Replica Sets  (0) 2021.09.08
Kubernetes Pods  (1) 2021.09.08
Commands and Arguments  (0) 2021.09.08
Application Lifecycle Management  (0) 2021.09.08
Monitoring & Logging  (0) 2021.09.08