kubeadm: apply changes around "master" taint for 1.25
The "master" taint is no longer applied on control plane nodes by kubeadm 1.25. Remove mentions of the taint from the documentation: - implementation details - create a kubeadm cluster - known labels / taints
This commit is contained in:
@@ -695,14 +695,3 @@ Used on: Node
|
|||||||
Example: `node-role.kubernetes.io/control-plane:NoSchedule`
|
Example: `node-role.kubernetes.io/control-plane:NoSchedule`
|
||||||
|
|
||||||
Taint that kubeadm applies on control plane nodes to allow only critical workloads to schedule on them.
|
Taint that kubeadm applies on control plane nodes to allow only critical workloads to schedule on them.
|
||||||
|
|
||||||
### node-role.kubernetes.io/master
|
|
||||||
|
|
||||||
Used on: Node
|
|
||||||
|
|
||||||
Example: `node-role.kubernetes.io/master:NoSchedule`
|
|
||||||
|
|
||||||
Taint that kubeadm applies on control plane nodes to allow only critical workloads to schedule on them.
|
|
||||||
|
|
||||||
{{< note >}} Starting in v1.20, this taint is deprecated in favor of `node-role.kubernetes.io/control-plane`
|
|
||||||
and will be removed in v1.25.{{< /note >}}
|
|
||||||
|
|||||||
@@ -319,12 +319,10 @@ Please note that:
|
|||||||
As soon as the control plane is available, kubeadm executes following actions:
|
As soon as the control plane is available, kubeadm executes following actions:
|
||||||
|
|
||||||
- Labels the node as control-plane with `node-role.kubernetes.io/control-plane=""`
|
- Labels the node as control-plane with `node-role.kubernetes.io/control-plane=""`
|
||||||
- Taints the node with `node-role.kubernetes.io/master:NoSchedule` and `node-role.kubernetes.io/control-plane:NoSchedule`
|
- Taints the node with `node-role.kubernetes.io/control-plane:NoSchedule`
|
||||||
|
|
||||||
Please note that:
|
Please note that the phase to mark the control-plane phase phase can be invoked
|
||||||
|
individually with the [`kubeadm init phase mark-control-plane`](/docs/reference/setup-tools/kubeadm/kubeadm-init-phase/#cmd-phase-mark-control-plane) command.
|
||||||
1. The `node-role.kubernetes.io/master` taint is deprecated and will be removed in kubeadm version 1.25
|
|
||||||
1. Mark control-plane phase phase can be invoked individually with the [`kubeadm init phase mark-control-plane`](/docs/reference/setup-tools/kubeadm/kubeadm-init-phase/#cmd-phase-mark-control-plane) command
|
|
||||||
|
|
||||||
### Configure TLS-Bootstrapping for node joining
|
### Configure TLS-Bootstrapping for node joining
|
||||||
|
|
||||||
|
|||||||
+4
-9
@@ -303,7 +303,7 @@ reasons. If you want to be able to schedule Pods on the control plane nodes,
|
|||||||
for example for a single machine Kubernetes cluster, run:
|
for example for a single machine Kubernetes cluster, run:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
kubectl taint nodes --all node-role.kubernetes.io/control-plane- node-role.kubernetes.io/master-
|
kubectl taint nodes --all node-role.kubernetes.io/control-plane-
|
||||||
```
|
```
|
||||||
|
|
||||||
The output will look something like:
|
The output will look something like:
|
||||||
@@ -313,14 +313,9 @@ node "test-01" untainted
|
|||||||
...
|
...
|
||||||
```
|
```
|
||||||
|
|
||||||
This will remove the `node-role.kubernetes.io/control-plane` and
|
This will remove the `node-role.kubernetes.io/control-plane:NoSchedule` taint
|
||||||
`node-role.kubernetes.io/master` taints from any nodes that have them,
|
from any nodes that have it, including the control plane nodes, meaning that the
|
||||||
including the control plane nodes, meaning that the scheduler will then be able
|
scheduler will then be able to schedule Pods everywhere.
|
||||||
to schedule Pods everywhere.
|
|
||||||
|
|
||||||
{{< note >}}
|
|
||||||
The `node-role.kubernetes.io/master` taint is deprecated and kubeadm will stop using it in version 1.25.
|
|
||||||
{{< /note >}}
|
|
||||||
|
|
||||||
### Joining your nodes {#join-nodes}
|
### Joining your nodes {#join-nodes}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -351,7 +351,7 @@ A known solution is to patch the kube-proxy DaemonSet to allow scheduling it on
|
|||||||
nodes regardless of their conditions, keeping it off of other nodes until their initial guarding
|
nodes regardless of their conditions, keeping it off of other nodes until their initial guarding
|
||||||
conditions abate:
|
conditions abate:
|
||||||
```
|
```
|
||||||
kubectl -n kube-system patch ds kube-proxy -p='{ "spec": { "template": { "spec": { "tolerations": [ { "key": "CriticalAddonsOnly", "operator": "Exists" }, { "effect": "NoSchedule", "key": "node-role.kubernetes.io/master" }, { "effect": "NoSchedule", "key": "node-role.kubernetes.io/control-plane" } ] } } } }'
|
kubectl -n kube-system patch ds kube-proxy -p='{ "spec": { "template": { "spec": { "tolerations": [ { "key": "CriticalAddonsOnly", "operator": "Exists" }, { "effect": "NoSchedule", "key": "node-role.kubernetes.io/control-plane" } ] } } } }'
|
||||||
```
|
```
|
||||||
|
|
||||||
The tracking issue for this problem is [here](https://github.com/kubernetes/kubeadm/issues/1027).
|
The tracking issue for this problem is [here](https://github.com/kubernetes/kubeadm/issues/1027).
|
||||||
|
|||||||
Reference in New Issue
Block a user