출제 문제
※ 기억에 의존해 복기하는 문제라 오류가 있을 수 있습니다.
참고만 부탁 드립니다.
- postgres deployment의 env에 하드코딩 된 argument를 참고하여 secret 생성
secret name : postgres
namespace : devops
key name : username, database, password - 생성된 postgres secret을 postgres deployment의 env에 하드코딩 된 argument를 수정 반영
※ postgres deployment YAML파일을 제공하고 수정해서 재배포하라고 나왔을 수 있음
# Kubernetes 메뉴얼
https://kubernetes.io/docs/tasks/configmap-secret/managing-secret-using-kubectl/
https://kubernetes.io/docs/tasks/inject-data-application/distribute-credentials-secure/
# postgres deployment의 env 확인 $ kubectl describe deployment -n devops postgres | grep -A3 Environment Environment: PG_USERNAME: pgadmin PG_DATABASE: pgdatabase PG_PASSWORD: pgpwd1234
# Secret 생성 $ kubectl create secret generic postgres --from-literal=username=pgadmin --from-literal=database=pgdatabase --from-literal=password=pgpwd1234 -n devops $ kubectl get secrets -n devops
# 제공된 postgres deployment의 yaml 수정 및 저장 $ vi postgres-deployment.yaml ... spec: containers: - name: postgres image: postgres:stable env: - name: PG_USERNAME valueFrom: secretKeyRef: name: postgres key: username - name: PG_DATABASE valueFrom: secretKeyRef: name: postgres key: database - name: PG_PASSWORD valueFrom: secretKeyRef: name: postgres key: password ... # deployment 재배포 $ kubectl apply -f postgres-deployment.yaml # Environment 값 확인 $ kubectl describe deployment -n devops postgres