Best practice to upgrade kubernetes cluster 1.9

I wonder what are the best practices to upgrade my cluster k8s v1.9.2 to a major version, what should I do first and what I shouldn’t do ? and what are the risque to destroy everything ? are they any guide to follow ?

Knowing that k8s components are running as Pod and not as systemd

Thanks for any helps

The upgrade process really depends on how its provisioned and managed in the first place. – However you really can’t jump major versions during an upgrade, you should goto 1.10, then 1.11, 1.12, and finally 1.13.

Upgrade masters to 1.10, then nodes.

Then, if you want 1.10, do the same. One by one is by far the most tested approach.

1 Like

so I need to start upgrading the master first by upgrading the k8s components ( apiserver,controllermanager,scheduler ) and than the worker ?

do I need to upgrade the master k8s compoents at once or one by one ?

One by one you mean k8s components or worker/master ?

You generally want to ensure that etcd and the apiserver are upgraded first before the other components. After that it doesn’t matter as much.

After the control plane is updated, the workers can be updated. You want to ensure the entire cluster is up to the same version before beginning the next upgrade.

Depending on your tooling, much this should be handled for you to some degree.