Clusterul Kubernetes al companiei noastre a început recent să se confrunte cu erori de extragere a imaginii Docker după actualizarea AKS a versiunilor K8s (1.21.9 - 1.22.6). Nu s-au făcut modificări la configurația clusterului. Se pare că clusterul nu mai strânge corect de mână cu toate registrele Docker. Dacă în cluster sunt prezente noduri Windows, extragerea imaginii este întotdeauna implicită la versiunea Windows a imaginii, chiar dacă repo-ul conține și o versiune Linux validă. Acest lucru este bine atunci când clusterul face cererea de extragere a imaginii de la un nod Windows, dar se blochează când face cererea de extragere de la un nod Linux.
Este posibil ca schimbarea să fi avut loc în versiunea 1.22.4 cu deprecierea lui Dockershim. https://kubernetes.io/blog/2020/12/02/dockershim-faq/. Două soluții posibile sunt (1) folosirea unei convenții de denumire diferită pentru depozitele noastre de imagini sau (2) utilizarea clusterelor K8s numai pentru Linux pentru imaginile Linux.
Pentru referință, mesajul de eroare Frankenpath din jurnalul de evenimente al podului este -"/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/624/fs/Files/Program Files (x86)/common files/Microsoft Shared /ink/en-US/micaut.dll.mui: nu există un astfel de fișier sau director: necunoscut"
Am verificat că toate implementările containerelor includ nodeSelector: kubernetes.io/os: linux sau nodeSelector: kubernetes.io/os: windows, după caz.
Altcineva se confruntă cu probleme similare sau cunoaște soluții alternative?