Impossible de créer le cgroup kubepods en cgroupv2
Tous les tests avec cgroupv2 ont jusqu'ici été assez peu concluants, empêchant notamment de déployer correctement sur Debian 11. L'erreur classique est :
E1111 20:25:07.526144 9 node_container_manager_linux.go:60] "Failed to create cgroup" err="cannot enter cgroupv2 \"/sys/fs/cgroup/kubepods\" with domain controllers -- it is in an invalid state" cgroupName=[kubepods]
Le bug a d'abord été identifié sur k3d avec des patchs un petit peu brutaux (https://github.com/rancher/k3d/issues/493), puis sur k3s avec une premier MR abandonnée (https://github.com/k3s-io/k3s/pull/2844) et une mergée (https://github.com/k3s-io/k3s/issues/900) censée corriger le bug en 1.22.
Effectivement le bug est corrigé en 1.22 et dans la grande majorité des setups cela fonctionne, mais pas sur hepto. Après quelques recherches, j'ai fini par identifier l'origine : dans le pod créé pour hepto, on partage le pidns en plus des classiques, de sorte qu'un restart de conteneur k3s par exemple n'interrompe pas les pods exécutés et permette à containerd de retrouver ses petits.
Tout cela interfère avec le patch puisqu'il teste le pid de k3s pour déclencher l'escaping de namespace : https://github.com/k3s-io/k3s/pull/4086/files#diff-917c7202f770c5ac922128d9817ccd32f758cedeae4d27890f2c23e72feefcfbR19.