Skip to content

Commit 7471df2

Browse files
authored
docs(ec3): document node taints on custom roles (#4159)
* docs(ec3): document node taints on custom roles * docs(ec3): clarify role label/taint precedence + upgrade behavior
1 parent eac1e23 commit 7471df2

2 files changed

Lines changed: 33 additions & 1 deletion

File tree

docs/release-notes/rn-embedded-cluster-v3.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,27 @@ Additionally, these release notes list the versions of Kubernetes that are avail
1212

1313
<!--RELEASE_NOTES_PLACEHOLDER-->
1414

15+
## 3.6.0-beta.1
16+
17+
<table>
18+
<tr>
19+
<th>Version</th>
20+
<td id="center">3.6.0-beta.1+k8s-1.34</td>
21+
<td id="center">3.6.0-beta.1+k8s-1.33</td>
22+
<td id="center">3.6.0-beta.1+k8s-1.32</td>
23+
</tr>
24+
<tr>
25+
<th>Kubernetes Version</th>
26+
<td id="center">1.34.4</td>
27+
<td id="center">1.33.8</td>
28+
<td id="center">1.32.12</td>
29+
</tr>
30+
</table>
31+
32+
### New features {#new-features-3-6-0-beta-1}
33+
34+
* Adds the ability to declare Kubernetes node taints on a custom role. Every node that carries the role receives the taints automatically at install or join time. For more information, see [roles](/embedded-cluster/v3/embedded-config#roles) in _Embedded Cluster Config_.
35+
1536
## 3.5.0-beta.1
1637

1738
<table>

embedded-cluster/embedded-config.mdx

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,11 @@ spec:
114114
- name: gpu
115115
labels:
116116
gpu: "true" # Label applied to "gpu" nodes
117+
taints:
118+
# Taint applied to "gpu" nodes so that only pods that tolerate it can be scheduled there.
119+
- key: workload
120+
value: gpu
121+
effect: NoSchedule
117122
```
118123

119124
### Limitations
@@ -124,6 +129,8 @@ spec:
124129

125130
* A node's role assignment cannot be changed after the node is joined to the cluster. To change a node's roles, reset the node and add it again with the new role selection.
126131

132+
* Labels and taints declared on a role are applied only when a node is installed or joined. Changing the `labels` or `taints` for a role in a new release does not update existing nodes on upgrade — only nodes joined after the upgrade use the new values.
133+
127134
### roles.controller
128135

129136
In the `roles.controller` key, you can customize the default controller role:
@@ -136,6 +143,8 @@ In the `roles.controller` key, you can customize the default controller role:
136143

137144
* `labels`: Kubernetes labels that Embedded Cluster applies to every node assigned the controller role.
138145

146+
* `taints`: A list of Kubernetes node taints that Embedded Cluster applies to every node assigned the controller role. Each taint requires `key` and `effect`, with optional `value`. Valid `effect` values are `NoSchedule`, `PreferNoSchedule`, and `NoExecute`.
147+
139148
### roles.custom
140149

141150
In the `roles.custom` key, you can declare additional roles. Each custom role includes the following fields:
@@ -144,7 +153,9 @@ In the `roles.custom` key, you can declare additional roles. Each custom role in
144153

145154
* `labels`: Kubernetes labels that Embedded Cluster applies to every node assigned the role.
146155

147-
Multiple roles may be assigned to the same node — the joined node carries the union of each role's labels. If two roles define the same label key, the role that appears later in the user's selection wins.
156+
* `taints`: A list of Kubernetes node taints that Embedded Cluster applies to every node assigned the role. Each taint requires `key` and `effect`, with optional `value`. Valid `effect` values are `NoSchedule`, `PreferNoSchedule`, and `NoExecute`.
157+
158+
Multiple roles may be assigned to the same node — the joined node carries the union of each role's labels and taints. If two roles define the same label key or taint key, the role listed later in the user's `--roles` selection wins.
148159

149160
## domains
150161

0 commit comments

Comments
 (0)