From 1f0d34974c552ee56a6a77eca93728e7a11e1c92 Mon Sep 17 00:00:00 2001 From: Jordan Liggitt Date: Mon, 3 Apr 2023 13:01:56 -0400 Subject: [PATCH 01/10] KEP-3935 --- .../README.md | 789 ++++++++++++++++++ .../kep.yaml | 49 ++ .../n-3-comparison.png | Bin 0 -> 127864 bytes 3 files changed, 838 insertions(+) create mode 100644 keps/sig-architecture/3935-oldest-node-newest-control-plane/README.md create mode 100644 keps/sig-architecture/3935-oldest-node-newest-control-plane/kep.yaml create mode 100644 keps/sig-architecture/3935-oldest-node-newest-control-plane/n-3-comparison.png diff --git a/keps/sig-architecture/3935-oldest-node-newest-control-plane/README.md b/keps/sig-architecture/3935-oldest-node-newest-control-plane/README.md new file mode 100644 index 00000000000..665c061ce06 --- /dev/null +++ b/keps/sig-architecture/3935-oldest-node-newest-control-plane/README.md @@ -0,0 +1,789 @@ +# KEP-3935: Support Oldest Node And Newest Control Plane + + +- [Release Signoff Checklist](#release-signoff-checklist) +- [Summary](#summary) +- [Motivation](#motivation) + - [Goals](#goals) + - [Non-Goals](#non-goals) +- [Proposal](#proposal) + - [Risks and Mitigations](#risks-and-mitigations) +- [Design Details](#design-details) + - [Types of changes](#types-of-changes) + - [Evaluate previous control plane releases](#evaluate-previous-control-plane-releases) + - [Planned control plane changes](#planned-control-plane-changes) + - [Impact summary](#impact-summary) + - [Test Plan](#test-plan) + - [Prerequisite testing updates](#prerequisite-testing-updates) + - [Unit tests](#unit-tests) + - [Integration tests](#integration-tests) + - [e2e tests](#e2e-tests) + - [Graduation Criteria](#graduation-criteria) + - [Upgrade / Downgrade Strategy](#upgrade--downgrade-strategy) + - [Version Skew Strategy](#version-skew-strategy) +- [Production Readiness Review Questionnaire](#production-readiness-review-questionnaire) + - [Feature Enablement and Rollback](#feature-enablement-and-rollback) + - [Rollout, Upgrade and Rollback Planning](#rollout-upgrade-and-rollback-planning) + - [Monitoring Requirements](#monitoring-requirements) + - [Dependencies](#dependencies) + - [Scalability](#scalability) + - [Troubleshooting](#troubleshooting) +- [Implementation History](#implementation-history) + + +## Release Signoff Checklist + + + +Items marked with (R) are required *prior to targeting to a milestone / release*. + +- [ ] (R) Enhancement issue in release milestone, which links to KEP dir in [kubernetes/enhancements] (not the initial KEP PR) +- [ ] (R) KEP approvers have approved the KEP status as `implementable` +- [ ] (R) Design details are appropriately documented +- [ ] (R) Test plan is in place, giving consideration to SIG Architecture and SIG Testing input (including test refactors) + - [ ] e2e Tests for all Beta API Operations (endpoints) + - [ ] (R) Ensure GA e2e tests meet requirements for [Conformance Tests](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/conformance-tests.md) + - [ ] (R) Minimum Two Week Window for GA e2e tests to prove flake free +- [ ] (R) Graduation criteria is in place + - [ ] (R) [all GA Endpoints](https://github.com/kubernetes/community/pull/1806) must be hit by [Conformance Tests](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/conformance-tests.md) +- [ ] (R) Production readiness review completed +- [ ] (R) Production readiness review approved +- [ ] "Implementation History" section is up-to-date for milestone +- [ ] User-facing documentation has been created in [kubernetes/website], for publication to [kubernetes.io] +- [ ] Supporting documentation—e.g., additional design documents, links to mailing list discussions/SIG meetings, relevant PRs/issues, release notes + - sig-cluster-lifecycle: [2023-04-04](https://docs.google.com/document/d/1Gmc7LyCIL_148a9Tft7pdhdee0NBHdOfHS1SAF0duI4/edit#bookmark=id.dlswqqyv7xse) + - sig-storage: [2023-04-06](https://docs.google.com/document/d/1-8KEG8AjAgKznS9NFm3qWqkGyCHmvU6HVl0sk5hwoAE/edit#bookmark=id.3pg0lcwvpqce) + - sig-architecture: [2023-04-06](https://docs.google.com/document/d/1BlmHq5uPyBUDlppYqAAzslVbAO8hilgjqZUTaNXUhKM/edit#bookmark=id.b6nofrhcysqn) + + + +[kubernetes.io]: https://kubernetes.io/ +[kubernetes/enhancements]: https://git.k8s.io/enhancements +[kubernetes/kubernetes]: https://git.k8s.io/kubernetes +[kubernetes/website]: https://git.k8s.io/website + +## Summary + +This KEP proposes testing and expanding the supported skew between node and control plane components +by one version from n-2 to n-3, so that node components for the **oldest** supported minor version +work with control plane components for the **newest** supported minor version. + +## Motivation + +The Kubernetes [yearly support period](https://github.com/kubernetes/enhancements/tree/master/keps/sig-release/1498-kubernetes-yearly-support-period) already makes annual upgrades possible. +Users can upgrade to latest patch versions to pick up security fixes, and do 3 sequential minor version upgrades once a year to "catch up" to the latest supported minor version. + +However, since the [tested/supported skew](https://kubernetes.io/releases/version-skew-policy/#kubelet) between nodes and control planes is currently limited to 2 versions, +a 3-version upgrade would have to update nodes twice to stay within supported skew. For example, to upgrade from v1.40 to v1.43: + + 1. Begin: control plane and nodes on v1.40 + 2. Control plane upgrade: v1.40 → v1.41 → v1.42 + 3. Node upgrades: v1.40 → v1.42 + 4. Control plane upgrade: v1.42 → v1.43 + 5. Node upgrades: v1.42 → v1.43 + +Node upgrades are inherently more disruptive than control plane upgrades to workloads, for several reasons: + + * Workloads can be designed to have no dependencies on the Kubernetes control plane, so Kubernetes control plane availability does not directly impact running pods + * There can be _many_ more nodes (hundreds to thousands) than control plane members (typically 1 or 3) + * Every time nodes are upgraded to a new minor version, every pod running on those nodes [must be drained/rescheduled](https://kubernetes.io/releases/version-skew-policy/#kubelet-1). + This is true for immutable nodes and mutable bare-metal nodes. If all nodes are being upgraded, this means every pod in the cluster will be replaced at least once. + * Replacing or moving pods which are slow to stop or start or have significant data gravity takes significant time, so it is desirable to minimize how frequently that must be done. + +If node / control plane skew support was expanded so the oldest node components work with the newest control plane components, the example upgrade path from v1.40 to v1.43 above could improve to this: + + 1. Begin: control plane and nodes on v1.40 + 2. Control plane upgrade: v1.40 → v1.41 → v1.42 → v1.43 + 3. Node upgrades: v1.40 → v1.43 + +This streamlined upgrade flow would also reduce the number of control plane / node version combinations a user would have to qualify as part of an upgrade flow. + +[[![Visual comparison of qualification and upgrade flows to maintain 2 and 3 version skew](/keps/sig-architecture/3935-oldest-node-newest-control-plane/n-3-comparison.png)]](https://mermaid.live/view#pako:eNrdVk1vnDAQ_SuWpUiNBBs8Rk3FtaveNkrTUyqkysLeBBVsYky3qyjX_oD-xP6SmgV2-Vg2oGwv9cmMee-NB95onnGkuMABfmDSmFAiuzgz4pPSKTMI3dvlrlbuclmdsZ9x3pxd3LsXaSirg1xEJlYS3YlEsFzkTfwHWfgeyossU9oIjoIySHyvjjgIPOq5nu96ZLcnrvfe7g9gcgAvFguLJz7pgT-0wNcdMAzB0AUTGAXTIZi2waSbdgXuVmMTm0ckXVpFPxcsidfbuiZTVoAk_War9WSRThNsVczfVMx3hZzB2mbWhdwTI7Y2QnckyXaYOrmaIlUL0JKHOIfUSS_1NjPMZoaJzHQ2M53KPKfctP8h-8wflTRaJeg2YVKgP79-1x5odrDf0aP8UVZkD5px4XQ_Zy1MeCVzY02ft6jecc1ieaVFpIV1P9oo_T1RjOeXQwlpsXuRtkRbm_R-TFo6aFalxn7Mrv6r1oM3WA_-mfVgzHrw_1kPZhuEzjI1zGD2z21qOI-pT7DDMUvDa5aGqZbeSRyz9ECbnLwNnVSpsbt0M3hrm4KxNgVnbVMw1qbgRJvCDk6FnZ9iboeu51I9xOZRpCLEgd1ysWZFYkIcyhf7KiuM-rKVEQ6MLoSDi6wczpYxs7xpE8yY_KqUfVyzJLfPgsdG6VU11-3Gu5e_iHFuyg) + + + +There is nothing magical about the number 2 in the existing version skew policy. +That policy intended to allow the oldest supported node to work with the newest supported control plane (exactly what this KEP is trying to accomplish). +When there are 3 supported minor versions, max skew of n-2 appears to make sense. + +However, as part of the [yearly support period](https://github.com/kubernetes/enhancements/tree/master/keps/sig-release/1498-kubernetes-yearly-support-period#proposal) KEP, +it became clear that overlap between the oldest and newest version is required to actually give users a version they can use for a year. +This led to the current policy of supporting each minor version for approximately 14 months, giving users a 2-month period to qualify and upgrade following a new Kubernetes release +before the oldest supported minor version reaches end-of-life. During that 2-month period, there are actually 4 supported minor versions. + +Updating the skew policy to allow up to n-3 nodes brings the policy back in line with its original goals. + +### Goals + +* Allow users to make full use of the [yearly support period](https://github.com/kubernetes/enhancements/tree/master/keps/sig-release/1498-kubernetes-yearly-support-period) +* Streamline upgrade paths for nodes / node pools to minimize required workload churn +* Validate oldest supported node components work with latest control plane components +* Update the [Kubernetes version skew policy](https://kubernetes.io/releases/version-skew-policy/) to indicate node components from the oldest supported minor version work with control plane components from the newest supported minor version, starting with Kubernetes `v1.25` nodes and `v1.28` control planes. + +### Non-Goals + +* This does not propose any changes to the number of supported minor versions +* This does not propose any changes to the minor version support duration +* This does not propose any changes to the Kubernetes release process +* This does not propose any changes to the mechanics control plane components use to enable features + and work with older nodes without features ([KEP-3920](https://github.com/kubernetes/enhancements/pull/3920) could help with this) +* This does not propose delaying introduction of existing features SIGs have planned around existing n-2 node/control plane skew + +## Proposal + +1. Add a configuration to https://testgrid.k8s.io/sig-node-kubelet#Summary to begin testing 3 version node / control plane skew +2. Identify in-flight feature enablement plans from SIGs that rely on a maximum of 2 version node / control plane skew, and the node version when those plans would be complete +3. Choose the minimum node version to begin supporting 3-version skew that avoids disrupting the plans identified in step 2 + * 1.25 nodes / 1.28 control planes +4. Update the [Kubernetes version skew policy](https://kubernetes.io/releases/version-skew-policy/) as part of the release identified in step 3 + +### Risks and Mitigations + +`kubeadm` currently limits itself to managing nodes a single minor version older than the `kubeadm` build. +This restriction is overridden/ignored when `kubeadm` is used to create clusters in the existing skew CI jobs. +If the kubelet command-line or configuration file changed in ways `kubeadm` has to adapt to, +current builds of `kubeadm` could stop being able to successfully configure n-2 or n-3 nodes. +Note that this risk already exists for n-2 nodes, and has not proved problematic so far. + +Possible mitigations include: +* sig-node extending rollout of command-line or configuration file changes to ease adoption by `kubeadm` over multiple versions. + This approach has the benefit of also easing adoption by kubelet end users. +* sig-cluster-lifecycle restructuring the `join` functionality of `kubeadm` in a way that supports configuring older node versions in a maintainable way. +* Adjusting the way the skew CI jobs are configured to use `kubeadm` binaries from previous minor versions to configure nodes for those versions. + +## Design Details + +First, we'll look at the types of changes that actually prevent a specific control plane release from supporting older nodes. + +Second, we'll evaluate previous control plane releases, to see how the proposed policy change could have impacted work in past releases. + +Finally, we'll list known changes planned for future control plane releases, to evaluate the known impact of this proposal on future work. + +### Types of changes + +**Feature additions in control plane components that require waiting for node support** + +There are two approaches currently used to roll out features that involve changes to both control plane and node components: + +1. Enable a feature by default in a given release, require nodes be upgraded to that release + for the feature to work successfully, and expect users to wait until nodes are upgraded to use the new feature. + This approach is common for opt-in features which fail safely or in benign ways if control plane and node enablement of the feature is inconsistent. + This can result in a poor experience for users that try new features while running skewed nodes, + but works reasonably well for users that don't care about the new features, or who keep nodes up to date with the control plane. + +2. Make changes in node components first, and wait to enable the control plane changes until all node versions the control plane supports have the feature. + This approach can be safer and provides a better experience in some ways, but at a significant velocity cost. + With current skew support and release cadence, there is an 8-month delay between delivering node changes and enabling the feature in the control plane 2 releases later. + Because of that velocity cost, this approach is typically reserved for features which are not opt-in, or would cause regressions, + security issues, or significant problems if control plane and node enablement of the feature was inconsistent. + +While both feature rollout approaches have room for improving velocity, safety, and usability, +that is outside the scope of this KEP, and better addressed by something like [KEP-3920](https://github.com/kubernetes/enhancements/pull/3920). + +The first approach already accepts a new feature will not work with n-1 and n-2 skewed nodes, n-3 nodes would be no different. + +For this KEP, we'll only look for instances of the second type of feature rollout, to evaluate how common they are, and how expanding supported skew to n-3 would have impacted them. + +**Removal of deprecated or unused functionality in control plane components** + +Evolution of node components sometimes produces opportunities to simplify or remove control plane functionality. +Control plane components must remain compatible with behavior relied on by older nodes that are within supported skew. + +For this KEP, we'll look for instances of control plane cleanup that had to wait for n-2 nodes, and would have been delayed another release if n-3 nodes were supported. + +**Removal of deprecated REST APIs used by node components** + +Node components act as REST API clients and talk to APIs served by kube-apiserver. +If any of those APIs are unstable beta versions, they have a [finite lifetime](/keps/sig-architecture/1635-prevent-permabeta) and are eventually deprecated and no longer served. + +All of the APIs required to run clusters and pass conformance tests [reached GA in v1.19](/keps/sig-architecture/1333-conformance-without-beta), +and node components were updated to use GA APIs by v1.19 at the latest. + +Continued testing of GA-only clusters and a focus on [non-disruptive default configurations](/keps/sig-architecture/3136-beta-apis-off-by-default) +ensures that node components don't accidentally take hard dependencies on new unstable APIs. + +Additionally, the 3-release deprecation period before removal of a beta API means node components which +update to the replacement API when the beta API is deprecated are compatible with the control plane +that removes the beta API 3 releases later. + +### Evaluate previous control plane releases + +Were v1.22 control plane changes as compatible with v1.19 nodes as n-2 nodes? +* Feature enablement in control plane components that blocked until enabled in all supported node versions + * ❌ sig-auth: `BoundServiceAccountTokenVolume` promoted to GA, which relies on kubelets having `TokenRequestProjection` enabled, which is only guaranteed in v1.20+ ([#93258](https://github.com/kubernetes/kubernetes/pull/93258)) + * Supporting n-3 nodes would have delayed GA graduation to v1.23, remaining in beta and enabled by default in v1.22. +* Removal of deprecated behavior in control plane components + * ✅ None relevant to node components +* Removal of deprecated REST APIs used by node components ([source](https://kubernetes.io/docs/reference/using-api/deprecation-guide/#v1-24)) + * ✅ sig-api-machinery: v1beta1 Lease - v1.16 nodes switched to the v1 API ([#79473](https://github.com/kubernetes/kubernetes/pull/79473)) + * ✅ sig-auth: v1beta1 CertificateSigningRequest - v1.19 nodes switched to the v1 API ([#91754](https://github.com/kubernetes/kubernetes/pull/91754)) + * ✅ sig-auth: v1beta1 SubjectAccessReview - v1.17 nodes switched to the v1 API ([#84768](https://github.com/kubernetes/kubernetes/pull/84768)) + * ✅ sig-auth: v1beta1 TokenReview - v1.17 nodes switched to the v1 API ([#84768](https://github.com/kubernetes/kubernetes/pull/84768)) + * ✅ sig-storage: v1beta1 CSIDriver - v1.18 nodes switched to the v1 API ([#84814](https://github.com/kubernetes/kubernetes/pull/84814)) + * ✅ sig-storage: v1beta1 CSINode - v1.17 nodes switched to the v1 API ([#83474](https://github.com/kubernetes/kubernetes/pull/83474)) + * ✅ sig-storage: v1beta1 VolumeAttachment - v1.14 nodes switched to the v1 API ([#74606](https://github.com/kubernetes/kubernetes/pull/74606)) + +Were v1.23 control plane changes as compatible with v1.20 nodes as n-2 nodes? +* Feature enablement in control plane components that blocked until enabled in all supported node versions + * ✅ None +* Removal of deprecated behavior in control plane components + * ✅ None relevant to node components +* Removal of deprecated REST APIs used by node components ([source](https://kubernetes.io/docs/reference/using-api/deprecation-guide/#v1-24)) + * ✅ sig-auth: v1beta1 CertificateSigningRequest - v1.19 nodes switched to the v1 API ([#91754](https://github.com/kubernetes/kubernetes/pull/91754)) + +Were v1.24 control plane changes as compatible with v1.21 nodes as n-2 nodes? +* Feature enablement in control plane components that blocked until enabled in all supported node versions + * ✅ None +* Removal of deprecated behavior in control plane components + * ✅ sig-node: `StreamingProxyRedirects` was dropped, nodes dropped support in v1.20 ([#95935](https://github.com/kubernetes/kubernetes/pull/95935)) +* Removal of deprecated REST APIs used by node components ([source](https://kubernetes.io/docs/reference/using-api/deprecation-guide/#v1-24)) + * ✅ None + +Were v1.25 control plane changes as compatible with v1.22 nodes as n-2 nodes? +* Feature enablement in control plane components that blocked until enabled in all supported node versions + * ❌ sig-auth: `IdentifyPodOS` relaxed Pod Security validation of Linux fields for Windows pods ([#105919](https://github.com/kubernetes/kubernetes/pull/105919)), which relies on kubelet honoring the `podOS` field, which was done in v1.23 ([#105292](https://github.com/kubernetes/kubernetes/pull/105292)) + * Supporting n-3 nodes would have delayed relaxing Pod Security validation for Windows pods to v1.26. +* Removal of deprecated behavior in control plane components + * ✅ None relevant to node components +* Removal of deprecated REST APIs used by node components ([source](https://kubernetes.io/docs/reference/using-api/deprecation-guide/#v1-25)) + * ✅ sig-network: v1beta1 EndpointSlice - v1.22 kube-proxy already switched to use the v1 API ([#103306](https://github.com/kubernetes/kubernetes/pull/103306)) + +Were v1.26 control plane changes as compatible with v1.23 nodes as n-2 nodes? +* Feature enablement in control plane components that blocked until enabled in all supported node versions + * ✅ None +* Removal of deprecated behavior in control plane components + * ❌ sig-storage: `CSIMigrationOpenStack` in-tree volume plugin support removed ([#113826](https://github.com/kubernetes/kubernetes/pull/113826)), which relies on kubelets having `CSIMigrationOpenStack` enabled, which is guaranteed in v1.24+ ([#107462](https://github.com/kubernetes/kubernetes/pull/107462)) + * Supporting n-3 nodes would have delayed removal of the in-tree volume plugin to v1.27. +* Removal of deprecated REST APIs used by node components ([source](https://kubernetes.io/docs/reference/using-api/deprecation-guide/#v1-26)) + * ✅ None + +Were v1.27 control plane changes as compatible with v1.24 nodes as n-2 nodes? +* Feature enablement in control plane components that blocked until enabled in all supported node versions + * ✅ None +* Removal of deprecated behavior in control plane components + * ❌ sig-storage: `CSIMigrationAWS` in-tree volume plugin support removed ([#115838](https://github.com/kubernetes/kubernetes/pull/115838)), which relies on kubelets having `CSIMigrationAWS` enabled, which is guaranteed in v1.25+ ([#111479](https://github.com/kubernetes/kubernetes/pull/111479)) + * Supporting n-3 nodes would have have delayed removal of the in-tree volume plugin to v1.28. + * ❌ sig-storage: `CSIMigrationAzureDisk` in-tree volume plugin support removed ([#116301](https://github.com/kubernetes/kubernetes/pull/116301)), which relies on kubelets having `CSIMigrationAzureDisk` enabled, which is guaranteed in v1.25+ ([#110491](https://github.com/kubernetes/kubernetes/pull/110491)) + * Supporting n-3 nodes would have delayed removal of the in-tree volume plugin to v1.28. +* Removal of deprecated REST APIs used by node components ([source](https://kubernetes.io/docs/reference/using-api/deprecation-guide/#v1-27)) + * ✅ None + +### Planned control plane changes + +Are planned v1.28 control plane changes as compatible with v1.25 nodes as n-2 nodes? +* Feature enablement in control plane components that will wait for node support + * ... +* Removal of deprecated behavior in control plane components + * ✅ sig-storage: planned removal of in-tree volume plugins for `CSIMigrationGCE` feature, which is guaranteed on in v1.25 nodes ([#111301](https://github.com/kubernetes/kubernetes/pull/111301). + * ... +* Removal of deprecated REST APIs used by node components ([source](https://kubernetes.io/docs/reference/using-api/deprecation-guide/#v1-28)) + * ✅ None + +Are planned v1.29 control plane changes as compatible with v1.26 nodes as n-2 nodes? +* Feature enablement in control plane components that will wait for node support + * ... +* Removal of deprecated behavior in control plane components + * ⚠️ sig-storage: planned removal of in-tree volume plugins for `CSIMigrationvSphere` and `CSIMigrationAzureFile` features, which are guaranteed on in v1.27 nodes ([#116610](https://github.com/kubernetes/kubernetes/pull/116610) and [#114953](https://github.com/kubernetes/kubernetes/pull/114953)). + * Supporting n-3 nodes would delay removal of the in-tree volume plugins to v1.30. + * ... +* Removal of deprecated REST APIs used by node components ([source](https://kubernetes.io/docs/reference/using-api/deprecation-guide/#v1-29)) + * ✅ None + +Are planned v1.30 control plane changes as compatible with v1.27 nodes as n-2 nodes? +* Feature enablement in control plane components that will wait for node support + * ... +* Removal of deprecated behavior in control plane components + * ... +* Removal of deprecated REST APIs used by node components ([source](https://kubernetes.io/docs/reference/using-api/deprecation-guide/#v1-30)) + * ✅ None + +### Impact summary + +The calculated impact over the past two years if Kubernetes supported n-3 node skew: +* the sig-auth `BoundServiceAccountTokenVolume` feature GA would have moved from v1.22 to v1.23 (remaining in beta and enabled by default in v1.22). +* the sig-auth Pod Security update for the `IdentifyPodOS` feature would have moved from v1.25 to v1.26. +* the sig-storage in-tree volume plugin cleanups would have been delayed by one release for OpenStack, AzureDisk, and AWS plugins. + +The known impact over the next year if Kubernetes supports n-3 node skew: +* the sig-storage in-tree volume plugin cleanups would be delayed by one release for AzureFile and vSphere plugins (from v1.29 to v1.30). + +### Test Plan + +[X] I/we understand the owners of the involved components may require updates to +existing tests to make this code solid enough prior to committing the changes necessary +to implement this enhancement. + +##### Prerequisite testing updates + + + +##### Unit tests + +n/a + +##### Integration tests + +n/a + +##### e2e tests + +Add a job to https://testgrid.k8s.io/sig-node-kubelet#Summary testing n-3 nodes against latest control planes. + +### Graduation Criteria + + + +### Upgrade / Downgrade Strategy + + + +### Version Skew Strategy + + + +## Production Readiness Review Questionnaire + + + +### Feature Enablement and Rollback + + + +###### How can this feature be enabled / disabled in a live cluster? + +n/a + +###### Does enabling the feature change any default behavior? + +n/a + +###### Can the feature be disabled once it has been enabled (i.e. can we roll back the enablement)? + +n/a + +###### What happens if we reenable the feature if it was previously rolled back? + +n/a + +###### Are there any tests for feature enablement/disablement? + +n/a + +### Rollout, Upgrade and Rollback Planning + + + +###### How can a rollout or rollback fail? Can it impact already running workloads? + + + +###### What specific metrics should inform a rollback? + + + +###### Were upgrade and rollback tested? Was the upgrade->downgrade->upgrade path tested? + + + +###### Is the rollout accompanied by any deprecations and/or removals of features, APIs, fields of API types, flags, etc.? + + + +### Monitoring Requirements + + + +###### How can an operator determine if the feature is in use by workloads? + + + +###### How can someone using this feature know that it is working for their instance? + + + +- [ ] Events + - Event Reason: +- [ ] API .status + - Condition name: + - Other field: +- [ ] Other (treat as last resort) + - Details: + +###### What are the reasonable SLOs (Service Level Objectives) for the enhancement? + + + +###### What are the SLIs (Service Level Indicators) an operator can use to determine the health of the service? + + + +- [ ] Metrics + - Metric name: + - [Optional] Aggregation method: + - Components exposing the metric: +- [ ] Other (treat as last resort) + - Details: + +###### Are there any missing metrics that would be useful to have to improve observability of this feature? + + + +### Dependencies + + + +###### Does this feature depend on any specific services running in the cluster? + + + +### Scalability + + + +###### Will enabling / using this feature result in any new API calls? + + + +###### Will enabling / using this feature result in introducing new API types? + + + +###### Will enabling / using this feature result in any new calls to the cloud provider? + + + +###### Will enabling / using this feature result in increasing size or count of the existing API objects? + + + +###### Will enabling / using this feature result in increasing time taken by any operations covered by existing SLIs/SLOs? + + + +###### Will enabling / using this feature result in non-negligible increase of resource usage (CPU, RAM, disk, IO, ...) in any components? + + + +###### Can enabling / using this feature result in resource exhaustion of some node resources (PIDs, sockets, inodes, etc.)? + + + +### Troubleshooting + + + +###### How does this feature react if the API server and/or etcd is unavailable? + +###### What are other known failure modes? + + + +###### What steps should be taken if SLOs are not being met to determine the problem? + +## Implementation History + +- 2023-04-03: Provisional KEP created \ No newline at end of file diff --git a/keps/sig-architecture/3935-oldest-node-newest-control-plane/kep.yaml b/keps/sig-architecture/3935-oldest-node-newest-control-plane/kep.yaml new file mode 100644 index 00000000000..dd7cd012d91 --- /dev/null +++ b/keps/sig-architecture/3935-oldest-node-newest-control-plane/kep.yaml @@ -0,0 +1,49 @@ +title: Support Oldest Node And Newest Control Plane +kep-number: 3935 +authors: + - "@derekwaynecarr" + - "@liggitt" +owning-sig: sig-architecture +participating-sigs: + - sig-cluster-lifecycle + - sig-network + - sig-node +status: provisional +creation-date: 2023-04-03 +reviewers: + - "@soltysh" # sig-apps + - "@nckturner" # sig-cloud-provider + - "@ahg-g" # sig-scheduling + - "@jsafrane" # sig-storage + - "@marosset" # sig-windows +approvers: + - "@dims" # sig-architecture (skew policy) + - "@neolit123" # sig-cluster-lifecycle (kubeadm use for skew job) + - "@danwinship" # sig-network (kube-proxy) + - "@dchen1107" # sig-node (kubelet) + +see-also: + - "/keps/sig-release/1498-kubernetes-yearly-support-period" + - "/keps/sig-release/2572-release-cadence" + - "/keps/sig-release/3744-stay-on-supported-go-versions" + - "https://github.com/kubernetes/enhancements/pull/3920" + +# The target maturity stage in the current dev cycle for this KEP. +stage: stable + +# The most recent milestone for which work toward delivery of this KEP has been +# done. This can be the current (upcoming) milestone, if it is being actively +# worked on. +latest-milestone: "v1.28" + +# The milestone at which this feature was, or is targeted to be, at each stage. +milestone: + stable: "v1.28" + +# The following PRR answers are required at alpha release +# List the feature gate name and the components for which it must be enabled +feature-gates: [] +disable-supported: false + +# The following PRR answers are required at beta release +metrics: [] diff --git a/keps/sig-architecture/3935-oldest-node-newest-control-plane/n-3-comparison.png b/keps/sig-architecture/3935-oldest-node-newest-control-plane/n-3-comparison.png new file mode 100644 index 0000000000000000000000000000000000000000..a851ff699ebda6cb077d52fb4fe91c5adfadefec GIT binary patch literal 127864 zcmZ^~19YXm+CN-QJ+*Dy=B}ph?$owzW7?^0+s4e)wr$&pus+B)R+p0r{<<)g^`f$?da7O-nV5W4`g_2W5Q2a{t=wI~;igk_&n zml_n1m=-$hy3v91zhqFTc3bzHyE&F%dne%fApk0qZgA%pB)<5u-`&P)QYNypAT%Fk zXb?zH91zHl66i;g2F3lKvJxmW$e+`}`bZj}EPs{JKFSUu<{%Is`Jev5AL-9e@+1BE z{wo)^ayPdzC6YDPcOnutv~{o{VrSrB-~eG^VqxWBV&h?ACt_yd`BP>A0RfK-27&rO zqI{&99I$_n3^A1h{_irF)<+wNu(GI>)JLvt=wNJY<7j5<)c+~}^`ipDPEy?w1OyKC zPXYx=%lIG|T-6+?=Af&U{PogHPKqPAGU`)ipz{J2rA^=N7M8xM{WWu8)CjKw@#}_|| znUj+p4A^9`W|NQ=@)7Z`YKQq}l{%ctu3uOG$!pO|P#Q1-~oXk!B zAFw|y|4-P*9{ta<{(qCX>D&Dc`fD@(rjhRt1w0DoZpK#XV&>K#=ku{10S*>UzQ1Vu zUoHPx-9M0O|3R{_GjseC`j4jnhN?IkJBZp^f6VD5@E_jz7xd{axHU%@2WDJp{ z!cdA3L>C>+V3oe0y{fBh`T6hHdE2?yqhr%WXF#9ILN5u)_mb~qkiv0dF!7FASx4tb zM-Q(PzpmOm%b%Q8on@UD+-Gjqe;s5wyT6=)W=|2(p6&pZ^2rN5rH9EjiAuGZ?1*zfd1T`3JWPfC_(%c6@vy z0o84`mv}d25&4xshbEter-tvSmS0eZxiX9!jLh(6PoFz>aLQ$5YM7Qzyqtag`nyE~ zgEU{M;W^Myp&}v-tRSvknh!FM;Sc$pL83%=iitFN+{RmMx3@A}M&kIF_tyLq0xc~a zzGky&c}%~MI#WuEBQ*-4_ej)Y@&PXtPM z3XZEh$Ah|(z*fg-T?vadeSfdbTRVk^$W&q!H({!Awm#V(w=pi$$sUDHI8;u5D3 zL1%|b(rtyx>i|#Pu;5T)HR{l)v=C<%m#8L=t)NqrEcFjrcO>WrNMd@ zl%JlZ3ZPF#qeOaObJV`esiB<+&g=HcgD;`A}*_>vfv!G;%;0VoLw_@Z2*ASK7(vRBS{iHRsKu~0u2f&%sSR0 z|GF<%Ln@nSVs{)X_wg=h2^doFrab(R_oiOCQ|=#(h?rM~rOSpi%++pIQwlnmSwk~` zNzwq`I^Vw#^b1KcCqM`Wy7ei**w*)8iX01Ru9j5cy1>?GA)fExWv;SZrJLLGeAY{c zKnMSqsEh#&JY}N7RTc{^l1ZKw3SV^SBl%>GI)!`yu{2C>wx&{W5u}hJ&j8@`m!yg~ zkxF5B0yz)1Ai)`MPJ^`64Tx$bddZ%f2nywOR@nOksPHeR2~t7 z|9sv4L=2(83E%O{qd;xf$1Nqu@j>F~Ym^eB+d=h-IJzi?@s` z2U8nCmR>;gygnj&($zrnamg%hA_!H|)cns9bBxJ2ici{fZ0!})fQNZL4T*9Mh!JCK z-C+%PIoeBB{vcdAzX%hrU+X1L#mBWpg2e-vMruOlif|RJBq=-n-%#}E=}TuT8BZkD z#i!uqnKJN2QD-m}4hC~+o zDEc6(DeS8;pF4YfLn9H_lw*Hlv%|0fS|G`2#VnUWdlDOi2*7P1A=^+-8Aw!oOd!Zk zJbxca%2U?F1gafZ+^3qB@T?N19L%bqjyiQ!_{`)?<9&}V>~;IYU}t1l*?0EZN({5> ztI4m8IKO=)!nKGU`<`C&L`$zO-cOOWCNNgkz{?AyrXlW%2IthqLvHX2?Py12ebj4;S}Mhe=9Xv767A&|KLl=&VX zC^^9DQ~sz%W#!4Eq#(A74I2oRd*Q#MZ%lR@i#W&DPDQllDpTULeQ0zO>tehp<7=p_ zrLgXmJ&f=%9n?lBc7pS}D>}@Jb?<%9u?1;$y4Bv#zII*f4cH*qqTvM+f)=JT_O}## zic5(4L{2u``LNh1)0bhzkJt7y1{kY}yt&n|s|!KrMpu~dOB5|wJoiCEHqTC24pz1h z^g})BsQIYaNFz}nu{$em9;pdkucS-}3Z%xsO+~4DG4nQsMOF&q#TaN~P`V~}`7$Wl zs~I%|>zG4b7AdSC_r+}gQdan~VtZ=s%s4^FNtjf8>HeZL8(vnMcK=MKB{E4_Eq<3 zw2G$#*Myz$h{N&zd$1d0-pFy5XGg$wjwnc?MU?Z!ZmRUHFNQQN4y3nOxZSLS3dB! zRg+T!H=+s1zW}O;VEUHQTj4+?FbqM#ZaySk<&_?tMN+4$s90H!bzG+010{WEmG}jT z&57!n+|~l+gkTA^Z{;InCEXRRPG$M;C|_ox@D{%H)U%H33gG~>2acG(S zE*-^KTs&2;kmFmQ=N~(cgblW$>=1)-{RKr4vN#P3G7LfW;fpl@gI-ENK_Me1n}rte zmjGq~3+kFl_`^j0`ha@?fs>g}3aK+FsKd1@7Lz?(K2U~U3Kv8vf0j`Lo1LB&$Ei1B zAh|(>f&dmu#WO=7cROI4wO z-@*k(ZWq%wqLKm*&85aMz36cfXV*?=sDk2<O9>vh22vuR|%MrzOoCOOHr;5_>6boq`6>$|U z3eWUm`;|2_QV-2n=eU{&AFk=j#D87&skfB5>X>=uGJ0B25S6I6Odn6+yMTp6hXdI}}WS2`1Snmjo&YLHtUPx^J^Lsex|7{iy#SN zuDeF!YVW$Xudy&!SvFPb?xv~t>E;iKen9F`j>VHX#fVEJdN zfCi#WXRoFC%N$eAWReVwXg?nw$I`FnSI0Cz(+M=F znClB#TlDDa{xVu_2!4Hrdf!Q7xAl1?ZgKg&VK-v}^gcGEZNF)AKFDHseQVv{-`9HY zoD4*~`1LxD&&Y2*uWmX@a7g&+CiS4%rrCJJzdhHr)p%-}+}hh)6p_FAfb)l~;Q8V` zoGyDuxuxEGMGHC^CZ%rAurO6C> zGNTB*LWnLK=#H z>VdQRKWF@U27*W%(0#Y|gJ616AWni3%~aVV7{w0KHrXedk}q@Lo9q?s<&`D>*5dr_ zMTO=+-VY6CEo11*(V?;O)7Aoo6uGR#28uCT)GyZ5ypwsdXLHCXMOb&=JlfQ|nY?@~ z_LHwI+4XvYVT+;$fW=|G9I!m%0tNH85%+3Q{jG51kVFw>CEbfoq6wM|mqwiU!QhkS z_RUe(WvKAWqajfML6r$t9IxP%@Js6*?B)hk>~ zIhir7$%u5?s~+pzjy8{X^IgKjcF{gvv+X`F(-2E1=LBZv_Q@x#x*WJe>zp0+7(X^$ zoDmzE_E(m#hiwH^qjlq~tjD$n7~Ad7(kQc5Ls}e7CoDwDLM23f-PVFv&KKVT(3Rx{ zo#$&MelTh;-`{99z1&BgF>*U&*u+{}46}3YHC-IG+_#+Ay!2tL4nNP%Jhwk2Cf2-E z{b01QDtVuGU9eg4+1!T1^t%aOaQ3^2KjExWUkM~3EnWGRx50qcGd5HoH=jYaGlF|* zhV_G-f0%jS9;^Yz)(czVE=TTpaxSbguwX?|S#xoMc(WHTaXMdsscPrTW4I4? zLHYD+jKN+ByxLJrA>AL1SSXUjZ{*I+)&_-jJ*&5!$j%NK+EflpuatNnk(<)?8~oNp z-Qf4FmQQs-hK|UN!jzke3JdKoZi^*Noluz3Q+Ka%Wy}{ZI8x5HdtJ=iHcb|NJ?0se zIQ0H{N>@a{gS4?+^Upyg;MG^umPqoAa2XJ@SpgDpxP>W7@`HB5_98MlSjQr2+5KBv z2dXamDmMx7CVF>u_4U3BRRY(?)?`)@4f2+5Hz$}?8f$GfuRcu0a$`H{!^Af)6f8Qw zWwf=|P+u;0(-|}$l1=a3?@@NM_+JMJV!KE_LHITMcWoi0d%Qn%+Ek_hPBjI<Rokqu|pEwBygYM*ch>4vjyT>It|9 zQ1(;VQ#Jp+OZnsg)Ffv8-O;IdN=4H1Wn+jonh_k@zc*<|VEmsKv1W7%r zuLag+k!|I?jD@0Jx(pO+;eaLYSagvr{UJ{nbI-TIr+8pD0j` zl5F(xK})`0;OO%N?t9mHFP7W~)_8rNZpMD{V-dtk#z!oPpK_G4vQIy3yR|BBE)OdH zN>hxe7K1)Fs--vGXrQt;Di(mU@pdGTrHAW%B%_vSPn{vmCDSiW+MK1^M7*dokK%*dSuVzOqVyFqFCrZoEL4On}!F4)BMdnS@a!TUff zpnM|yh6g9Sz%~3Rmw`%}I0c2*UcEo&cV%er(W%@c~2fq0f6xA8#0Xn#ELQdg& zQMljpcd!VdNBfK1r01nrAgKrRx!IWJ#0#tX^k%6#bBH4s7N>^XV56{=iL=acB;OO( z-Z#(ti|}k>y!V%?N@%iTT3=*Cw%0^lSKD?Rb-m8(-|tsV+b{7j$ZVh2?x6^m;z#Co zsuobAvju!@Zg%8kC=CY?~b7~BVK*qGMtxXh;R|E8- zXspewyROiBqWZKS;fI=VAAXZt0$MeD_w{MSQEaw@|JUOn62HS#r74Rb)SZ!@gl{5& zWL@IIlSoXOvn^$uQEGEp6`K&nbTRg(S+gmMW?qT}Xx~Nq?!-~eOC=z-4LBL_2U3dN zWGc5y?2mCb_;B`9~OxlClfx#?WKJt%F5LZ|L=&X<$Z z>L{9z==^=AM6cM)1m6dFgZjZ$YSjy&?LO~QeBu6`7;gB)ib8KoDMn;QJo&OJQjy38 z6^JEYtfnQ)HUuG?IQohCWX-+du0RTspLPZ+s}3hM2-0{J7>inBcjCl%ib;{lsAQjx zyujd{lQEe>rPfbqeJQJK->pA*35+alASXd0(2>n|&K*E=nrl$IA=aao$7M+ylN-XA zxIfb792y&BPVN&r$`A9iG>`)Z#_cySNsLt0ehm$>e!lP3Zfu{~3u(k}t}$NE*q=K& zES2;X)d?}4R?U#8E?;ZC>-0uEt!tDZV7^N{nCNj#eD;KTx7(<~p21zeY64_GTq3(Q zp|Zd`uC@Led%wLRRn%%LGCkpFPQ`#ZpcH5Z8|$VaZ@8>EG%p_Yx={H-4E{{3>YB|K zIInT$GC}B~JMwrIof^i!{a?S%vhzX z7KG(P4=!S9+!P7R4J_d(aAWNi}?t7J3Oo4r%%=yWGj~_ z7zv!^pY==7aCOOWP)z|AhIvV?(awR?=mP4%*YQY3lUn2R2pGZ=TCR31SaJkB6kN=5 zQ!ipXI*sFyEL8tyk!F}qY9ns@+`kOgB>;%ifsF_DcAwwpvl7D(k7W(Ue4)4FBes32 z&y?AmjXWQ_1O3L$3f}QbS^~BBB}dq*9u$<8C;h7;u?N<>s_UbOt&hzwqzf z;68tL!;6(}fPzY|Y7D~Ie59LW)h9d3njjm%3Su{QhX7y^Ei5vLHp-!c!UdZfvJxs5n#O?88Z9IrI$ z@N$$l2PUjk_Spfr%|fddylt;-bf77xqA6hyCm!F*JcdfUVt|^$Y|%Rl8Ec!I{ct34HA$Ap{zJ`anbmg#j2+n6k)GN6lW*0RunMYAj_qK?D?Ee zmo$UBo8XRS`g6pqy%uM(jXL}eox=1Anl|CZ@3kU^jDI-R}v zIET0gP_=8djiGf>S{e zXGGde?c4z?q}MiJ&jps?OjZOI28(+7Iu^?OEmIcOyEXx%Ohn3bcn0Xx=+)hbiWuqn zNu0udht|igFWK|9w(aN0!a+i&Tr}oRr%9mM&yK>qM|k(0@Zrwfik%TLke2y25q!lo zX^5dahQ$w+ho!f&boW82XSC01#4I_2u^*6WPVxm$S72BK?k^1$2I*1|bfA7T$Zt1Fzzkx{^Ly z2t#$*<+N%uj1^iKA(E*BmcgbsmlqTuU_eb%nKE8K#XzD}0n6AVt8%ft7Se%M9|8Eh zsCjoIb8{r=N=F$jz9OCNqGbxF@wOjsimO`?+aSCKuG?bASH*yIy~e{+`0cX+`ixG3 zQpO2L>63E%~7n>0DC+$DW zP);PWRfBH9o2l^j6?kZlh)J)e!{Pk!a?&W13~r$3Pc^W_i&nlBHI|^;J!apt?25e@ z;jAi@ZPW&ZJ&lY4#l*w4RHPCk%b)xdX{rr`S|el0ov|-0f20daOJE4Sd7S{t&uN+H zuNf8P&)A#lV&9=D!4xCX@#bZkGfJFf6Q51tSGdDYHil5`llcVol&UcI`Tb0Ks622K z%Kby0bPyY~sb6pCfj!>XXo8#64&1O#a|&!CzPo+SvQ;}qHkYz~OLDa-&gM-<_aXJn zhMF=uw8&0BE0(@`O{x3P)m~r7A4(+pF^?u;95w5Dy^JHo5*6je`jbWFsDyJUkQX;* zLPEH4aU8ChJ`C3H@m`rX5%r(j_V!gK1RIUJa#^n*hcfi!=Ra%oyIk#t#!=r5Rdz}Yv%=H&ftNtRFfi6pTV4Skc*r!m$ z{hY0OZ>FIL3xNyo&r?}&D&Ia_JF{51HdarXLp$N0wDS&D1ST@^qWq%qg~RMXC++qH z=N-J7qyQwteC@zas}!*E!G}B_Kz_gz@f)p(tK`5|pVzIP}h_URVXhm9HJz`8rS8peq_Mgh{FnaFQ}z-ny~rjK=k#|i#8kA)a1WtaP4g+b8b zrszC`aJkuLFABz9fNbzeR7jS`++Y}0mR(e(Udiq-vw@FOMT`M4E3Lk4HtLWsk{MS;nuch?nt8aXNaekhu4d`ov|0@?gN?0qA5!W-*MfVkM;nrzPg+MC(z*^_qBQ z2E#MDiBqv4EDRp}R%t|^RLuiEZ|bRXatU4R>$hhf<@LG@B0U>RH3{+!b{AB2OQJv{ zO3|fDG@Fg#@JiJiF?C;cW0m0wd8*);rxmRmjWiF5$2P`@GAH<8(3l7#K+V-o6@TAs zJ3rQH0FQj)js`n+Sp7jPz7zgbLqPpCGo|Xsjh&u0&SxN`M3&#t!ESl$PIyoLm70^6 zBA=U($IAfb9pW(&AIT){lt1P3gA#aHh~rpfbr^z?JsC8f7(^7m%Q$Z}-#*bNqN)LO z|DhL6YK))H=WDm4x-MIg5lN(C)+C)X%A;oPuR*_4M#>_>F__HHEy~E}%!x2g)*Fw#$AC=F z8jptpOw-UAkShAJ#6(=AUc02+4?s1_Ot~6{$Bgt#5;Kvs((&9PmoPF4>jP`R2_)Ii z%qX3@hLkEFou^Z*D{wg5ZG=Ct=YThk57)>#b;#hlq$9XDv}c(qD`#RlqEsv^6CEx! z^WH^~7`G~}+OuX=AwhscwZXl(+Iyfq=Q6Z0FOeC1ep}l%>;8e~G zx&NsDnLqqMbHx|h{NblC5+d4&(X2Jt9~oCm5&kMR9PIZ>lo!qMrf|(|hf4nxCt$so zuL0x@_06ugIuL`G<$*YLtD%SEE|F$d1{C75h{~DKl;P3@XE3LS(U|l zHhn#nzG`;;SvI)Cb6ehWKh2@vuR=J3snW6nwu%kCKwr(^1?d7+vnOTcUk)+MN^-w$ z(Q%v7|K>FJWQJg(F1_?>P-ELsR`vhX4M;lD22$kPh}ViBnE<23)dq_$m7!<5&7|4g zSHm;7^ot4HiU!hSWv}=ToIIPziG-@_^YEt6=SX9zGy-_a1vV$n{Y0 zr(w!iHj=r5)oGLr3k!-7yMQqC5v?z*yVTSw-8Fs&hK`@HOAYoHiFC}Q!V6MtJa4Rr zxGkIN=WKdjK@}h%MqCz~=V(g|~6*6F_y=5~hb2msv0%Qy95`2-BQE6BU^5j;W z634JATZd*U@)~>a>hQj*V~-PL!X?I9xbH0k3{JTMg%?W#n57k@uzn0vOiPyCdF9UU zn4y!$;G4#x{V_4=T@!a6k*q<5pVrpKp8NI185yD$<~$rhoX(L@rpVO$8K4ZHUd~2h zY*deMEyEm0_xd?P|gM{CV4bR`72Z@Zxe`? zXlIQl5{Pq1twfNzI*GHA6NLO3H=`HxLQ0$ZZ;n)kUMx4Ro7+zt(P|!KA^o}PA?>B# zlx%33bSoq5Acx3E4CxO`qF{BH#x%;sz6awrx)?-fRx%&*N%S*WJu4+q2`c06>A?>z z>yd5dWvO9wp;@^l{_UMrS%lHzww)9rKXF(j@)NSufP|eI1~9o^tFk*}aRjJO2`6rnC602}1#L}agk>bt6@`^VTdFJunKdYyl%(^|me?dWA~At`Y3sg zbiylDVCf+0F$JFYEt*UxjI|(qM}WaMFx8t{fvrAFW1b3xWN~nEeP}Rbh{LOfJWc5w z1wsake22sV0{+TMc3p1Y?NS)ih%)QkWE6y`;TC9BK``|vQ4H(`wo@x|4#6woY@K)9uBMs0 z?(UaPTR4lCyt)&9jLYsL!nc;5@IkH1F!u|$6%ukk%DuOH+s~dy=JjEN(aLk9*pZZ(O#I^&dwMi@t0AZqULM%U|RGLY6G{vQg<72xe+Fl#v%Ss3cqM#||^v#_eWl|)M zNC=$_f|VqEVUWMhW!sK?zfnCxV+9#ex zumM7To$0zAmyonY_jfzmqgQ7ShAZ;i?)%Mm&x&nUQY+~jH8sCNeRh}___J13vjlCs zUiL!>&hX?Z4Lp^IH=jyRYNAAxkEV|pvb|K~Kx2@KdD=Z#w?e;+rv}J|1qh)NZ!$or zpw0daGGLT%zl*r(E>Uv{%=H+&%17~lhu(AonX_0aV=7=4g3vN&$w6!f<(Cj*wZ_?3 zHT~;!q#Z7p3A2)Pe#yuPX;meQ3(s)2$pC(_owlPDNU5Xf@O1 z?u;^mos&OJg$C2aH!G6I`k!_W-p;t4vKHE!b|ytN+Mlw^5w#cVOtdG6@#z)Kc=kDU z9TcH_+P=;a_-Z}tW}Wezr`#(%s4!;#-o_jgQuW!L8h>pI9Kd5gqt(?#s4d@UIXyCM zzP}*kJBe5Vf9)9?`(>JS(tMOe|KQ&9yTf&9y$zhTh|^}Z;T^MMx!L%{-*G(Srf$Zx zYtV7Rb>nt~zU>)G@M;QO^9TN6%EtAnqc-hV8NkH*?7-KT)1on2)jKVxt`|~O8Gbvx z!z~G3U(W%T*4*37WJVq*eaj8dCt>m>2!9B$V;Jw_!G{YTXvM068~Kq-#^R*V6DDgf z)rdy&-}5X~b>-v`FI$QQYaX3wu`y-v&_QM)86qZmam1{<81Xg|qnumSuWkJRse>gmiM}B98R*sb;RyV_Q{PgthhcxL#8k!E0 z?6IhCm(2)2)@t!b%8Ijj;C8?|fc6)JuCKerxTa%P9%tX+E?GlO+pX^Nqn+P2DRDn* z&byqaI_iP4xUt+UUsSdn&C}DWI=i0ZKTNBt^55OI|7f+}x;9q!aa!x&*l2+>KVIdQ zozz~Oa#%TAx%g=s;z0kbAx`uYWd@zU-TqtB!HBm8%g}5bosl3u*+GOM?W$CSQ2&xR z7aDD}R6iC=Q_1yJk0F-kU}%`JsW^goZa9mmS{*LD^EXrg5v)0|E^bumNtAqtZWk_l z|AB6S@Ssen4|)+fNrenm5@9HG`tF-sqGSHD0#zB|K~f6C zBPZL<$ceJOj9ZdNIgtjnwM0xiioMk+idS)Jf#$ysE_$+XA$ZrvdIdtc4&(Iu!W9D) zZ0%_6LSuS^(`)6TX$SLjEE0(=9Z83?=f-rQbqKxn^GJQdaPUg!=4G&Ko3EGN?|pix zm@67kI)8($TmKLj#*~GK3iJ*O&znk3)yi}AwjwCY6zTnYUe}6^pB*ipc6uOz=0D3l zK}M?J5Y4+%-0x`jGo7}b;L~Pw_--CBo2qqI96usiHoI|s^@+MmVIbmEB`sKV$wMV| z4IW7<7>kFhc39QJ&eVpVnPNOGVQ@aU`dCaTdN(%U%fy6uT(yz+Q=LkuE0AuOPLBu` z*DaVs)PyR2s2Lhv93;l%bo85bLI;JRq%nMZL=gy-z>K|W+1u?wKwkU}Xt(TR-};8u z5b(0h*dQVWM;DPGvaF1QJV;NHKH9_A%lvs>twgWPi+;OSdq(E~0u3Xe+e@VnaBX3( zl0Fwk?Y^TN72qch0<)`fq2+a-TA%IRjw_{ytc5{uWt}aKdh}bTku6ywy4-W>YUaXI z&y_gw!-3>@kL@__Hbl2t5x!a%gY|G&=!P82=%=|lwQ`kGf}gm#nW{)$Zz|uxSYbA6 zv$Fo&8R!YL@9BRXz+YLPug?Fp+4e2Ww0?o z^}7!9!%Q6b%@4l;iq>!XH4U*Bna&t3Tq86Ojs1_LlOGktZ32;3Y&beUT&VV_tm}fe znvo#5s2$7XkbQTFYh4jg$CC}Q{YE=92zHcO{sdA;}edhhC;%TM%4&*$Y zKF+QijYWx1_3=UZd4J4u{b%WqLiXqc=b^l>d_PL@_8jhhw%vcFQ-4R^mZ{;rRny5{!}Du-5Ex!G{5Hgv_EFPUf1Y) zlcYmd+w%LCRByF0{7(L%F>og?9AgqZuN6H{S*L)D8(G0S;C^dw)v~soRowA*4=9+o z)oTS+A5`JU;}lf(VKq-I4Th1x?kNf0M?2=*>Sf*);v5!h5%C!eZ62q>n2UUhl!j#` z1>?d;KQA=CRqG!d!AcYn$iVywkko*hyW6r8f-F1Q;}`qo3SAnPs2YTeY=vK%?-_!G z+wC;Zee)F5Xy`u7c(3Es#3Ia99E?D(BxCcRShNP3LJf({_Gi~@J1yQgHmIP57??O;*{$HLV%l$G|SH#&cWFr+&QQfII*3QpLXS2;$Yc zpZF8%{J4rtCb;Ij(D~%tuoqf<|GIyFX4`xk)6s4qWy=`tLjW^Cu(rOm^#1(p(q%%- zvxY(~4+}A^Dw4>lq$abV3VYKZgVjZMz30jkGB_9v%CbFK9mOj z2QgKgY@rC*l$&iOMM;oT{3$MD6D)g02~eroh*&>ctA@G`kH(=BjYE?Z`%8>y3A{xS z&9X+>c8p)K!?5^=+ilbg6!S4n1Vps4kULs+1jB-T{Ykl?DF)-g+SRNt83VCJ)m-qK^ z5O(f8B0RBiBTMP#6}*KnVKCerW?p3#Qv4^-iXg+Wj5mi{DhCD$#{6!$1~kg->K>2w zJo^ndWz^7INg0x3wlR!Lrus5=nKA&UjRBm(K>pOCQKsXx6M?zpR|polXO=MIJDfq| z+UQ@37`2@)U;EuwB=GEFmnZWgMit$A$JB+>+gCSw&ge1ba46cRxFl209_3%5*>k<+7~jQ0{3rot$u2}(?X4R%a2qzY(8 zNk@QJbxJ7PcR1ZXW|+EPhGQ;g;4b!8jS3J#0fon6ca^H6R4D~R*iGFU%vl)=|3CgM52WAL7Ki&{#^z!-PgTI(vICldEgw#SClCCAJ zbTaGv<*bRapiKzGW1Uc$L)>$!%`~C-*Mw~1YIC*A0<9S>=8Oi|1V4N_i2+1*NXTv< zewcI)N*%feSKarqj@9Xzcu6iqgP?7XI8q@@*|sfMs~?w!eP8`^;3|+gBv^g>0ojbp zVT|0x(dm=y{vg32f=RHA+~G3B+FP0sqgE3v+cUbVXNtKDG@>RS!i0M;su7T%xa(Ul zJXZxq6j2PQf1R$%rFyj~_;Fxnm`mmK>}4jTKGggijTM8~f@D5;?-38pnh#aCxrH}7 z8Wfc8mV@!3s+0w15kDYKB~E^KMGuMcHu1Cea6o65klw<%z{_Knz38cEw96A-E~Ni8 zNz4N<&yq|x)*599ei-YQv~JQ}a+Fr`Dm6ISxePaqyKQBUNC}QG5pyT(4|T+pZZPzc zAuJ0>672f$8ki4LTK;Isi~`H97&@H$P>Bx0Ypy~|S#~z^E-YsOPd*MhbP8h%{IyPQGBc|C9$T5 zJkUgS(W?Gs=OO^R4>(GbTaZcTDnW;sd_1cu zz2+zui44YPskfWFR5;zt^LHC{mV(M7kzuyp6%b5lsJ!W`V1UlfR{GIQ^O-#LTj^+U z9CZ{6Z|Lu-dlMrQG;j}Wa@Md!1Evnf98|)u!D2-vz#O6GOuz+FNJ&96?R&FCZLT zwi9_RUKL`e90HwoGaT*gE<63#_xCXt!wr^ZX4;HLih4ftl4#J%e8f3^C-K9c_+CGe z;Fm@gIS5aWsU(vc*01hT1WRGeF&re5K=|>nQ#Ti?g+I|x>A{vuDU1ESiB)WyI>;#` zo^jF8t%IHkQ^)p<@{)6*fDaC%j;h08`LK8l{5+}%6`YBc`AnkBs!qNR6{M@X*${s% zQ}F#Zdq#0x8J*lhTIY(I*|6v<9v)U*DUoT!asaz=B$KHdk}a{m1P6RJmY5q&=(mXE zu_y7tC^=qdrlcMSNTKRyqf}6ZGWtQ2NAyM>IC4@SO|$9z){^}c{>QjK|IUK&PXpwX zaz~@pf-V_?>jbXG*p}E@4HB=2BFg|yS{sN%HsT%U!^|8QU zoS4G>5Zp_CgU`OA2)Fkd;g`_d2W2V~+V*|M(oc!it%tU6`xmC;vmLmWvK3m7r|*w~ zgpWt^w)J?#5dIe8ITqX_xK&;Ak}}_I^=EZjsD2hEA-HrHsmdx0 zzC_F#;FMI_Ah+J~)d`2JUc1*Y7y2)HE*v$MTso1zoS!ms5HXrc0pAH(m^=JLIzp#Y z^0PT=1;Y)@5;aAz)Jx{4J8DEQ@Mc)Q0Tj))DAf*o!hRq-$TjmV%&mFdtl@H0JQw>u zJ?p+*o7#G=sKldsnkN!5=_7YCv6D6*FALomG>1hPhaU&ei;S0KeAAI; z5sct!uN%xMBwZeg`Xp0|=AEf%+ZrRcdEPG-`@Za42;5E*GXC6*Tj+SRW;GdoI`DlveEt2dzupR|s&$p+IN^GO@GnKgQoyP3@1 z*kt+BQX4uY$$s03+M&~!oyA%_J`<5w!+sU246j3$Pf?KykGP3~$s5etzEQjhm9nZA zFWddz^InPpfv!GXoH}&a%UERM)17&B2Fn4AM0L*;PaCF ze3iEI0Di~Yb#ljRvEbTs>V(%dobJO@0=4q{W455nVeXgZm6gOw?G_iWP4J7Sm5$fN zmW@|`TkjJ~!MCg5Zwv2F&ogqoJC(NHn6n)(dlQ-7_q0_VZy~a>V+&e0`H{E_q9@AP zPn&Q$cBh;jk2}2Q4`Zf+&!rPS_p}@DZ$H{^3vIW1^t%G0G`RMr#f5XA!HhGqFs_sk zRQRN1pyHTqBf^Y1u|BLEPDV-u=u zn0q1ZBDFEBG=aHrThL&z{th}SmoPSU6e)eGQ-^nMt;_>5FXEK#LE`J*y!r33K6Ah1 z%fL@~=YodhUaMn{y)~0hcCrboWR@#13kL z_7eiDWpR$6qDWIV>>zV{jwQ|8DxI^`Uw`#8vCMF_R5lGp4-q1t?9mS#ho%r`C#TMl+3QgoWxI!iz zArc^L>f;K$@hYG-@9*oV39|?@7v_Y@muP`KN1IYVZx{2qx zrCy8~ZB_dNpDg?KUU9ZZc|(Kq@yz}c99m(-`T1;|mf>00D93+z0ZiYd8buFsQe;1K zzg>~MzP`q$S8CKDUpBWNLsn;jSxH#AF^oM~h&V`fi3g8LQ#aS=7hP z;Z%k)b2TS6O>cB%@-;|)Ub0v=`*-dUW0wDBb&c#;pa@l#2ha?VfrWHhjAW#^iZyJI z9&O>9#b0D;X1W$;R(BWSW4`G~R0?lf8GtPXA5d3_y926Ke@zAssBPkMBS_xW%0iMW zQgx?E?!nPuV6zk3N2rY?xh*HciWU%jpK`8F2;bl-bag!M=hZsi_J2=4u&l4^NG0RC zY`9mwEDdgSx?RtFzWR1P1rT_>W;)8g^-+A-+@BoEabG8zjKX*B#XH(`JQo*dJ=Aht zww=fLzVWE?Zr)}$wQs|vOy+cMIp(~c3`CvkpR8Z{jDjMptu8komg&8}H6L~yJs;)> z{5)w87Z=DyN2(5R*nK zMX5S*9V$c75%C#RlgXJHRgJPj11F$VEN*IG8W)xhjaFxu{}Y<2o8UZHHb_pz8G#Nd zKpAYd^;E^NB>BRyL4^2dLy;_!I<`=h`NT)L!#$~AJ?%-%#k6V3KQEqtb08T^m|b zP185+4Y3sDn_8AO1!N?p$rr^comXjPN(0xHIpM=qh^3<~6KOplquD+^VVW6s{tqa! zsBw0NF^P)5_!s5a6@p-A$umns+yAU-L|N;CRMcn4$Pu;pv>K?QKxG$<`A9P=emvpz z+MI&gdNLzrlQRS?9#h+__m3sDFqQ;umHhU7oE}>Skb#_CH<~2TOb4}?bBOpi`Yy^q zmIp`*WBbAZ(H^PN-29>;4xuXxi43j8{>WmALPGw!wU^HKj9y)jm2yFS>F=YTyCG`z zjeC=B!)J2dZ$k(=?QaC1+o8P(8H(aQZ%-6i>_#4*yP*%09?O}FI;5S5OvJJY8vHuj z(}Ed6(?ux^u_e$=NNJK()L$%(#yEP}14$sIQNf_$f|cK}`V}>oBQ(xhf9blk7R2G& zzJ`)HAz8a6Vx9EpQ>H0ceeDu97V1PIGEjj7(U?%HKa8}5897Bt08L51{!<}sz@7d2 z#XPVwi}NH`7ADq>O2I>lvi3WfXrZEUR2P+oW;4OuVRs9;7%M z`>Z~tbG$1wYBaO#Xci!zC=k$Jj&DTxT;FCf`x^W%lh(~V;aRB}-iF$#7)n;ab-8iP zkmFlv_PIqfnZt(7w;$JjG=EzYtbwm(Xi`g(OCQp$!qhG9OP>l;+dH7GG(N54*g{6PC20y$uB|{gyqB(l?GKv^xix$$O@V-h@UR97Y*o zo<+UR{}oID0^@zj>m~5Ex~%eTh2w+qQ@#z(vDLNjOYG!cbzWn7IXn_d-1t}!Q9o3E z+gxuDLORJ7(tA3>kZyhI0sqZqKiUYo`Sg$;^ZAa{`82;Un6u`2Ha$z-DnD^ROVs)eyL`%GP`$liaSw z^UL{=(<;GC8#(LjfF3lsG)W^DVxL zvS*>MTjTTUrq1iqZq}B*2=Mj=VQVB`nt;dZz{p03J}OtDXLb*_LPSMl%QqhEoyI#0q3OW?TMR; zLIx55jus5S(fAF2pxM;mGX{ZE%O^0+K?^gRVi=$Z!bggwDHP`!4~0>q-^44lW4{RH zxv22*kqn{Ph&zjZqef&z6PJc7F~6*s|8~@3{=EkNY`&61&&#PDIO57q)QTi8! z@$X#rZ7clnJo>twLmUs3_7bIkMKG#jn!SbbDg@%!vQ_30Yz$%A7g;}F<)n?=io%g2I$>xxgCw={-+ zY{qfYin~LFk=Qk@GNJ^bbHX3MrXey(O&%aYnvla+4(I^(%+A-K9u4*&*x;7f|DewR z6?gQc_}6;&weicr*>#EW76rIe=0bgo?wRh}@#1agEGw7&3IY!SS==Bxg-di9SD67& zmi-aXh5cr&5hR%wMpc4mpDfg0Vt>%((GWoTZc&ot!my7ms{fe%anAJuU?=)FQax{O z)U>lBGjLchOl>iuGtN7`R@iDj1u;}{zbB@tAHIFWu)3|sjCHLX(6v{&-@hTW`#yJi zeQ4N0>-b;Im|Cgt6@uC(2XLdf&LGEdaa_cMFVCZC)C*@rA?>wOM}BRG9|eo|5hVEoRd^l%^&nHiq#rYS*mYLDNtMtSeZ*R-aCzhw`8I zr;ocl{53BvN_yP4a8+DjDw{7=4LKi+X4j87o0#o?PpNY7f^xH=QEK6waMz2sS60`Rd0diIAy!w zJ1BWzb>pz5Z+S72o3d{C2wruK*}5O2$k_;~@#nrh?mX+2X**rG{G1i?>}uXpxkc(q zqi&kn3moaz{8NWU^`0-q|C_5u@@Ef5hhfR z`XqKM?}^eQMZ=FOO)bQa_+a|L^+SVK9vJbME_LvS%l36S*AAumi-!||xVcY?RN=qe zpRe{%_j7FjKE6F9-+;69TmfirLyLx@pU2fYU9kdfpXV3&c*=85xSvH>RB;9P^g2yW zfk}%VH#$%M)aq^uXdXOaV$@0c3105-4s?X6CagPGefsw!cyC-ogbw^5T+1#lA1&4p zyiSH$t{*QK%Rk<|TV;9NzhL23;^1Nqz=Y)b6DV;U2VxCE4W?GJ;`>SKV6j08HM-cAlm z6Zw)nNXu&4KlL3;CP+Oh*@%Hhm1!@R8Zg~39Lp8IVinO9`%A`3QpvEDJIJSa&wPj= z#w7rJ+xd-HEC)d)EDj@d8e7=XqJs4TC4=NJ9@9+rtqv~gX?$EO;i>7f27dobiTLO$ zOW2U#~9zajPauYmZtIjHrkyHY0?wM5>ABpn?$4l;AzhM?D=BiNQ* zF3yWDwA3&h61m!PAs=VaUpm0M5ny3Ywd_t$2-{q9TA$Hnaj+d5S?AHYM=f@*j}^Wt z1(p#2&!b(xi}QxKYA7^;O)n)H<->c@PScQ2BmO8fL{>-{UEJ+gBLyOVv_K4&IH@iN z>k>}sB|pua-=rZG6v!1tlF#}5YhZVlX@npHv%Xec3M(a_FjkN-J?N*gys+6QCDuuF zSNC0_SxH{%$@X@a{SIofD%)USS|UBOFoh|l^IZamx{7ZH9m#}Vk5c2#l z$>=0kQU4esi15rRMQ8a_%wOnak&*(4`e5OtnI&R}_3pbRKtj}^d}aQH)8ua9VN8A* z4i!M5v7kS5gkE~WWx;chgOxJuYTt#m-rT%6?}#&p{eHA;C~Dc!Eo2mQ<$j#Jlrx~C zQIPAkr(N}t9e#BiRzNJ_1zQWseKDl56@Iwc%NS>8_!nq~%SW9z_yb55LcXH00$K9Hc4(8E8J~a))$E<6llG0S=_nz@mBAYWh=;+iCn|mMIm`PI8llLR2PZc z6%|RCHTjve8A+#Vd9U{$!&~4X?%b01gN6f1 zEfjnG0AeHx6~|?VOjZqH&v!2sERs&Dg0K2w&-5BBJ?}{>hupFplcHSo6xsq?`b0kt z#g!_BWF`5-{ku|;AS?S09Es}1Q{)`?54_^BvbE!X(bXX?#um0UE%Ztat?(1>)-&LS zCxuWL!D4ACKR<0VMbhmF_t&x%d?}a`Nh6|Nh6`@#2_r@f`bw=KVM_I$7jKV#6C~&8 zm3$iGsFG_4b_O|09S>D55|2`J3KQ@UK`UfPI}wfx%w94hT^mTJVVK;Apow)atoV!M z|3(rL@EHXjmi-6o#TF%W4;`A5NVx> zbH#4NyA9aQ5^;wWpHIh&Ouh!g5Br>b0-LUvH`|L3sVR?7H?c}CU+jNykMS!>V7rfocn2D^ zKY86$?h*kvipmc2s!Y-LiJEgz%i_gc+gLVuAC$R5DkQ=1Yq;3*)jkw-h%2%FHSj?L zeh<&};_;~{1{89dJ{Se6z%9&&wxa}|+|{Q_LtSC=(5vt)tj5Yx5d8T1Gzo)4%nCKnO}~g;p-R)13k22CmGtCip>+))1&6tD};H@lR%_ZNKw2cL$L>GB-i8rlyCk2)nFpbh_9f^h`a2vIUd2*Ao7OD(Nqej9rp9kp;DBp<1vFf6+zzN2ogy}zApF(V}Y3vYS@Q|F~ zn0}4y*BCPO;FDD61Y$FAqI0B&$qIQV00DgJzv;^;tY5Eh;?V+w&!7 zJLsu0FMcWHi?ARrdrx%mX&UU+ z@}f0UbE)TMUz655V&+SZ&RBW?1#-$oDxXsGUYKVhh#mkTQ}|uf8BjX!K9k<}208D& zz;Kw#`~yp!!=({Xd`*gDF|A(JOwbCw*FPgHMF(CZ8;!9<_smvWcZ8`y=Wa=xoDRr3 zAe!{zT^yNoBrdYDo}YA#HZ`(m~m`f#M@r+`TjehG;tysJ5{q(^O z+rLYza6|jTbM{NuHF1r`=c~TKKb3cR7)ZjL!bi~k<0ye~nL8gs;~2LP#D}OT_58lq zz$d&$@ozX+n8iLibh@-)z_cNP_#lNgdY-HNn#K^PIc>U@9GONmYMVnEZEJgZC~v1s^P zG{2LBQdX*Tt~?AdCM(e%>P-J0^P1p&EQ$q{tTOWmt+BvU0+ioK&dZ1=?)ft`2`opD zl_*)km>|018z6H3j@D#zKHzLLP|n)#S4|;@fr^Tv*QO;y^w*7m2P_|jjuz}me5&AT z?25kFhiCRK+U`Xuv9{nn=ZUDG@w^QrxFZ zT}1IO4>){4YVv}i01?{pR{AzueLS1o-%ao1os>DNPd=C~KscIM1fp*YMKaokm1oMN z;)gDx6DSiZienPoqJW`b3ebqb&KGnC8ukoF^Y0Ul@6_D96BP`eb>Y(vn+xTSG4{|F zlh4&=M(P4Q*GaMgIi`_duG^(Z1zIXAnk@)kLX0F;L&Jfdo3v+9TUZXY2%$4aAurCI zmf@3{OpdD36n}sEy~)1&1ob%>ax!5o9&qG&>ARJX{=-Z{yND!nDUK!#M}Y&X2i5de zNn3>7J;{#`#+|1T;(+96^TXT%B$tm^mQq3*fQYo-1?sqB6_ypVF1|84W4BGv77t& zFT1&j2#NDTv98V`j5gtwG7D7r0@LV=-igHo=Lt%;9zYGwFCgZJFJAq$ab|-VYQS;{ z#;Gi%03i$r)~nXNYhxtbFy)sc>NR7qFEJJyMrM2mu$-a~Pf?Y)me_v3l&~v(E^BwA ztq0{$(N{LET7(Y9Y!rE}qFY_PK0bLq=k!_t84|fqTz>2b`!z#r;qFpFaa4jm6W24M z-J(zmAt&^CkyLT3mngbmZ;^uMen@r$*=c4%)vb60IReOqAfx*Vs%=<1_w)Qo@9LrO z@xQbPVJ~Q=E?{uZM{6<+I+XXM;EM@IvrHx^fssdVDCHb!@ugHeY(G{u4lVh5Rkf_U-bIeb=69| zmb%jN0vP-NKQsVU%ma}1xtw2gZvPzL^8Ig~X{K*r;9&S(ZjLmA~^DLbf{2g5TE?q=2{dXbpe;KBUF?(&79k@Efjit}u?J0T25fS*V-C^LbejHEo zwCelZTI#mz8;Ff&PkaENQ_!;XI#X61`{(@cv)H+^z{BK_>R?wAaOs@1AFY#C`PveC zVsyQonVLU4;CF2tCsm6&y=%^q1rgcRA)k5+#9>`_0LI;=qQZp2TmXF)@}C0;;!9ml z$3KC$e%=A39^%jj9Rj+l!65=iD4nMe;JpDT4U-Y}vQTAzn#FX2x#n{!Ao15OGIe65 z;mq(En?HWovne*%YPU9a@?{rp>n^0^uss6g6P)Zv_~<^nMIo8bGt0hDyOjc$88Q7K zjr5%L_l=v@ou}DZIBfTg|9F={lfMy*2nkg-d}I5{{T5}p$bG%n!J^BI!*+BdN4W6$ zS3~d)5V~ahoRk~I*yy#?pC2|^J)h&P#+~kT*LrJGOSk1Yh(q;N$L`}3fzLnYG3Kd4u z0vHN@nU_GMVD+;YCqwpxo*>Gz5RbWsy3CTuG#8ZwM5MS?8G_-vm!n)d@w`=2xo*_e zxuq7{jf50UJigB>76Moj%w_HENYntwAKzOp%WL`^3_QMdO@8X9{;En3AC*Z<25q~I zWydZAh)^_9Uu&xy(~G&BkT^EOB;>FnWFZI$h_A>pqlMH9mf!P4<_5EuB2?GxA187? zyly)xf!)r|&M2^!!GJr&Ul`>F^FO;MF;DRiM=dn zAeRKR$gU%aB8dq~IvOGkJHm?!C`I4^$E~!bc4#djA`hNPjdpk(;50tz%VQ5#NX&-| z1EeqgJjv>(g9o!6%Yt5dqDPvdKry_m-wy4nXptK!;Umx+cN$gR)*x-{-tRhj%RZ_J z!(L6V_x8$kd2J6O2NGm6f!8aBO=bZ9L_@F>Iqo4Txn7){rf$wGrS|IlUVvE;sZo3Z z2%G+8jrByyws#t%&RbMaus>Y<`2Kv|?s)KZTR^6;?>F$1AH<`&j>z2uJl&bO2*qZ7 zGsfkFPGkM~bJF_nZFHIv^}2rK)91sn{u|nj?y@~3Abf)$%MYrS+F@Z+&41O znlBC>-@yTlejXT$<`+){YML^_Jv>2tZo!2wAgQ1#y@3Uh2FgN?(Dzw(16U5ZI41cz z0Dif!ju~piiRim1Sx_1haAq|0;|#M0tltp; zPT-q)Nl&>37(6a!PkZg}lzFkPOIDibRDTGn>#oC-tzY8C85B9}piTWd60&POEfx)) zR>+fP+1>}Zg$1vvtlm>(UW{ zw)2j8W=F86yv#j3pS5$28U!A&Tp471n!gVTydMk zz#m5;@PqPhZ(;4fpV2$lZ%Wn10A`4z*Yw0i%x0>)@gfy&5Xju<`4#p=B_h)LU|m>z=WY#P|`p2djYin z-)Q>>-t5GHT8x=-vKs9PTR{XMJUqsE+rhxsZm7MzGUEIxZ9M>uaKI)c^fd{h-#48f zO&V|{p$Y(la)}UUL>b$r%;j^4P{cx5J_?R(tQzm zjo5P?E<;~qohHIeGR|Nph+qBuZ25A{APlXBi0y$+3wtz4ChFd;P|1F)2H@^QK=o_u z-H>Pn8^h3n@JDN{{UzJ`{>k;4Exj55D-0CrJZKkA z!nz13vH(`D93Ij2hNzInnGYtYI6=FG=IF0afkVW}U%A6)0Ni`ZkC4o8Sh^7a$y1+5 zd6JS9TH7!`Z!$yl00fHePv9cjKIV^J%cUhiQqf02hMDK>j?Z zi4!ylb|NLpZQ-OGyL@vLSxb(&b2tYnzR&vb50u-<_ z$6i^!W~6cyXfGOG5p{Fs@5pq2j+XEE?5a8r6T@?kg>?JEK)cmFx6=-yIpeC}*qE{g z1$iPAept>d;Ue$;Y5yvPlO2e^1%i zJ7|YeA-h{KfMhb|`(Ut4ezADe2D(onski$0Qh#|Xl+4ppk&uv7K*R(EaKt5AsGAGD z4Zlc(SI(p;-L~WZB4slH;-)!X9QCyH{u)>b1%?b-ZWqy>CTWmoUpb6`BdAGR2w!+8UhDNs~<=FI&3oCSFb-K?@hrG?iJXK|27sHOl=)+T%gwe2k!bOU1i zf#U9oP;{A;A~%&$j4zd%s7?MBQQM8MKK)dJ@CRd^fY_TF6EG3o}WA&C&QD$q2eF z%Q@m#i4DB^T%iaEf1Qf(zrv=odtxvZBYYy7Z zYW`b*F6=~E*)3q-@i z(>=@dI#gD1yW$34Y_-d7D-d^SYy#IBh-5@eN2_8tCg*iTjiL2Ed484kLPYbIu4Y7L z!YAc?edgIBuBA5QKZpT290>KKm3eMqO;Hiiru^m-02Lc9fc%*+qnmE|eLNsQ`wj>y zR+2Zz(wYog;+QZss*ri^N7Foj$^E1gM+rZ@YDs5!18`@7Cb9qrme%N@gJFq)rH#=5 zv{Nx+RiXSqtclD#>Z2!Nq5jfI#0NuBnwo{xQW8nuCjFc4Pjw{fj~mJS$-k;2Sp9-A z8te+YL8)6Y?l7K!TK=_SYM#vyRcplAmtOrVM=Ck)nu6BW998z=*kRT%#nJ4oe;JLO z6aOGZDT_}eDb?fO)?*Wh4>OVOSA!}>-XcZm^oZ}B%%_BZc%nijiwsOqc2iI`$y+EV zo(nPcmW%P;s&lbVNnRue0Wg*N4208=!1e2XOJ8fE&4e(PLQxXy19*0R{9mnG#aywrnXaD6-@E?Etum$wv4>Q@cJ0;079S`Js zXDh!sC{j4FyuL!XT3^0gxMrvERo$OCV#ppfieLSYp98pT4?9k1`P85vK7|^gk7cr` z$UX=Q=%4n$0A*22K&l!v9GaqIyDhqWm*x5!2all-xb`L`BAk-)$J zJ2{{gOqKKu$MacHR~E;?w}bwOI~?unS+)fxT^=t$f!4aheUwVrP0}7oPk&+T=kHj% zf4Qyy$GrUUUdKcMDUk9T*b_`VNl$n1_3n>vcBCx8!Nlyi#>mKVv(Q7=p5Sx6xO*6= z@;3Sw$oKLX!uNEQ4d5ks18lfEI~<^VPF_+vHy)0RvP91Q_!m@h`(AYV96t*(W3(A= zw7HLe-fx})g7ljOHacNVF7~f)n|vG99x`%7XaI%yzu(qBHwnNcG!Dn2=aONTj+$6W2=YvItw!M7t z=Pym1>CA3#HRr{d+$@89iyqV9w~uGXpEHZ9=c{a2D=_GVq(zkfV^RUX-nE1n>pW4j z&B|F}GP?3{BfSW4E696jC$M?ydQEQMo73p+?fom+Fa9?6FUfwk-tv1g8@-jy$oVB+ zANIkn+(m;;rN`io5d8P&dD}*3T62zzC6}wsS2d|uc-VUcSnp3U9Qn60nq((uxVNX5 zDAoO`AUey1d)%36Lk?cQRu_im5EaRSF?eX+Ls2>?_8IoN6ns^*^^^xvCB z`7x0I$}C2~^kq8$cL;S0uY+d#qH0UmO@IiytyzYS?s);deFZANfvm~Il3`|o;LTX* zaKrC*B72wX_s76Eg8Ir$V60zhwmF7PFx~>qm!hN5YNTBj+^)>id-`;T94k- z%?Kci^&&|QZl&3*d1_A5S#5eGI@Yc&f%{(ElH+o@0o-=HC<#sUzbBTT3ec}g1KK0a zDI{3DJPcW`ov2$$x_4?2ATbB{6}as`-yTfZr1Q2sLSd+cTDfOvi;xKE94efEfKZ?6*V~T;n`- z3?6_PGX?%;hlBG%(+92QQuyLwWBneWQQ?e6T{_}qp4aC&5zG<&+Hzg`7YMS`uZW|6 zdWih@Mj-|E|m@;KO7f6%Q_Thfr^dvE+) z%i1<{xWRYPQ;^CSnIm|7f^TJO+eOz9^!9d9iC6t&lfC)%kqgl3z{kkwVx);dx3S)O zJ^1|(ZDW3Op#tJ6@!0lq&2QCvlE)I>X3G0I!qjR>d@}3rsqk;_5x|n?KZZn=HkD+f zL#G9CYnZHDf4_7a%?Gd?aXVA}*`|mGJwA5Y~uP?cJLn0_=BHg2srWq zsVra6O>N3p%OL_+&6YcWgpfq#>`8ZI;0Q{4(ZAm5i+G8rs2OgJCo-Gxz9XHv?<1>yL&{?c}v&27R^kU zRM&;OZuoj=I%(4a03mk9>$zMW46bh%RvWj)lsr6+1SA`_?|I;&nmam(+OQzw0)Pml z63ru!Byfoy;ySr-8BkiD7b?QS)q$(v1zoVqi14#-GdYV4^cMMv{KBsRhXO&f>wP4a z4By-ED9wQ~?mvD!|30)XH$uYBBxd}Q0qY$!f!{gkoqp~&VJy0Kd&&(1M--Xzy|yVO z+>ZJ{_a0ca@;zajT<(u5Ql2dk0M89bwuRCkfYLi+7qP`R(oFlaK$`!xUr-FHhT0AK2I|cbrt)@&%KR3Q!*%xAFP-*tbCk7xv2t!v=zh|M<5n zHv;VCxvpVwg39Nk*>=IF#zfsddT})e+yw(bEO)lFv02vE4Et?LpoHr?%|!e^Ml^wR zGk1YXcNvWUx~mLHLuDALQRJ9)5j(^9lT|A)@~_@_+6E1nTbgkpq-s zES*<)E5o+5^>4HeFcbB7KGy{{UohI&u6AxiV5 z^QCji`Hh!WH-WViUxn#pHSHHl>ll{O$mL{5rI$lmI;?C@n7fMYXgig=@rN*#;qdof zY762wnc2%yobgIvy2Dp7#peLjB%ukZ^YC9QG7I%JG!}c=lv>?i?nH!KS#OK7 zc9atjtMmj^zv$}SfPFjL{~npQ|BVPc2<6$pvyR4~fF9y2#7dc@$|XC}tHUI{`D8vJ z-U#})5~s3r6E&Y6tzPgOe;CuUIwZgZ}7fa$1fYw#+8A~AKRTfAMt6iiy={NIt@?Yr#TZ%9} zmVc3p{W$Lk%g4Boq-(0ahn_qF*(KdZ1m{2>SrXFt$^||>O=Dxw&t6LS+M}2bC8Z)R zi7ZNtkCao7;cXmPTV-AY#|XXiwMR4}R68{kGf>XgCu;+R&26W#s=Y#H4Y8?yt5Ru= zY6s?2~MV?7j~p_I9G(xx?3MNiPOn!2Q|5BRan zLT*8u9-xt^rDf7|ev{GSB`p%R!Fa!JLHA&j zM>eqRVu!2Um;m&bC=rkgRh{E6CtQ z`-N}ys3f?{-gF|RE^(v^(1^!QH5$|k*j)bd?DcP}4@+uzL0%0s71-0{b5$!zIWDgI zo0A*(b5%3gHLqfMgWOwgC%0lc-%76ea{8CaCVKHZI?iAi3A2y1^$cq*bhoP*+`&b! zUqEc^XGUeD;e1!2?Y-T(Pb81SPNj4)Zeql4ybkW?jWF~#@gP5e*J~O)KDahbP097# z@B2EqkVIucND;GtI4WUoL|2ebC4f!v-d2>B{%n6F$mU_^3EwTvkoDT>P)pv&t6rM_ zmalsWjiapYA#KWju1ZD~EF&oTgBChsyMFBH&sAX&MN0||7Lr1>^Hry5sItgYiu~!PDK8D;1%G zoeQ>;wu8s{l0HJKHTfa#L;A-zG1z0Gazm40V1enBH?9zPqwny&E_u~w-;7)J>rgjM zG2q5|$v6t_ zy@xf14GfU}4&%fKB3J_Jw$|dE+{}qF+{O2kBvg|RrxUL@g8CWGdN3Rxcrj%);z!l_ z`wm8f-RgGO34G8i6M1Y}QhM@5?`8rzz?019!L#{ag|WMt%IM;+jdu|aXECK)`2oSH#66FY9@rCxv&EtbFr52tX!b68gr4SI-E4{4k#8hif@yYj z0o`nC5gX?4m_yYkl1Lx8DK3GsQRm1ct2G)b|2Y;!l)H?Abt`Wi7Js4E|234odo*a| zQwcx}L6{9C?>KNfZD6H9PIv)!F0)3<;mWBxY>wfQ+|DW_Knk+nWYQ=#FLE(#U)bC> zo#?!yI=nG9oyF+XdPLKuy*x@^Gi`$st#L63gt|_1BG`} zCnW}ii_%;z9fEbWvR~YzS7q-hEeOq=&If3ROi!zKq>`=VK*D_AFo&EN&WqUUV6;~P z!dZFJuYS7D^BV>pS-G4o067qPdvg#i`Edl~j~_>TAL^PTl`(Sk&#(I$QFl7ZuzEH& zMc-WfLjp{7dEo7D{27V_TuFpVQtgBj1Ln`GNOn217ea=TIV9t0UuB}f@r5$&(TtL- z^*4j#=Fb-Dx3?oaCh=-NZKLm=sI-pH`)j7*OJi71>!MukZ(K)QCTmF?j!Y1z#v1D@ znpr@7EzMCw5wjS1OHE;^WFN4bM?VuJY~teQmqSj`dzrFsp0$1DGqg;5w0^ zT`RRs9oJ-f`AV%uV#NfXS$U)CdKF8}brQ~xuC|^`V$eFg=X*VwXM2M=)G#Iv zQXr=W~q+CDk}@ok2>E{0qOMZ@cJA;@Zc6MA!#-;Y->rVGS`uO+6PG9|+15Jg-8! z%f~OTIP!XPjCvpj%)≶cGNit8N65fk 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 Date: Fri, 7 Apr 2023 12:44:07 -0400 Subject: [PATCH 02/10] Update with feedback from sig-arch meeting --- .../3935-oldest-node-newest-control-plane/README.md | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/keps/sig-architecture/3935-oldest-node-newest-control-plane/README.md b/keps/sig-architecture/3935-oldest-node-newest-control-plane/README.md index 665c061ce06..6a7921823ac 100644 --- a/keps/sig-architecture/3935-oldest-node-newest-control-plane/README.md +++ b/keps/sig-architecture/3935-oldest-node-newest-control-plane/README.md @@ -78,9 +78,9 @@ Items marked with (R) are required *prior to targeting to a milestone / release* ## Summary -This KEP proposes testing and expanding the supported skew between node and control plane components -by one version from n-2 to n-3, so that node components for the **oldest** supported minor version -work with control plane components for the **newest** supported minor version. +This KEP proposes testing and expanding the supported skew between core node and control plane components +by one version from n-2 to n-3, so that node components (kubelet and kube-proxy) for the **oldest** supported minor version +work with control plane components (kube-apiserver, kube-scheduler, kube-controller-manager, cloud-controller-manager) for the **newest** supported minor version. ## Motivation @@ -182,6 +182,13 @@ Updating the skew policy to allow up to n-3 nodes brings the policy back in line * This does not propose any changes to the mechanics control plane components use to enable features and work with older nodes without features ([KEP-3920](https://github.com/kubernetes/enhancements/pull/3920) could help with this) * This does not propose delaying introduction of existing features SIGs have planned around existing n-2 node/control plane skew +* This does not address increasing node skew supported by cluster management tools like `kubeadm`. Maintainers of those tools + can choose to make use of the additional supported skew if they wish, but are not required to. For example, `kubeadm` currently officially + supports managing [kubelets up to one version older](https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/#version-skew-policy) + than the `kubeadm` instance, and does not make use of the existing supported n-2 skew in upgrade plans. +* This does not address third-party components that version themselves with node components and limit skew relative to the control plane. + Maintainers of those components can choose to support larger or smaller version skew. Node operators should limit themselves to skew + supported by core Kubernetes node components and any third-party components required for node operation. ## Proposal From 2b43bac16d6305e556df9955b0bd250842018595 Mon Sep 17 00:00:00 2001 From: Jordan Liggitt Date: Sat, 29 Apr 2023 11:34:32 -0400 Subject: [PATCH 03/10] Update with feedback from sig-node meeting --- .../3935-oldest-node-newest-control-plane/README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/keps/sig-architecture/3935-oldest-node-newest-control-plane/README.md b/keps/sig-architecture/3935-oldest-node-newest-control-plane/README.md index 6a7921823ac..34c039ef204 100644 --- a/keps/sig-architecture/3935-oldest-node-newest-control-plane/README.md +++ b/keps/sig-architecture/3935-oldest-node-newest-control-plane/README.md @@ -66,6 +66,7 @@ Items marked with (R) are required *prior to targeting to a milestone / release* - sig-cluster-lifecycle: [2023-04-04](https://docs.google.com/document/d/1Gmc7LyCIL_148a9Tft7pdhdee0NBHdOfHS1SAF0duI4/edit#bookmark=id.dlswqqyv7xse) - sig-storage: [2023-04-06](https://docs.google.com/document/d/1-8KEG8AjAgKznS9NFm3qWqkGyCHmvU6HVl0sk5hwoAE/edit#bookmark=id.3pg0lcwvpqce) - sig-architecture: [2023-04-06](https://docs.google.com/document/d/1BlmHq5uPyBUDlppYqAAzslVbAO8hilgjqZUTaNXUhKM/edit#bookmark=id.b6nofrhcysqn) + - sig-node: [2023-04-11](https://docs.google.com/document/d/1Ne57gvidMEWXR70OxxnRkYquAoMpt56o75oZtg-OeBg/edit#bookmark=kix.clb5o8ybahss) - ##### Unit tests n/a @@ -409,127 +401,25 @@ Add a job to https://testgrid.k8s.io/sig-node-kubelet#Summary testing n-3 nodes ### Graduation Criteria - +* Test coverage of n-3 node/control-plane skew +* Updating public facing [skew / support documentation](https://kubernetes.io/releases/version-skew-policy/) ### Upgrade / Downgrade Strategy - +n/a ### Version Skew Strategy - +Even though this KEP is not actually proposing *any* code changes in Kubernetes, this whole KEP is about version skew. +See the [design Details](#design-details) for the types of changes considered, +and the implications of this KEP on *other* KEPs wanting to make those types of changes. ## Production Readiness Review Questionnaire - - ### Feature Enablement and Rollback - - ###### How can this feature be enabled / disabled in a live cluster? n/a @@ -552,256 +442,91 @@ n/a ### Rollout, Upgrade and Rollback Planning - - ###### How can a rollout or rollback fail? Can it impact already running workloads? - +n/a ###### What specific metrics should inform a rollback? - +n/a ###### Were upgrade and rollback tested? Was the upgrade->downgrade->upgrade path tested? - +n/a ###### Is the rollout accompanied by any deprecations and/or removals of features, APIs, fields of API types, flags, etc.? - +n/a ### Monitoring Requirements - - ###### How can an operator determine if the feature is in use by workloads? - +Observe the version reported by kubelets in the Node API (`.status.nodeInfo.kubeletVersion`) relative to the version reported by `kube-apiserver` `/version` endpoint. ###### How can someone using this feature know that it is working for their instance? - - -- [ ] Events - - Event Reason: -- [ ] API .status - - Condition name: - - Other field: -- [ ] Other (treat as last resort) - - Details: +Standard node health / readiness monitoring. ###### What are the reasonable SLOs (Service Level Objectives) for the enhancement? - +n/a ###### What are the SLIs (Service Level Indicators) an operator can use to determine the health of the service? - - -- [ ] Metrics - - Metric name: - - [Optional] Aggregation method: - - Components exposing the metric: -- [ ] Other (treat as last resort) - - Details: +n/a ###### Are there any missing metrics that would be useful to have to improve observability of this feature? - +n/a ### Dependencies - - ###### Does this feature depend on any specific services running in the cluster? - +No ### Scalability - - ###### Will enabling / using this feature result in any new API calls? - +No ###### Will enabling / using this feature result in introducing new API types? - +No ###### Will enabling / using this feature result in any new calls to the cloud provider? - +No ###### Will enabling / using this feature result in increasing size or count of the existing API objects? - +No ###### Will enabling / using this feature result in increasing time taken by any operations covered by existing SLIs/SLOs? - +No ###### Will enabling / using this feature result in non-negligible increase of resource usage (CPU, RAM, disk, IO, ...) in any components? - +No ###### Can enabling / using this feature result in resource exhaustion of some node resources (PIDs, sockets, inodes, etc.)? - +No ### Troubleshooting - - ###### How does this feature react if the API server and/or etcd is unavailable? +n/a + ###### What are other known failure modes? - +Node components (kubelet or kube-proxy) failing to start, crash looping, +or failing to become ready are existing failure modes. +There are no new failure modes specific to this policy change. ###### What steps should be taken if SLOs are not being met to determine the problem? From 6b748bf7fb325965f5182463a46ad662d99b4a90 Mon Sep 17 00:00:00 2001 From: Jordan Liggitt Date: Wed, 3 May 2023 00:34:57 -0400 Subject: [PATCH 06/10] Add PRR reviewer --- keps/prod-readiness/sig-architecture/3935.yaml | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 keps/prod-readiness/sig-architecture/3935.yaml diff --git a/keps/prod-readiness/sig-architecture/3935.yaml b/keps/prod-readiness/sig-architecture/3935.yaml new file mode 100644 index 00000000000..6132fb44859 --- /dev/null +++ b/keps/prod-readiness/sig-architecture/3935.yaml @@ -0,0 +1,3 @@ +kep-number: 3935 +stable: + approver: "@deads2k" From 78faf3dc5f800fb71b08101edd486768d416a3e4 Mon Sep 17 00:00:00 2001 From: Jordan Liggitt Date: Wed, 3 May 2023 12:13:14 -0400 Subject: [PATCH 07/10] Add links to related work --- .../3935-oldest-node-newest-control-plane/README.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/keps/sig-architecture/3935-oldest-node-newest-control-plane/README.md b/keps/sig-architecture/3935-oldest-node-newest-control-plane/README.md index 36b42e18487..18b0dd4c0e9 100644 --- a/keps/sig-architecture/3935-oldest-node-newest-control-plane/README.md +++ b/keps/sig-architecture/3935-oldest-node-newest-control-plane/README.md @@ -29,6 +29,7 @@ - [Dependencies](#dependencies) - [Scalability](#scalability) - [Troubleshooting](#troubleshooting) +- [Related work](#related-work) - [Implementation History](#implementation-history) @@ -530,6 +531,18 @@ There are no new failure modes specific to this policy change. ###### What steps should be taken if SLOs are not being met to determine the problem? +## Related work + +While investigating behavior, test coverage, and documentation of existing supported skew, +several inconsistencies or gaps were found. Links tracking improving those areas are provided for reference: + +* sig-network: + * Clarify supported skew documentation for `kube-proxy` - https://github.com/kubernetes/website/pull/40672 + * Improve test coverage of skewed `kube-proxy` / `kube-apiserver` and skewed `kube-proxy` / `kubelet` - https://docs.google.com/document/d/1_w77-zG_Xj0zYvEMfQZTQ-wPP4kXkpGD8smVtW_qqWM/edit#bookmark=id.urwmea30mygf + * Resolve misleading `status.nodeInfo.kubeProxyVersion` API field - https://github.com/kubernetes/kubernetes/issues/117756 +* sig-node: + * Clarify supported skew documentation for `kubelet` / `cri-api` - https://github.com/kubernetes/kubernetes/pull/114394 + ## Implementation History - 2023-04-03: Provisional KEP created \ No newline at end of file From dc12873030ff40537f434076145f708c02510c05 Mon Sep 17 00:00:00 2001 From: Jordan Liggitt Date: Wed, 3 May 2023 12:28:53 -0400 Subject: [PATCH 08/10] Add CCM KEP-3705 future cleanup impact, link storage KEP cleanups --- .../3935-oldest-node-newest-control-plane/README.md | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/keps/sig-architecture/3935-oldest-node-newest-control-plane/README.md b/keps/sig-architecture/3935-oldest-node-newest-control-plane/README.md index 18b0dd4c0e9..d43ab590eb0 100644 --- a/keps/sig-architecture/3935-oldest-node-newest-control-plane/README.md +++ b/keps/sig-architecture/3935-oldest-node-newest-control-plane/README.md @@ -372,13 +372,16 @@ Are planned v1.30 control plane changes as compatible with v1.27 nodes as n-2 no ### Impact summary The calculated impact over the past two years if Kubernetes supported n-3 node skew: -* the sig-auth `BoundServiceAccountTokenVolume` feature GA would have moved from v1.22 to v1.23 (remaining in beta and enabled by default in v1.22). -* the sig-auth Pod Security update for the `IdentifyPodOS` feature would have moved from v1.25 to v1.26. -* the sig-network `IPTablesOwnershipCleanup` beta would have moved from v1.27 to v1.28. -* the sig-storage in-tree volume plugin cleanups would have been delayed by one release for OpenStack, AzureDisk, and AWS plugins. +* sig-auth: `BoundServiceAccountTokenVolume` feature GA would have moved from v1.22 to v1.23 (remaining in beta and enabled by default in v1.22). +* sig-auth: Pod Security update for the `IdentifyPodOS` feature would have moved from v1.25 to v1.26. +* sig-network: `IPTablesOwnershipCleanup` beta would have moved from v1.27 to v1.28. +* sig-storage: in-tree volume plugin cleanups would have been delayed by one release for OpenStack, AzureDisk, and AWS plugins. The known impact over the next year if Kubernetes supports n-3 node skew: -* the sig-storage in-tree volume plugin cleanups would be delayed by one release for AzureFile and vSphere plugins (from v1.29 to v1.30). +* sig-storage: in-tree volume plugin cleanups would be delayed by one release for AzureFile and vSphere plugins (from v1.29 to v1.30). [KEP-1885](/keps/sig-storage/1885-csi-migration-azurefile) and [KEP-1491](/keps/sig-storage/1491-csi-migration-vsphere) + +The known impact to other KEPs beyond the next year if Kubernetes supports n-3 node skew: +* sig-network: [KEP-3705](/keps/sig-network/3705-cloud-node-ips#version-skew-strategy) would need to keep support in CCM for the `alpha.kubernetes.io/provided-node-ip` annotation to accommodate n-3 nodes ### Test Plan From bc953972f0a2caac82ad43892fe31ae2f1fe8231 Mon Sep 17 00:00:00 2001 From: Jordan Liggitt Date: Wed, 3 May 2023 12:32:01 -0400 Subject: [PATCH 09/10] Add tasks to update immpacted KEPs and PRR template --- .../3935-oldest-node-newest-control-plane/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/keps/sig-architecture/3935-oldest-node-newest-control-plane/README.md b/keps/sig-architecture/3935-oldest-node-newest-control-plane/README.md index d43ab590eb0..4912c8d49bd 100644 --- a/keps/sig-architecture/3935-oldest-node-newest-control-plane/README.md +++ b/keps/sig-architecture/3935-oldest-node-newest-control-plane/README.md @@ -198,6 +198,8 @@ Updating the skew policy to allow up to n-3 nodes brings the policy back in line 3. Choose the minimum node version to begin supporting 3-version skew that avoids disrupting the plans identified in step 2 * 1.25 nodes / 1.28 control planes 4. Update the [Kubernetes version skew policy](https://kubernetes.io/releases/version-skew-policy/) as part of the release identified in step 3 +5. Update [identified KEPs](#impact-summary) that need to adjust timelines +6. Update the "Production Readiness Review - Version Skew Strategy" portion of the KEP template to remind KEP authors of max supported skews ### Risks and Mitigations From a4103f752738da772e2fa16edac5e3883403245a Mon Sep 17 00:00:00 2001 From: Jordan Liggitt Date: Wed, 3 May 2023 12:32:12 -0400 Subject: [PATCH 10/10] Mark as implementable --- .../3935-oldest-node-newest-control-plane/README.md | 6 +++--- .../3935-oldest-node-newest-control-plane/kep.yaml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/keps/sig-architecture/3935-oldest-node-newest-control-plane/README.md b/keps/sig-architecture/3935-oldest-node-newest-control-plane/README.md index 4912c8d49bd..ccfc7e75955 100644 --- a/keps/sig-architecture/3935-oldest-node-newest-control-plane/README.md +++ b/keps/sig-architecture/3935-oldest-node-newest-control-plane/README.md @@ -51,13 +51,13 @@ checklist items _must_ be updated for the enhancement to be released. Items marked with (R) are required *prior to targeting to a milestone / release*. -- [ ] (R) Enhancement issue in release milestone, which links to KEP dir in [kubernetes/enhancements] (not the initial KEP PR) -- [ ] (R) KEP approvers have approved the KEP status as `implementable` +- [x] (R) Enhancement issue in release milestone, which links to KEP dir in [kubernetes/enhancements] (not the initial KEP PR) +- [x] (R) KEP approvers have approved the KEP status as `implementable` - [x] (R) Design details are appropriately documented - [x] (R) Test plan is in place, giving consideration to SIG Architecture and SIG Testing input (including test refactors) - [x] (R) Graduation criteria is in place - [x] (R) Production readiness review completed -- [ ] (R) Production readiness review approved +- [x] (R) Production readiness review approved - [x] "Implementation History" section is up-to-date for milestone - [ ] User-facing documentation has been created in [kubernetes/website], for publication to [kubernetes.io] - [x] Supporting documentation—e.g., additional design documents, links to mailing list discussions/SIG meetings, relevant PRs/issues, release notes diff --git a/keps/sig-architecture/3935-oldest-node-newest-control-plane/kep.yaml b/keps/sig-architecture/3935-oldest-node-newest-control-plane/kep.yaml index dd7cd012d91..690bbaf475d 100644 --- a/keps/sig-architecture/3935-oldest-node-newest-control-plane/kep.yaml +++ b/keps/sig-architecture/3935-oldest-node-newest-control-plane/kep.yaml @@ -8,7 +8,7 @@ participating-sigs: - sig-cluster-lifecycle - sig-network - sig-node -status: provisional +status: implementable creation-date: 2023-04-03 reviewers: - "@soltysh" # sig-apps