elastisys/compliantkubernetes-kubespray

[5] Create managed upgrade script

Closed this issue · 0 comments

aarnq commented

Is your feature request related to a problem? Please describe.
To be safe the default upgrade method is to take all nodes in sequence in order to avoid situations were multiple nodes are upgraded which may cause downtime if it manages to pull multiple nodes per service.

But this takes ages, and we want to constrain the time an upgrade takes so it is more predictable both for operator and for users.
And we want to make this as managed as possible to reduce possible operator mistakes.

Describe the solution you'd like

  • I want to see a static inventory where we can define groups of different nodes that can be upgraded in parallel.
  • I want to see a script that can run a playbook in a managed way that targets first the control plane (either only the first node since it is special in the eyes of Kubespray) and then the groups in parallel.
    • Of course it should only take one node per group in sequence!
  • I also want to see the possibility of adding some type of check for the best node to upgrade, so if you have say database nodes using primary-secondary replication it would actually check which node to pick in order to move through the secondaries first.

Definition of done:
Upgrades are improved.