-
Feature Request
-
Resolution: Done
-
Normal
-
None
-
openshift-4.14.z
-
False
-
None
-
False
-
Not Selected
-
-
-
1. Proposed title of this feature request
Add a supported way to customize terminated-pod-gc-threshold
2. What is the nature and description of the request?
Today, it is possible to modify this parameter in Openshift using KubeControllerManager custom resource but only in *unsupportedConfigOverrides* section, which is officially unsupported as explained in How to modify kube-controller-manager argument terminated-pod-gc-threshold on OpenShift.
oc patch KubeControllerManager cluster --type merge -p '{"spec": {"unsupportedConfigOverrides":{"extendedArguments": {"terminated-pod-gc-threshold": ["120"]}}}}'
The request is to provide a way to be able to customize terminated-pod-gc-threshold in a supported way.
3. Why does the customer need this? (List the business requirements here)
kube-controller-manager support natively parameter --terminated-pod-gc-threshold to control number of terminated pods that can exist before the terminated pod garbage collector starts deleting those terminated pods. Today the default value is 12500 (see reference doc at kube-controller-manager).
Such default means we can have a cluster with thousands of terminated pod creating useless load on etcd and api server, but also making more complex trouble shooting tasks due to slower api and huge number of pods to retrieve. We frequently face this kind of issue due to for example, evicted pods, that remains in the cluster until garbage collected by kube-controller-manager but not until 12500 pods threshold is reached.
4. List any affected packages or components.
API server
Kubelet
kube-controller-manager