
Application 기능으로 k8s 이해 - Configmap, Secret
Application 기능으로 k8s 이해 - Configmap, Secret에 대해 공부하기!
configmap의 data가 pod의 환경변수로 들어간다.
[data의 내용]
application_role: App의 역할을 지정
postgresql_filepath: secrete 데이터로 연결할 파일의 경로
spring_profiles_active: 환경 변수로 들어가는 값, 앱이 기동되는 시점에 알려주기 위한 변수
위의 데이터를 가지고 생성된 pod로 실습하며 공부했다.
입력값 확인 (Secret, Configmap)
base64로 인코딩된 값 아니다. 실제로 인코딩이 되어 저장 되어 있으나 대시보드에서 복호화를 해서 보여준다.
Secret
Configmap
Secret 확인
키는 그대로 있다. value부분은 base64로 인코딩으로 저장된 값
Secret data에서 postgresql-info가 Key인 Value값을 Base64 디코딩해서 보기
컨테이너 내부 확인
Configmap 환경 변수 확인
Secret 파일 확인
명령어 cat /usr/src/myapp/datasource/postgresql-info.yaml 로 확인! --> 값이 디코딩 되서 들어온다
java 실행 인자 확인
Application 정보 확인 (version, profile, role, database)
Application Properties 파일 구성 확인
datasource에는 정보가 없고 외부에서 값을 받아야 한다.
앱 내부에서는 application.yaml 파일로 dev, qa path 관리
Configmap 수정
환경변수 수정 명령
Secret 수정 (dev -> test)
secret를 volume 마운팅으로 연결해 놓은 관계여서 그렇다.
다시 API조회
환경변수 그대로! Database의 username, password 변pod삭제 -> 새 파드 -> 환경변수 -> GET잘 들어감 -> Application 정보 확인 -> GET확인
댓글을 작성해보세요.