Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update documentation on node OS/arch labels #12976

Merged
merged 1 commit into from
Mar 15, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions content/en/docs/concepts/configuration/assign-pod-node.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,8 +83,8 @@ with a standard set of labels. As of Kubernetes v1.4 these labels are
* `failure-domain.beta.kubernetes.io/zone`
* `failure-domain.beta.kubernetes.io/region`
* `beta.kubernetes.io/instance-type`
* `beta.kubernetes.io/os`
* `beta.kubernetes.io/arch`
* `kubernetes.io/os`
* `kubernetes.io/arch`

{{< note >}}
The value of these labels is cloud provider specific and is not guaranteed to be reliable.
Expand Down
2 changes: 1 addition & 1 deletion content/en/docs/getting-started-guides/windows/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -286,7 +286,7 @@ See [joining-your-nodes](https://kubernetes.io/docs/setup/independent/create-clu
The examples listed below assume running Windows nodes on Windows Server 1709. If you are running Windows Server 2016, the examples will need the image updated to specify `image: microsoft/windowsservercore:ltsc2016`. This is due to the requirement for container images to match the host operating system version when using process isolation. Not specifying a tag will implicitly use the `:latest` tag which can lead to surprising behaviors. Please consult with [https://hub.docker.com/r/microsoft/windowsservercore/](https://hub.docker.com/r/microsoft/windowsservercore/) for additional information on Windows Server Core image tagging.

### Scheduling Pods on Windows
Because your cluster has both Linux and Windows nodes, you must explicitly set the `nodeSelector` constraint to be able to schedule pods to Windows nodes. You must set nodeSelector with the label `beta.kubernetes.io/os` to the value `windows`; see the following example:
Because your cluster has both Linux and Windows nodes, you must explicitly set the `nodeSelector` constraint to be able to schedule pods to Windows nodes. You must set nodeSelector with the label `kubernetes.io/os` to the value `windows`; see the following example:

{{< codenew file="windows/simple-pod.yaml" >}}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -418,9 +418,9 @@ This label prefix is reserved for administrators to label their `Node` objects f
and kubelets will not be allowed to modify labels with that prefix.
* **Allows** kubelets to add/remove/update these labels and label prefixes:
* `kubernetes.io/hostname`
* `beta.kubernetes.io/arch`
* `kubernetes.io/arch`
* `kubernetes.io/os`
* `beta.kubernetes.io/instance-type`
* `beta.kubernetes.io/os`
* `failure-domain.beta.kubernetes.io/region`
* `failure-domain.beta.kubernetes.io/zone`
* `kubelet.kubernetes.io/`-prefixed labels
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,23 +11,32 @@ This document serves both as a reference to the values, and as a coordination po
{{% /capture %}}

{{% capture body %}}
## beta.kubernetes.io/arch
## kubernetes.io/arch

Example: `beta.kubernetes.io/arch=amd64`
Example: `kubernetes.io/arch=amd64`

Used on: Node

Kubelet populates this with `runtime.GOARCH` as defined by Go. This can be handy if you are mixing arm and x86 nodes,
for example.

## beta.kubernetes.io/os
## kubernetes.io/os

Example: `beta.kubernetes.io/os=linux`
Example: `kubernetes.io/os=linux`

Used on: Node

Kubelet populates this with `runtime.GOOS` as defined by Go. This can be handy if you are mixing operating systems
in your cluster (although currently Linux is the only OS supported by Kubernetes).
in your cluster (e.g., mixing Linux and Windows nodes).

## beta.kubernetes.io/arch (deprecated)

This label has been deprecated. Please use `kubernetes.io/arch` instead.

## beta.kubernetes.io/os (deprecated)

This label has been deprecated. Please use `kubernetes.io/os` instead.


## kubernetes.io/hostname

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -293,8 +293,8 @@ kubectl describe node kubernetes-node-861h
```none
Name: kubernetes-node-861h
Role
Labels: beta.kubernetes.io/arch=amd64
beta.kubernetes.io/os=linux
Labels: kubernetes.io/arch=amd64
kubernetes.io/os=linux
kubernetes.io/hostname=kubernetes-node-861h
Annotations: node.alpha.kubernetes.io/ttl=0
volumes.kubernetes.io/controller-managed-attach-detach=true
Expand Down