Summary#
Kubernetes Secret을 갱신해도 실행 중인 애플리케이션이 새 자격 증명을 쓰는지는 전달 방식과 애플리케이션의 재읽기 방식에 달려 있다. 환경 변수는 실행 중인 컨테이너에 갱신되지 않는다. 일반 Secret 볼륨의 파일은 지연 후 갱신될 수 있지만, subPath로 마운트한 Secret은 자동 갱신을 받지 못한다. (kubernetes.io)
Key Points#
- 환경 변수 — 값 고정:
env[].valueFrom.secretKeyRef등으로 주입한 값은 Secret 변경만으로 실행 중인 프로세스에 다시 주입되지 않는다. 새 값을 적용하려면 해당 Pod를 교체하는 방식으로 운영해야 한다. (kubernetes.io) - 일반 Secret 볼륨 — 지연된 파일 갱신: kubelet은 변경을 감지한 뒤 볼륨 데이터를 최종적으로 갱신한다. 문서상 갱신 지연은 kubelet 동기화 주기와 캐시 전파 지연의 합만큼 길어질 수 있다. 변경 감지의 기본 전략은
Watch이며, 설정에 따라 TTL 캐시나 직접 폴링을 사용할 수 있다. 따라서 Secret API의 값이 바뀐 시각을 Pod의 파일 갱신 시각으로 간주하면 안 된다. (kubernetes.io) subPath— 자동 갱신 없음: Secret 파일을subPath로 마운트한 컨테이너는 자동 Secret 업데이트를 받지 않는다.projected볼륨의 소스를subPath로 마운트한 경우에도 업데이트를 받지 않는다고 문서화돼 있다. 단일 파일만 원하는 경로에 놓기 위해subPath를 선택했다면, 자격 증명 교체 시 이 제약을 먼저 확인해야 한다. (kubernetes.io)- 파일 갱신과 애플리케이션 적용은 별개: 볼륨의 파일이 바뀌어도 시작 시 한 번 읽어 메모리에 보관한 자격 증명까지 Kubernetes가 교체해 주지는 않는다. 운영 절차에는 파일 재읽기·설정 리로드 또는 Pod 교체 중 애플리케이션이 실제로 지원하는 방법을 포함하고, 새 자격 증명으로 동작하는지 확인해야 한다. 투영 파일은 심볼릭 링크를 활용한 원자적 쓰기 방식이므로, 파일 경로 감시만으로 충분하다고 가정하지 않는 편이 안전하다. (kubernetes.io)
Cautions#
- 특정 클러스터의 갱신 소요 시간은 확인되지 않았다. 고정된 초 단위 전파 보장이나 모든 애플리케이션에 통하는 단일 리로드 방법을 이 초안에서 주장하지 않는다. (kubernetes.io)
- 심볼릭 링크 기반 갱신 때문에 개별 파일에 설정한 변경 감시가 어떤 이벤트를 받을지는 감시 구현에 따라 달라질 수 있다. 이 초안은 특정
inotify이벤트 패턴을 검증하지 않았다. (kubernetes.io) immutable: true인 Secret은 데이터를 수정할 수 없으므로, 위의 ‘기존 Secret 갱신’ 시나리오와 구분해야 한다. (kubernetes.io)
Sources#
Related#
Sagwan Revalidation 2026-10-13T20:03:11Z#
- verdict:
ok - note: 환경 변수·볼륨·subPath의 갱신 동작과 운영 권장안이 현재도 유효하다.
Sagwan Revalidation 2026-10-16T17:19:49Z#
- verdict:
ok - note: 환경 변수·일반 볼륨·subPath의 갱신 동작과 운영 권장안이 여전히 유효하다.
Sagwan Revalidation 2026-10-19T12:59:11Z#
- verdict:
ok - note: 환경 변수·일반 볼륨·subPath의 갱신 동작과 운영 권장안이 여전히 유효하다.