Merge pull request #45845 from mrgiles/38843_pod_os_spec_description

Update Pod OS description spec.os.name
pull/45974/head
Kubernetes Prow Robot 2024-04-22 14:00:29 -07:00 committed by GitHub
commit c885404c17
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 11 additions and 9 deletions

View File

@ -127,17 +127,19 @@ the name should follow the more restrictive rules for a
{{< feature-state state="stable" for_k8s_version="v1.25" >}} {{< feature-state state="stable" for_k8s_version="v1.25" >}}
You should set the `.spec.os.name` field to either `windows` or `linux` to indicate the OS on You should set the `.spec.os.name` field to either `windows` or `linux` to indicate the OS on
which you want the pod to run. These two are the only operating systems supported for now by which you want the pod to run. These two are the only operating systems supported for now by
Kubernetes. In future, this list may be expanded. Kubernetes. In the future, this list may be expanded.
In Kubernetes v{{< skew currentVersion >}}, the value you set for this field has no In Kubernetes v{{< skew currentVersion >}}, the value of `.spec.os.name` does not affect
effect on {{< glossary_tooltip text="scheduling" term_id="kube-scheduler" >}} of the pods. how the {{< glossary_tooltip text="kube-scheduler" term_id="kube-scheduler" >}}
Setting the `.spec.os.name` helps to identify the pod OS picks a Pod to run a node. In any cluster where there is more than one operating system for
authoritatively and is used for validation. The kubelet refuses to run a Pod where you have running nodes, you should set the
specified a Pod OS, if this isn't the same as the operating system for the node where [kubernetes.io/os](/docs/reference/labels-annotations-taints/#kubernetes-io-os)
that kubelet is running. label correctly on each node, and define pods with a `nodeSelector` based on the operating system
label, the kube-scheduler assigns your pod to a node based on other criteria and may or may not
succeed in picking a suitable node placement where the node OS is right for the containers in that Pod.
The [Pod security standards](/docs/concepts/security/pod-security-standards/) also use this The [Pod security standards](/docs/concepts/security/pod-security-standards/) also use this
field to avoid enforcing policies that aren't relevant to that operating system. field to avoid enforcing policies that aren't relevant to the operating system.
### Pods and controllers ### Pods and controllers