설명
--terminated-pod-gc-threshold는 종료된 Pod 수가 얼마를 넘으면 정리를 시작할지 정하는 값입니다. 0 이하이면 이 정리 기능이 비활성화됩니다. 너무 낮은 양수는 원인 분석에 필요한 Pod 오브젝트를 빨리 삭제할 수 있고, 너무 높거나 비활성화된 설정은 오래된 오브젝트가 쌓이게 할 수 있습니다.
종료된 Pod 정리는 클러스터 가용성과 운영 편의 모두에 영향을 줍니다. 개수 기준이며 로그 보존 기간을 대신하지 않으므로 별도의 로그·감사 보존도 함께 관리하세요.
잠재적 영향
- 정리하지 않은 종료 Pod 오브젝트가 쌓여 제어면 부담이 늘 수 있습니다.
- 임계값이 너무 낮으면 원인 분석에 필요한 종료 Pod 정보가 빨리 사라질 수 있습니다.
해결 방법
--terminated-pod-gc-threshold를 종료 Pod 발생량과 조사 요구에 맞는 양수로 설정하세요.- 현재 기본값 12500과 운영 규모를 참고하되, 하나의 값을 모든 환경에 그대로 적용하지 마세요.
- 중앙 로그와 감사 기록 보존을 별도로 설정하고 정리 후에도 필요한 조사 자료가 남는지 확인하세요.
예시
기존 v1.6.0 이미지가 포함된 명령 인수 비교용 발췌입니다. 해당 버전을 배포하라는 권장 사항이 아닙니다. 지원되는 버전과 실제 제어면 설정에 적용하고 필요한 인증서·접속 설정은 별도로 구성하세요.
변경 전
yaml
apiVersion: v1
kind: Pod
metadata:
name: command-demo
spec:
containers:
- name: command-demo-container
image: gcr.io/google_containers/kube-controller-manager-amd64:v1.6.0
command: ["kube-controller-manager", "--terminated-pod-gc-threshold=0"]
args: []
변경 후
yaml
apiVersion: v1
kind: Pod
metadata:
name: command-demo
spec:
containers:
- name: command-demo-container
image: gcr.io/google_containers/kube-controller-manager-amd64:v1.6.0
command: ["kube-controller-manager"]
args: ["--terminated-pod-gc-threshold=10"]
설명:
- 변경 전:
0은 종료 Pod 정리 기능을 비활성화합니다. 종료 오브젝트가 누적될 수 있습니다. - 변경 후:
10은 작은 개수의 예시입니다. 정리는 활성화되지만 조사에 필요한 정보가 너무 빨리 없어지지 않는지 검토하세요.