개념
글이 많아서 복잡하긴 한데.. 간단히 요약하면
configmap은 인프라 환경 정보+Secret의 파일 경로를 환경변수로 전달한다.
Pod에서는 volumes을 통해 Secret과 연결하고, mountPath를 통해 경로를 만들어 최종적으로 secret의 yaml 파일을 생성한다.
Secret에서는 yaml 파일을 만든다.
이 application 파일들에는 각 인프라 환경마다 다른 DB 정보 등이 저장되어 있다.
실습
1) 입력값 확인(Configmap, Secret)
- Dashbord에서 바로 확인
▲ 실제 값은 base64로 인코딩된 값이지만, 대시보드에서 복호화(decoding)해서 보여준다
- 콘솔에서 확인
▲ jsonpath='{.data.postgresql-info\.yaml}' : postgresql-info가 Key인 Value값만 출력
- Bash에서 확인( Pod > Bash(exec) > env 입력)
# Secret 파일 경로
/usr/src/myapp/datasource/postgresql-info.yaml
▲ 값이 복호화된 채로 들어가있음
# JVM(java virtual machine)에서 실행중인 프로세스를 확인하는 명령어
# -v : 옵션도 같이 출력
jps -v
▲ App이 실행되면서 이 값들이 들어간다.
# kubectl로 출력해보기
kubectl exec -n <namespace-name> -it <pod-name> -- <command>
# command에 env, cat+파일명, jps -v를 넣어보면 된다
2) API 날리기
3) Configmap 수정해보기
- 대시보드에서 수정
application_role=GET
- 콘솔에서 수정
export application_role=GET
▲ Configmap의 환경변수들은 Pod가 처음 만들어질 때 한번만 주입되기 때문에, 수정해도 변화가 없음!
4) Secret 수정해보기
▲ Secret은 volumeMount로 연결했기 때문에 수정이 됨
Secret의 Type 별로 다른 여러 기능을 사용할 수 있다!
'인프런 복습 - 쿠버네티스 어나더 클래스' 카테고리의 다른 글
[Sprint1] Application 기능- PV/PVC, Deployment, Service, HPA + 실습 (0) | 2025.04.22 |
---|---|
[Sprint1] Configmap, Secret 과제 (0) | 2025.04.17 |
[Sprint1] Application 기능으로 이해하기 - Probe (0) | 2025.04.08 |
[Sptint1] Object 그려보며 이해하기 (0) | 2025.04.02 |
[Sptint1] 실무에서 느껴 본 쿠버네티스가 정말 편한 이유 (0) | 2025.04.01 |