Search code examples
kuberneteskubespray

Change Container Runtime without destroying cluster


we are running multiple kubespray deployed clusters with 10-100 nodes.

with 1.20 kubernetes deperecates dockershim support -> https://github.com/kubernetes/kubernetes/blob/ab32085bf36fc7af1ded30456e2f09399dc1115f/CHANGELOG/CHANGELOG-1.20.md#deprecation

how to change the container runtime to containerd - without removing nodes and without destroying master.


Solution

  • i am not at panick, just wan't to be prepared we are at 1.19 already so 1.22 is not soo faar away.

    anyways i tested it with a smaller cluster, and it was way easier as expected.

    change: container_manager to containerd.

    run the kubespray cluster.yml playbook over all nodes and boom. only needed to do a simple ansible playbook to uninstall docker et-all, but it also works with docker installed.