
ConfigMap
- pod에 바로 연결이 됨
- envFrom은 파드 안에 환경 변수로 들어가게 하는 속성
- configmap을 연결하고 파드 안에 들어가서 env라는 명령을 쳐보면 이 configmap에 데이터가 주입된 것을 확인가능
- 대시보드의 파드에서 exec로 접속
- 혹은
kubectl -n <namespace> exec -it <pod name> /bin/bash
- 인프라 환경에 따른 값, 앱의 기능을 제어하기 위한 값, 외부 환경을 앱으로 주입시키기 위한 값 3가지로 나뉨
- 데이터의 내용을 보면 Key Value 형식으로 되어 있음.
spring_profiles_active: "dev"
application_role : "ALL"
postgresql_filepath: "..../postgresql-info.yaml"
- spring_profiles_active: “dev”
- 스프링 부트에서 어플리케이션이 사용할 프로파일(profile)을 지정
- dev로 예를 들면 application-dev.yaml, 혹은 application-dev.properties
- application_role : "ALL”
- 어플리케이션이 어떤 역할(모드)로 동작할지 지정하는 커스텀 환경 변수
- ALL은 모든 기능을 활성화
- 혹은 특정환경(MASTER, WORKER, API, ADMIN 등)에서만 일부 기능을 실행할 수 도 있다.
- 애플리케이션 내부코드에서 application_role 값을 읽어 조건 분기 처리
- postgresql_filepath: "..../postgresql-info.yaml”
-
애플리케이션이 사용할 PostgreSQL DB 접속 정보를 담은 파일 경로를 지정
-
애플리케이션 내부에서 이 경로의 YAML 파일을 읽어서
-
DB 커넥션 정보
-
사용자명/비밀번호
-
DB 이름
-
호스트/포트
등을 불러언디
-
설정파일을 따로 외부에서 관리하므로,
코드 변경 없이 DB정보(비밀번호/엔드포인트 등)를 쉽게 교체 가능
그림으로 보는 동작
