Configmap/Secret 을 변경하고 컨테이너에 반영해야할 때

Created
Apr 10, 2022
Created by
Tags
Kubernetes
Property
 
 
  1. $ kubectl edit secret 명령어 사용
  1. YAML 파일 변경하고 $ kubectl apply -f 명령어 사용
  1. $ kubectl patch 명령어 사용
 
컨피그맵/시크릿을 컨테이너의 환경변수로 제공하면 컨피그맵/시크릿 값이 변경되어도 파드에 반영되지 않는다. 반영하려면 파드를 죽이고 다시 만들어야 한다. (프라이빗 레지스트리 인증 토큰이 만료되었으면 위에 3가지 방법 중 하나로 시크릿 수정하고 파드 다시 만들어야 함)
컨피그맵/시크릿을 컨테이너 볼륨에 마운트 시키면 컨피그맵/시크릿 파일 내용이 변경되었을 때 컨테이너에서 변경된 내용에 접근할 수 있다. 하지만 파일 내용이 바뀌었다고 해서 이미 동작하고 있는 애플리케이션에 반영이 되는 건 아니다.
바뀐 시크릿 값을 파드 내 컨테이너 프로세스한테 바로 반영하려면 파드 안에 사이드카 컨테이너를 따로 만들어야 한다. (예: nginx.conf 컨피그맵이 바뀌는 이벤트가 생기면 nginx reload 시키는 프로세스가 필요함.)
 
 
 
참고자료