Pods labeled with 'app.starlingx.io/component=platform'
are identified as 'platform'. These have isolated cpu
affinity cpuset when kubelet cpu-manager 'static' policy
is configured. This decouples performance of application
pods from the platform.
The new patch Identify-platform-pods-based-on-pod-or-namespace-labels
patch is used to identify platform pods using above criteria for
Kubernetes 1.24.
For k8s 1.24.4 to identify the pod as 'platform', keep existing
hardcoded namespace list to support the application that
have not upgraded yet, from old versions, and also to support
the new application, which has pod/namespace labels.
Test Plan:
PASS: Run all Kubelet, kubeadm, kubectl make tests for affected code.
PASS: Kubernetes 1.24.4 package build successfully.
PASS: Create a pod with the platform label. Pod is classified as
a platform pod.
PASS: Create a pod without the platform label but in a namespace with
the platform label. Pod is classified as a platform pod.
PASS: Verify pods without a platform label and in a hard-coded
platform namespace are classified as a platform pod.
PASS: Create a pod without the platform label and in a namespace
without the platform label. Pod is not classified as a platform
pod.
PASS: Verify k8s upgrade from 1.24.4 to 1.25.3 and create a pod
with the platform label and check pod is classified as
a platform pod.
Story: 2010612
Task: 50048
Change-Id: I4e0946ffd4948dddd598487511e55634cfa17bc9
Signed-off-by: Boovan Rajendran <boovan.rajendran@windriver.com>