Cụm Kubernetes của công ty chúng tôi gần đây đã bắt đầu gặp phải lỗi kéo hình ảnh Docker sau khi cập nhật AKS của các phiên bản K8s (1.21.9 đến 1.22.6). Không có thay đổi nào được thực hiện đối với cấu hình cụm. Rõ ràng là cụm không còn bắt tay chính xác với tất cả các cơ quan đăng ký Docker. Nếu có bất kỳ nút Windows nào trong cụm, kéo hình ảnh luôn mặc định là phiên bản Windows của hình ảnh, mặc dù repo cũng chứa phiên bản Linux hợp lệ. Điều này ổn khi cụm thực hiện yêu cầu kéo hình ảnh từ nút Windows, nhưng gặp sự cố khi thực hiện yêu cầu kéo từ nút Linux.
Có thể thay đổi đã xảy ra trong phiên bản 1.22.4 với việc Dockershim không còn được dùng nữa. https://kubernetes.io/blog/2020/12/02/dockershim-faq/. Hai cách giải quyết khả thi là (1) sử dụng quy ước đặt tên khác cho kho hình ảnh của chúng tôi hoặc (2) sử dụng cụm K8 chỉ dành cho Linux cho hình ảnh Linux.
Để tham khảo, thông báo lỗi Frankenpath trong Nhật ký sự kiện của nhóm là -"/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: không có tệp hoặc thư mục như vậy: không xác định"
Tôi đã xác minh rằng tất cả các triển khai vùng chứa đều bao gồm nodeSelector: kubernetes.io/os: linux hoặc nodeSelector: kubernetes.io/os: windows khi thích hợp.
Có ai khác gặp sự cố tương tự hoặc biết cách giải quyết không?