Kubernetes ประกาศให้การซัพพอร์ต Docker เป็นคอนเทนเนอร์รันไทม์เข้าสู่สถานะ deprecated อย่างเป็นทางการใน Kubernetes 1.20 และเตรียมถอดฟีเจอร์นี้ออกในอนาคต โครงการ Kubernetes ระบุว่า ตัว kubelet ที่เป็นตัวติดต่อกับคอนเทนเนอร์รันไทม์ จะติดต่อผ่าน CRI (Container Runtime Interface) แต่ในกรณีของ Docker นั้น ทางโครงการเลือกใช้ dockershim โมดูลที่อิมพลีเมนต์ CRI ให้ Docker เพื่อเป็นตัวติดต่อระหว่าง Docker และ Kubernetes มาอย่างยาวนาน แต่ช่วงหลังโครงการพบประเด็นหลายอย่างกับ dockershim ทำให้ตัดสินใจว่าจะให้ระบบซัพพอร์ต Docker เข้าสู่สถานะ deprecated และเตรียมถอดออกจาก Kubernetes ในอนาคต นอกจากนี้ architecture ของ dockershim ค่อนข้างแตกต่างกับ CRI ตัวอื่น คือ dockershim จะติดกับตัว kubelet ในขณะที่ CRI อื่น ๆ จะใช้วิธีรันโปรเซสแยกแล้วติดต่อกันผ่าน GRPC สำหรับผู้ที่ใช้งาน Docker อยู่ ทางโครงการ Kubernetes แนะนำว่าให้ย้ายคอนเทนเนอร์รันไทม์ไปใช้ตัวที่รองรับ CRI เต็มรูปแบบ อย่างเช่น containerd หรือ CRI-O เป็นต้น ที่มา - Kubernetes Change Log, Kubernetes GitHub Issue ภาพจากข่าวเก่า Topics: KubernetesDockerContainer