integ/kubernetes/kubernetes-1.29.2
Jim Gauld 45d5e92488 Modify kube-apiserver cpu resource limits and readiness probes
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>
2024-11-08 16:05:32 -05:00
..
debian Modify kube-apiserver cpu resource limits and readiness probes 2024-11-08 16:05:32 -05:00