Garbage collector on pod termination is not active

ID

kube_controller_manager_terminated_pod

Severity

low

Vendor

Kubernetes

Resource

kube-controller-manager

Tags

reachable

Description

--terminated-pod-gc-threshold determine number of terminated pods that can exist before the terminated pod garbage collector starts deleting terminated pods

Current setting for garbage collection is 12,500 terminated pods which might be too high for your system to sustain. Ensure you choose an appropriate threshold value based on your system resources.

Examples

apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: null
  labels:
    component: kube-controller-manager
    tier: control-plane
  name: weak
  namespace: kube-system
spec:
  containers:
  - command:
    - kube-controller-manager (1)
    - --controllers=*,bootstrapsigner,tokencleaner
    image: gcr.io/google_containers/kube-apiserver-amd64:v1.6.0
1 When --terminated-pod-gc-threshold is not set, garbage collector occurs when 12500 terminated pod is reached, which could be too high for your system.

Mitigation / Fix

apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: null
  labels:
    component: kube-controller-manager
    tier: control-plane
  name: good
  namespace: kube-system
spec:
  containers:
  - command:
    - kube-controller-manager
    - --controllers=*,bootstrapsigner,tokencleaner
    - --terminated-pod-gc-threshold=500 (1)
    image: gcr.io/<image>
1 Verify --terminated-pod-gc-threshold is set appropriately.