一、编排与容器的技术演进之路
1.1 DockerClient
此时 K8s 只是编排领域的一个选择,而 Docker 此时一家独大,所以 K8s 的客户端只
是作为 Docker 的客户端来调用 Docker 引擎来完成服务。
1.2 RUNC&Shim
OCI催生 runcrunc,剥离 Docker Engine 的一家独大的情况,确保各个厂商都可以搭建自
己的容器平台。 CRI 标准确立了但是 Docker 并没有接入该标准。此时催生了临时技术
shim.
1.3 CRI -Containerd
containerd被捐献出来,谷歌开发 cricri-containerd 接入 CRI 标准。
1.4 CRI -O
k8s 已经成为事实的编排标准,促使容器回归云原生本质。
1.5 Containerd
containerd实现 CRI ,成为 CRI 的事实标准 。
1.6 实际生产的集群采用的什么运行时组件?
以腾讯的 TKE (腾讯商用 K8S 产品 )为例,支持选择 containerd 和 docker 两种模式的
选择。
如何选择呢?
(1)Containerd 调用链更短,组件更少,更稳定,占用节点资源更少。建议选择
Containerd 。
(2)以下情况还是要用 docker
• 使用 docker build/push/save/load 等命令。
• 调用 docker API
• 需要 docker compose 或 docker swarm 。