Manual upgrade & backup of a K8s cluster


I manually install a kubernetes cluster of 3 nodes (1 master, 2 slave). Now, I want to perform a upgrade of the k8s version (say, from 1.7 to 1.11). As the gap is long, the preferred method would be to forcefully reinstalled all the required packages. Is it a better way to do this? If yes, could you please tell me how?

Assume I do the upgrade by re-installing packages, I would want to manually backup everything (configuration, namespaces, and especially persistent volumes). From the kubernetes homepage, I found juju is recommended. but as I’m not running juju, what would be an alternative to do it manually?

Thank you!


Such a long Gap is not tested (like 1.11 master with 1.7 nodes). And usually each release has some action required things, for example alpha features that changes the on-disk format for some resources, or yaml fields, etc.

The safe advice is to install a new cluster and migrate your services there. Specially if you only have 2 workers.

But it really depends on what features you are using (like alpha features that might have changed or even don’t exist, etc.).

Looking at the action required things from each release, and going one release at a Time, one by one, might be okay too.