🔥딱 8일간! 인프런x토스x허먼밀러 역대급 혜택

Application 기능으로 k8s 이해 - Configmap, Secret

Application 기능으로 k8s 이해 - Configmap, Secret

Application 기능으로 k8s 이해 - Configmap, Secret에 대해 공부하기!

 

configmap의 data가 pod의 환경변수로 들어간다.

 

[data의 내용]

  • application_role: App의 역할을 지정

  • postgresql_filepath: secrete 데이터로 연결할 파일의 경로

  • spring_profiles_active: 환경 변수로 들어가는 값, 앱이 기동되는 시점에 알려주기 위한 변수

image

위의 데이터를 가지고 생성된 pod로 실습하며 공부했다.


 

입력값 확인 (Secret, Configmap)

base64로 인코딩된 값 아니다. 실제로 인코딩이 되어 저장 되어 있으나 대시보드에서 복호화를 해서 보여준다.

Secret

image

Configmapimage

Secret 확인

키는 그대로 있다. value부분은 base64로 인코딩으로 저장된 값image

Secret data에서 postgresql-info가 Key인 Value값을 Base64 디코딩해서 보기

image

컨테이너 내부 확인

Configmap 환경 변수 확인image

Secret 파일 확인image

명령어 cat /usr/src/myapp/datasource/postgresql-info.yaml 로 확인! --> 값이 디코딩 되서 들어온다

image

java 실행 인자 확인

Application 정보 확인 (version, profile, role, database)

image

Application Properties 파일 구성 확인

datasource에는 정보가 없고 외부에서 값을 받아야 한다.

앱 내부에서는 application.yaml 파일로 dev, qa path 관리

imageConfigmap 수정

환경변수 수정 명령

image

Secret 수정 (dev -> test)

secret를 volume 마운팅으로 연결해 놓은 관계여서 그렇다.
image

다시 API조회

image

환경변수 그대로! Database의 username, password 변pod삭제 -> 새 파드 -> 환경변수 -> GET잘 들어감 -> Application 정보 확인 -> GET확인

image

댓글을 작성해보세요.

채널톡 아이콘