Skip to content

Commit 5984aa0

Browse files
committed
update LegacyNodeRoleBehavior related KEP status
Signed-off-by: pacoxu <[email protected]>
1 parent 2000e28 commit 5984aa0

File tree

2 files changed

+22
-10
lines changed

2 files changed

+22
-10
lines changed

keps/sig-architecture/1143-node-role-labels/README.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ The following components vary behavior based on the presence of the node-role la
105105

106106
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.
107107

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.
109109

110110
Starting in 1.16 the legacy code block should be gated on `LegacyNodeRoleBehavior=true`
111111

@@ -147,18 +147,18 @@ Therefore, for each change we recommend the following process to adopt the new l
147147
* Early adopters may label their nodes to opt in to the features, even in the absence of the gate.
148148
* Release 2 (1.17):
149149
* 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
151151
* Gates are officially alpha
152152
* Release 3 (1.19):
153153
* The old label `alpha.service-controller.kubernetes.io/exclude-balancer` is removed
154154
* For both labels, usage is reviewed and as appropriate the label is declared beta/GA and the feature gate is set on
155155
* 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`
156156
* Documentation will be provided on making the transition
157157
* Deployments may set `LegacyNodeRoleBehavior=false` after they have set the appropriate labels.
158-
* Release 4 (1.20):
158+
* Release 4 (1.21):
159159
* 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.
160160
* Deployments should stop setting `LegacyNodeRoleBehavior=false` if they opted out early.
161-
* Release 5 (1.21):
161+
* Release 5 (1.22):
162162
* The `LegacyNodeRoleBehavior` gate and all feature-level gates are removed, components that attempt to set these gates will fail to start.
163163
* Code that references node-roles within Kubernetes will be removed.
164164

@@ -181,7 +181,7 @@ Cluster deployers that rely on the existing behavior where master nodes are not
181181

182182
After setting these labels in 1.18, administrators will need to take no further action.
183183

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.
185185

186186

187187
### Test Plan
@@ -199,7 +199,7 @@ As described in the migration process, deployers and administrators have 2 relea
199199

200200
### Version Skew Strategy
201201

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.
203203

204204
## Production Readiness Review Questionnaire
205205

@@ -308,6 +308,7 @@ Not applicable
308308
- 2019-07-16: Created
309309
- 2020-04-15: Labels promoted to beta in 1.19 in https://github.com/kubernetes/kubernetes/pull/90126
310310
- 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
311312

312313
## Future work
313314

keps/sig-architecture/1143-node-role-labels/kep.yaml

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,18 @@ approvers:
1818
prr-approvers:
1919
- "@wojtek-t"
2020
creation-date: 2019-07-16
21-
last-updated: 2020-06-01
22-
status: implementable
23-
latest-milestone: "1.19"
24-
stage: "beta"
21+
last-updated: 2021-04-02
22+
status: implemented
23+
# The target maturity stage in the current dev cycle for this KEP.
24+
stage: stable
25+
26+
# The most recent milestone for which work toward delivery of this KEP has been
27+
# done. This can be the current (upcoming) milestone, if it is being actively
28+
# worked on.
29+
latest-milestone: "v1.21"
30+
31+
# The milestone at which this feature was, or is targeted to be, at each stage.
32+
milestone:
33+
alpha: "v1.16"
34+
beta: "v1.19"
35+
stable: "v1.21"

0 commit comments

Comments
 (0)