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: keps/sig-architecture/1143-node-role-labels/README.md
+7-6Lines changed: 7 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -105,7 +105,7 @@ The following components vary behavior based on the presence of the node-role la
105
105
106
106
The service load balancer implementation previously implemented a heuristic where `node-role.kubernetes.io/master` is used to exclude masters from the candidate nodes for a service. This is an implementation detail of the cluster and is not allowed. Since there is value in excluding nodes from service load balancer candidacy in some deployments, an alpha feature gated label `alpha.service-controller.kubernetes.io/exclude-balancer` was added in Kubernetes 1.9.
107
107
108
-
This label should be moved to beta in Kube 1.17 at its final name `node.kubernetes.io/exclude-from-external-load-balancers`, its feature gate `ServiceNodeExclusion` should default on in 1.18, the gate `ServiceNodeExclusion` should be declared GA in 1.19, and the gate will be removed in 1.20. The old alpha label should be honored in 1.17 and removed in 1.18.
108
+
This label should be moved to beta in Kube 1.19 at its final name `node.kubernetes.io/exclude-from-external-load-balancers`, its feature gate `ServiceNodeExclusion` should default on in 1.19, the gate `ServiceNodeExclusion` should be declared GA in 1.21, and the gate will be removed in 1.22. The old alpha label should be honored in 1.21 and removed in 1.22.
109
109
110
110
Starting in 1.16 the legacy code block should be gated on `LegacyNodeRoleBehavior=true`
111
111
@@ -147,18 +147,18 @@ Therefore, for each change we recommend the following process to adopt the new l
147
147
* Early adopters may label their nodes to opt in to the features, even in the absence of the gate.
148
148
* Release 2 (1.17):
149
149
* The legacy alpha label `alpha.service-controller.kubernetes.io/exclude-balancer` is marked as deprecated
150
-
* Deprecation of node role behavior in tree is announced for 1.20, with a detailed plan for cluster administrators and deployers
150
+
* Deprecation of node role behavior in tree is announced for 1.21, with a detailed plan for cluster administrators and deployers
151
151
* Gates are officially alpha
152
152
* Release 3 (1.19):
153
153
* The old label `alpha.service-controller.kubernetes.io/exclude-balancer` is removed
154
154
* For both labels, usage is reviewed and as appropriate the label is declared beta/GA and the feature gate is set on
155
155
* All Kubernetes deployments should be updated to add node labels as appropriate: `kubectl label nodes -l node-role.kubernetes.io/master LABEL_A=VALUE_A`
156
156
* Documentation will be provided on making the transition
157
157
* Deployments may set `LegacyNodeRoleBehavior=false` after they have set the appropriate labels.
158
-
* Release 4 (1.20):
158
+
* Release 4 (1.21):
159
159
* Default the legacy gate `LegacyNodeRoleBehavior` to off. Admins whose deployments still use the old labels may set `LegacyNodeRoleBehavior=true` during 1.19 to get the legacy behavior.
160
160
* Deployments should stop setting `LegacyNodeRoleBehavior=false` if they opted out early.
161
-
* Release 5 (1.21):
161
+
* Release 5 (1.22):
162
162
* The `LegacyNodeRoleBehavior` gate and all feature-level gates are removed, components that attempt to set these gates will fail to start.
163
163
* Code that references node-roles within Kubernetes will be removed.
164
164
@@ -181,7 +181,7 @@ Cluster deployers that rely on the existing behavior where master nodes are not
181
181
182
182
After setting these labels in 1.18, administrators will need to take no further action.
183
183
184
-
Cluster deployers that wish to manage this migration during the 1.17 to 1.18 upgrade should label nodes and set feature gates before upgrading to 1.18. If `LegacyNodeRoleBehavior=false` is set, it must be removed prior to the 1.19 to 1.20 upgrade.
184
+
Cluster deployers that wish to manage this migration during the 1.17 to 1.18 upgrade should label nodes and set feature gates before upgrading to 1.18. If `LegacyNodeRoleBehavior=false` is set, it must be removed prior to the 1.21 to 1.22 upgrade.
185
185
186
186
187
187
### Test Plan
@@ -199,7 +199,7 @@ As described in the migration process, deployers and administrators have 2 relea
199
199
200
200
### Version Skew Strategy
201
201
202
-
Controllers are updated after the control plane, so consumers must update the labels on their nodes before they update controller processes in 1.19.
202
+
Controllers are updated after the control plane, so consumers must update the labels on their nodes before they update controller processes in 1.21.
203
203
204
204
## Production Readiness Review Questionnaire
205
205
@@ -308,6 +308,7 @@ Not applicable
308
308
- 2019-07-16: Created
309
309
- 2020-04-15: Labels promoted to beta in 1.19 in https://github.com/kubernetes/kubernetes/pull/90126
310
310
- 2020-06-01: Updated for 1.19 with details of production readiness
311
+
- 2021-01-06: GA in 1.21 and marked to be removed in 1.22
0 commit comments