最新版的不是已经弃用docker了吗
时间: 2023-11-11 21:05:02 浏览: 43
Kubernetes 不会弃用 Docker,但是在 Kubernetes 1.20 版本中,它引入了一个新的容器运行时接口 (CRI) 实现,称为 Container Runtime Interface (CRI)。CRI 是 Kubernetes 与容器运行时之间的接口,负责管理容器的创建、销毁和管理。Docker 作为一个容器运行时,可以通过 CRI 进行与 Kubernetes 的集成。
在 Kubernetes 1.20 版本之后,默认的容器运行时接口从 Dockershim 切换到 CRI,这意味着 Kubernetes 不再直接与 Docker 直接交互,而是通过 CRI 接口与 Docker 进行通信。这样可以更好地支持其他容器运行时,如 containerd 和 cri-o。
因此,在部署最新版 Kubernetes 时,您可以选择使用 Docker 作为容器运行时,但是 Kubernetes 将通过 CRI 接口与 Docker 进行通信。同时,您也可以选择其他的容器运行时,只要它们符合 CRI 接口规范。
请注意,具体的部署步骤可能因为您使用的版本和配置而有所不同。建议您参考 Kubernetes 和相关容器运行时的文档,以获取最新的指导和建议。
相关问题
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
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
```