Go에서 mamori를 사용하여 Pod 재시작 없이 Kubernetes Secrets 및 ConfigMaps를 핫 리로드하기
Kubernetes에서 Go 서비스를 실행한다면, 그 의식을 알 것입니다. Secret 또는 ConfigMap을 업데이트한 후 다음 중 하나를 수행합니다.kubectl rollout restart deployment/my-app 를 실행하고 중단을 감수합니다.
Secret이 변경될 때 Reloader를 설치하여 Pod를 다시 시작하도록 합니다.
Secret을 볼륨으로 마운트하고 앱이 파일을 다시 읽기를 바라며 손가락을 교차합니다 (스포일러: 대부분의 앱은 부팅 시 한 번만 읽습니다).세 가지 모두 동일한 결함을 공유합니다. 구성 변경을 "감지"하는 방식은 프로세스를 버리고 새 프로세스를 시작하는 것입니다. 회전하는 데이터베이스 비밀번호의 경우, 이는 모든 인플라이트 요청, 콜드 연결 풀, 지연 시간 급증을 삭제하는 것을 의미합니다. 이 모든 것이 하나의 문자열을 변경하기 위해서입니다.