kubernetes-sigs / cluster-api

Home for Cluster API, a subproject of sig-cluster-lifecycle
https://cluster-api.sigs.k8s.io
Apache License 2.0
3.52k stars 1.3k forks source link

Allow upgrades skipping minors for worker nodes #8616

Open fabriziopandini opened 1 year ago

fabriziopandini commented 1 year ago

What would you like to be added (User Story)?

It would be great to have a better API/better automation for streamlined upgrades in managed topologies

Detailed Description

This KEP introduced the idea of streamlined upgrades, and, by playing around with K8s version skew policies, making it possible to upgrade by 2 or 3 Kubernetes minor versions by minimizing the worker's machines rollouts.

While streamlined upgrades with managed topologies are possible, the UX is not ideal, because it requires manually upgrading through all the minors and applying "topology.cluster.x-k8s.io/hold-upgrade-sequence" to the first MD till the target version is reached, but it should work.

We should improve managed topologies API/automation so we can allow users to trigger streamlined upgrades with a single CR change

Anything else you would like to add?

Disussion in https://github.com/kubernetes-sigs/cluster-api/discussions/8614 could be relevant for defining the API for this issue

Label(s) to be applied

/kind feature One or more /area label. See https://github.com/kubernetes-sigs/cluster-api/labels?q=area for the list of labels.

fabriziopandini commented 1 year ago

/triage accepted /help

k8s-ci-robot commented 1 year ago

@fabriziopandini: This request has been marked as needing help from a contributor.

Guidelines

Please ensure that the issue body includes answers to the following questions:

For more details on the requirements of such an issue, please see here and ensure that they are met.

If this request no longer meets these requirements, the label can be removed by commenting with the /remove-help command.

In response to [this](https://github.com/kubernetes-sigs/cluster-api/issues/8616): >/triage accepted >/help > > Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.
fabriziopandini commented 1 year ago

/area topology

killianmuldoon commented 1 year ago

/area clusterclass

fabriziopandini commented 6 months ago

/priority backlog