kubernetes-sigs/kubespray

Develop a custom ansible strategy plugin to perform graceful upgrade in a true rolling fashion

Open

#12 929 ouverte le 29 janv. 2026

Voir sur GitHub
 (11 commentaires) (0 réactions) (0 assignés)HTML (4 419 forks)batch import
help wantedkind/featurelifecycle/frozen

Métriques du dépôt

Stars
 (10 380 stars)
Métriques de merge PR
 (Merge moyen 25j) (26 PRs mergées en 30 j)

Description

What would you like to be added

Basically: https://github.com/ansible-collections/community.general/issues/10920

(Upstreaming the strategy into community.general would also work)

Once we switch to collection only (#12227 ) we'll be able to handle ansible plugins more easily.

WARNING: This is not an easy task, and requires to dive deep into Ansible internals and do a fair bit of Python. This not at all a "good first issue"

Why is this needed

There is 2 purpose for this strategy:

  • faster cluster upgrade, because there is no longer a "all nodes in a batch wait for all other nodes" bottleneck.
  • make possible cluster upgrades with bigger "batch size" (currently, a PodDisruptionBudbget can block your upgrade if enoug eligible nodes for a deployment are in the same batch. With that scenario, some of the nodes where the eviction succeded would finish instead of waiting of the rest of the batch, allowing pods to be scheduled on them and the other node drain to succeed).

/lifecycle frozen /help

Guide contributeur