คลัสเตอร์ Kubernetes ของบริษัทของเราเพิ่งเริ่มพบข้อผิดพลาดในการดึงอิมเมจของ Docker หลังจากอัปเดต AKS เวอร์ชัน K8s (1.21.9 เป็น 1.22.6) ไม่มีการเปลี่ยนแปลงการกำหนดค่าคลัสเตอร์ เห็นได้ชัดว่าคลัสเตอร์ไม่จับมือกันอย่างถูกต้องกับการลงทะเบียน Docker ทั้งหมดอีกต่อไป หากมีโหนด Windows อยู่ในคลัสเตอร์ การดึงอิมเมจจะมีค่าเริ่มต้นเป็นอิมเมจเวอร์ชัน Windows เสมอ แม้ว่า repo จะมีเวอร์ชัน Linux ที่ถูกต้องด้วยก็ตาม ซึ่งเป็นเรื่องปกติเมื่อคลัสเตอร์สร้างคำขอดึงอิมเมจจากโหนด Windows แต่ขัดข้องเมื่อสร้างคำขอดึงจากโหนด Linux
เป็นไปได้ว่าการเปลี่ยนแปลงเกิดขึ้นในเวอร์ชัน 1.22.4 โดยเลิกใช้งาน Dockershim https://kubernetes.io/blog/2020/12/02/dockershim-faq/. วิธีแก้ไขที่เป็นไปได้สองวิธีคือ (1) ใช้หลักการตั้งชื่อที่แตกต่างกันสำหรับที่เก็บอิมเมจของเรา หรือ (2) ใช้คลัสเตอร์ K8s สำหรับ Linux สำหรับอิมเมจ Linux
สำหรับการอ้างอิงข้อความแสดงข้อผิดพลาด Frankenpath ในบันทึกเหตุการณ์ของพ็อดคือ -"/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: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว: ไม่รู้จัก"
ฉันได้ยืนยันว่าการปรับใช้คอนเทนเนอร์ทั้งหมดรวมถึง nodeSelector: kubernetes.io/os: linux หรือ nodeSelector: kubernetes.io/os: windows ตามความเหมาะสม
ใครก็ตามที่ประสบปัญหาคล้ายกันหรือทราบวิธีแก้ปัญหา