7. Configmap & Secret 개념

7-1. Configmap 구성 요소

configmap의 data는 파드의 환경 변수(env)로 들어감

  • spring_profiles_active : spring properties 파일의 선택하는 값.
  • application_role : 앱의 기능을 제어하기 위한 값.
  • postgresql_filepath : 파드의 볼륨 mountPath를 변경할 상황에서 재빌드 대신 filepath 변경만으로 해결 가능.

7-2. Secret 구성 요소

중요한 데이터를 저장하는 용도로 이용

  • stringData는 쓰기 전용 데이터로 나중에 data속성으로 저장됨.
  • Secret의 데이터들은 Base64로 인코딩됩니다.
  • 또한 해당 데이터들은 container에 각 속성 이름으로 저장됩니다. (postgresql-info.yaml)

NOTE

> secret에는 type이라는 속성이 있다.
> - docker-registry : 사설 docker registery사용할때 이용하는 템플릿
> - opaque : 데이터를 base64로 인코딩하는 템플릿
> - tls : 파드마다 다른 보안 인증서를 이용할때 이용

7-3. Secret의 데이터를 암호화 하는 방법

Secret에서 자체적으로 제공하는 type중에서도 Secret의 데이터를 암호화해주는 템플릿은 없습니다. 따라서 kubertes 사용자들은 secret을 사용할때 추가적인 보안 처리 과정을 거쳐야 합니다.

  1. Cluster 내에서 직접생성/관리
  2. 자체 암호화
  3. 서드 파티 vault 이용하기