diff --git a/content/en/docs/concepts/workloads/pods/_index.md b/content/en/docs/concepts/workloads/pods/_index.md index 77994f754f967..d4521ece8a239 100644 --- a/content/en/docs/concepts/workloads/pods/_index.md +++ b/content/en/docs/concepts/workloads/pods/_index.md @@ -138,6 +138,23 @@ it is deleted. When you create the manifest for a Pod object, make sure the name specified is a valid [DNS subdomain name](/docs/concepts/overview/working-with-objects/names#dns-subdomain-names). +### Pod OS + +{{< 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 +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. + +In Kubernetes v{{< skew currentVersion >}}, the value you set for this field has no +effect on {{< glossary_tooltip text="scheduling" term_id="kube-scheduler" >}} of the pods. +Setting the `.spec.os.name` helps to identify the pod OS +authoratitively and is used for validation. The kubelet refuses to run a Pod where you have +specified a Pod OS, if this isn't the same as the operating system for the node where +that kubelet is running. +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. + ### Pods and controllers You can use workload resources to create and manage multiple Pods for you. A controller