This refactors the existing Kubernetes patch
kubeadm-create-platform-pods-with-zero-CPU-resources.patch.
This now modifies kube-apiserver pod to be burstable, and to
have relaxed Readiness probe settings.
This specifies CPU limit of 1 for kube-apiserver pod so that it is
treated as a burstable QoS. This gives a boost of cgroup CPUShares
since the burstable cgroup parent has significantly more CPUShares
than best-effort on typical systems. This improves kube-apiserver
API responsiveness.
This increases kube-apiserver Readiness probe periodSeconds to 10
based on WRS/SS joint recommendation for minimum probe settings.
This reduces likelihood of kube-apiserver probe failure and
subsequent pod-restart under servere load. This also reduces CPU
demand.
Partial-Bug: 2084714
TEST PLAN:
- PASS: AIO-SX: Fresh install with each k8s version
v1.24.4, 1.25.3, 1.26.1, 1.27.5, 1.28.4, 1.29.2,
verify kube-apiserver pod is burstable QoS and
has Readiness probe periodSeconds 10
e.g.,
kubectl get pod -n kube-system kube-apisever-controller-0 -oyaml
sudo kube-cpusets
- PASS: AIO-SX: orchestrated K8S upgrade from 1.24.4 to 1.29.2
Change-Id: Ic327b6c176c3a98c16afd14e6bc001315d7cbdc0
Signed-off-by: Jim Gauld <James.Gauld@windriver.com>