docker和k8s的时间简史
时间阶段 | 关键事件 |
---|---|
萌芽与诞生 (2013-2014) |
• 2013: Docker开源 (基于go语言编写) • 2014: Google公司开源Kubernetes,默认以Docker 为运行时 • 生态分化: Docker Swarm容器编排工具 与 CoreOS rkt 容器 出现 |
格局初定 (2015-2016) |
• 2015: K8s 捐赠给 CNCF • 2016: K8s 在市场完胜 Docker Swarm • CNCF 推动 CRI 标准,并推出 dockershim适配器 |
运行时之争 (2017-2020) |
• 2017: Docker 将 containerd 捐赠给 CNCF • 2018: Red Hat 收购 CoreOS,rkt 退场 • 2019: Docker 公司被收购,Docker Swarm 战略放弃 • 2020: K8s 宣布弃用 Docker 运行时 |
后Docker时代 (2022-至今) |
• 2022: K8s 1.24 正式移除 dockershim • 2024: K8s 1.30 发布,生态完全基于 CRI, CNI, CSI 等标准 |
- 容器运行时:真正负责启动和运行容器的组件(containerd 是docker的容器运行时,它负责在宿主机上拉取镜像、创建和管理容器)
- CNCF(Cloud Native Computing Foundation 云原生计算基金会):是致力于培育和维护云原生技术(如Kubernetes、Prometheus等)生态的开源基金会
- CRI是Kubernetes定义的一个标准接口(k8s如何与容器运行时进行通信的接口标准),它让kubelet能够使用不同的容器运行时
- Dockershim:一个为了兼容 Docker 而创建的“翻译器”(让原本不支持CRI标准的Docker能够与Kubernetes通信)
- 国内基于k8s服务提供的容器编码服务
- 阿里云: 容器服务 Kubernetes 版 ACK
- 腾讯云: 腾讯云容器服务(Tencent Kubernetes Engine ,TKE)
- 华为云: 云容器引擎 CCE
- K8s 自 1.24 版本起,正式移除并弃用了内置的
dockershim
组件- 对开发人员:依然可以使用 Docker 来构建、测试和推送镜像
- 运维人员:在部署新版本K8s集群时,若坚持使用docker运行时,则需要手动部署一个替代
dockershim
的适配器(cri-dockerd
)