Change Container Runtime without destroying cluster

1.3k views Asked by At

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.

2

There are 2 answers

0
Helmut Januschka On BEST ANSWER

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.

1
Vit On

Please treat this answer as a friendly advise.

First of all, as suggested in yesterday's fresh article Don't Panic: Kubernetes and Docker:

You do not need to panic :)

Kubernetes is only deprecating Docker as a container runtime after v1.20. They are currently only planning to remove Docker runtime support in the 1.22 release in late 2021(almost year!), so please don't brake your 100 nodes clusters till work solution will appear :)