kubernetes-sigs/kubespray

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

Open

#12.929 aberto em 29 de jan. de 2026

Ver no GitHub
 (11 comments) (0 reactions) (0 assignees)HTML (4.419 forks)batch import
help wantedkind/featurelifecycle/frozen

Métricas do repositório

Stars
 (10.380 stars)
Métricas de merge de PR
 (Mesclagem média 25d) (26 fundiu PRs em 30d)

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

Guia do colaborador