k8s+弃用docker
时间: 2023-12-01 20:43:17 浏览: 238
Kubernetes 1.20版本开始弃用Docker作为容器运行时,而是使用CRI-O或Containerd等其他容器运行时。这是因为Docker官方已经宣布将停止维护Docker作为Kubernetes的容器运行时。这个变化对于使用Kubernetes的用户来说是一个大的变化,需要进行相应的升级和调整。以下是一些关于Kubernetes 1.20弃用Docker的变化和影响:
1. 镜像格式的变化:Kubernetes 1.20开始使用OCI镜像格式,而不再使用Docker镜像格式。这意味着用户需要使用OCI兼容的工具来构建和管理镜像。
2. Docker CLI的替代产品:Kubernetes 1.20开始推荐使用RedHat 3件套中的Buildah、Podman和Skopeo来替代Docker CLI。这些工具提供了与Docker CLI相似的功能,并且可以与Kubernetes集成。
3. 容器Debug:在Kubernetes 1.20+ Node上进行容器Debug时,建议使用nerdctl,并将其别名为Docker,以提供一致的体验。
以下是一个使用CRI-O作为Kubernetes容器运行时的例子:
```yaml
apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
containers:
- name: my-container
image: nginx
runtimeClassName: crio
```
相关问题
k8s弃用docker
在Kubernetes(k8s)官方发文中宣布,自K8S v1.2版本之后,他们计划弃用Docker,并转而使用其他容器运行时。这种决定是基于几个因素的考虑。首先,Docker本身不兼容CRI(容器运行时接口),而k8s需要与CRI运行时通信。为了实现与Docker的通信,k8s使用了一个桥接服务叫做Dockershim,它将请求转发给管理容器的Docker服务。然而,Dockershim只是k8s为了兼容Docker而采取的临时方案,并且维护成本较高。此外,随着容器领域的发展和进步,k8s发现在集群中运行的容器运行时并不需要Docker提供的复杂功能,而只需要符合CRI定义的接口。因此,k8s决定将Docker从代码中移除,并推荐在正式生产环境中采用兼容CRI的底层运行时,如containerd等。虽然k8s将弃用Docker作为默认容器运行时,但Mirantis公司将与Docker共同维护Dockershim,并将其作为一个开源组件提供。这意味着用户可以继续使用Docker作为容器运行时,但建议在生产环境中使用兼容CRI的运行时。在Kubernetes v1.20版本中,用户将收到有关Docker弃用的警告,而在未来的Kubernetes版本(预计在2021年下半年v1.23版本)中将删除对Docker运行时的支持。
k8s 去除docker
根据引用\[2\]和引用\[3\]的内容,k8s决定去除对Docker的支持主要有以下几个原因:
1. 兼容性问题: Docker本身不兼容CRI接口,而k8s只能与CRI运行时通信。为了与Docker通信,k8s需要使用桥接服务(dockershim)将请求转发给管理容器的Docker服务。然而,dockershim是一个临时方案,维护成本较高。随着容器领域的发展和进步,k8s决定放弃对Docker的支持。
2. 维护成本: 维护dockershim已经成为k8s维护者的负担。在过去,k8s选择了Docker作为容器运行时,但现在由于高昂的维护成本,k8s决定移除对Docker的支持。对于已经统治市场的k8s来说,Docker的支持变得不那么重要了。
3. 扩展性: 去除对Docker的支持可以提高k8s的扩展性。在集群中运行的容器运行时往往不需要Docker提供的复杂功能,k8s只需要CRI中定义的接口。因此,建议在正式生产环境中使用兼容CRI的底层运行时,如containerd。
总结起来,k8s决定去除对Docker的支持是为了解决兼容性问题、降低维护成本并提高扩展性。这也反映了容器领域的发展和进步。
#### 引用[.reference_title]
- *1* [k8s+docker](https://blog.csdn.net/qq_41063141/article/details/120072307)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [k8s 抛弃弃用docker](https://blog.csdn.net/Jailman/article/details/128218761)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [k8s 弃用docker?](https://blog.csdn.net/m0_49023005/article/details/120640867)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文