You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/en/docs/reference/labels-annotations-taints/_index.md
+13-2
Original file line number
Diff line number
Diff line change
@@ -163,9 +163,20 @@ The Kubelet populates this with `runtime.GOARCH` as defined by Go. This can be h
163
163
164
164
Example: `kubernetes.io/os: "linux"`
165
165
166
-
Used on: Node
166
+
Used on: Node, Pod
167
+
168
+
For nodes, the kubelet populates this with `runtime.GOOS` as defined by Go. This can be handy if you are
169
+
mixing operating systems in your cluster (for example: mixing Linux and Windows nodes).
170
+
171
+
You can also set this label on a Pod. Kubernetes allows you to set any value for this label;
172
+
if you use this label, you should nevertheless set it to the Go `runtime.GOOS` string for the operating
173
+
system that this Pod actually works with.
167
174
168
-
The Kubelet populates this with `runtime.GOOS` as defined by Go. This can be handy if you are mixing operating systems in your cluster (for example: mixing Linux and Windows nodes).
175
+
When the `kubernetes.io/os` label value for a Pod does not match the label value on a Node,
176
+
the kubelet on the node will not admit the Pod. However, this is not taken into account by
177
+
the kube-scheduler. Alternatively, the kubelet refuses to run a Pod where you have specified a Pod OS, if
178
+
this isn't the same as the operating system for the node where that kubelet is running. Just
179
+
look for [Pods OS](/docs/concepts/workloads/pods/#pod-os) for more details.
0 commit comments