diff --git a/content/zh/docs/setup/production-environment/tools/kubeadm/install-kubeadm.md b/content/zh/docs/setup/production-environment/tools/kubeadm/install-kubeadm.md index 51f9fd7758997..cee0f809220ee 100644 --- a/content/zh/docs/setup/production-environment/tools/kubeadm/install-kubeadm.md +++ b/content/zh/docs/setup/production-environment/tools/kubeadm/install-kubeadm.md @@ -27,7 +27,6 @@ For information on how to create a cluster with kubeadm once you have performed 有关在执行此安装过程后如何使用 kubeadm 创建集群的信息,请参见 [使用 kubeadm 创建集群](/zh/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/) 页面。 - ## {{% heading "prerequisites" %}} @@ -138,86 +137,103 @@ documentation for the plugins about what port(s) those need. 请参阅他们各自文档中对端口的要求。 -## 安装 runtime{#installing-runtime} +## 安装容器运行时{#installing-runtime} 为了在 Pod 中运行容器,Kubernetes 使用 {{< glossary_tooltip term_id="container-runtime" text="容器运行时(Container Runtime)" >}}。 -{{< tabs name="container-runtimes" >}} -{{% tab name="Linux 节点" %}} 默认情况下,Kubernetes 使用 {{< glossary_tooltip term_id="cri" text="容器运行时接口(Container Runtime Interface,CRI)" >}} 来与你所选择的容器运行时交互。 -如果你不指定运行时,则 kubeadm 会自动尝试检测到系统上已经安装的运行时, -方法是扫描一组众所周知的 Unix 域套接字。 -下面的表格列举了一些 kubeadm 查找的容器运行时及其对应的套接字路径: - -| 运行时 | 域套接字 | -|------------|----------------------------------| -| Docker Engine | `/var/run/dockershim.sock` | -| containerd | `/run/containerd/containerd.sock` | -| CRI-O | `/var/run/crio/crio.sock` | +如果你不指定运行时,kubeadm 会自动尝试通过扫描已知的端点列表来检测已安装的容器运行时 -
-如果同时检测到 Docker Engine 和 containerd,kubeadm 将优先考虑 Docker Engine。 -这是必然的,因为 Docker 18.09 附带了 containerd 并且两者都是可以检测到的, -即使你仅安装了 Docker。 -**如果检测到其他两个或多个运行时,kubeadm 输出错误信息并退出。** - -kubelet 可以使用已弃用的 dockershim 适配器与 Docker Engine 集成(dockershim 是 kubelet 本身的一部分)。 +如果检测到有多个或者没有容器运行时,kubeadm 将抛出一个错误并要求你指定一个想要使用的运行时。 参阅[容器运行时](/zh/docs/setup/production-environment/container-runtimes/) 以了解更多信息。 -{{% /tab %}} -{{% tab name="其它操作系统" %}} +{{< note >}} +Docker Engine 没有实现 [CRI](/zh/docs/concepts/architecture/cri/),而这是容器运行时在 Kubernetes 中工作所需要的。 +为此,必须安装一个额外的服务 [cri-dockerd](https://github.com/Mirantis/cri-dockerd)。 +cri-dockerd 是一个基于传统的内置Docker引擎支持的项目,它在 1.24 版本从 kubelet 中[移除](/dockershim)。 + + -默认情况下, kubeadm 使用 {{< glossary_tooltip term_id="docker" >}} 作为容器运行时。 -kubelet 可以使用已弃用的 dockershim 适配器与 Docker Engine 集成(dockershim 是 kubelet 本身的一部分)。 -参阅[容器运行时](/zh/docs/setup/production-environment/container-runtimes/) -以了解更多信息。 +下面的表格包括支持的操作系统的已知端点。 -{{% /tab %}} -{{< /tabs >}} +{{< tabs name="container_runtime" >}} +{{% tab name="Linux" %}} + + +{{< table >}} +| 运行时 | 域套接字 | +|------------------------------------|----------------------------------------------| +| containerd | `unix:///var/run/containerd/containerd.sock` | +| CRI-O | `unix:///var/run/crio/crio.sock` | +| Docker Engine (using cri-dockerd) | `unix:///var/run/cri-dockerd.sock` | +{{< /table >}} + + +{{% tab name="Windows" %}} + +{{< table >}} +| 运行时 | 域套接字 | +|------------------------------------|----------------------------------------------| +| containerd | `npipe:////./pipe/containerd-containerd` | +| Docker Engine (using cri-dockerd) | `npipe:////./pipe/cri-dockerd` | +{{< /table >}} 定义要下载命令文件的目录。 @@ -475,7 +491,7 @@ for the management of cgroups on Linux machines. --> ## 配置 cgroup 驱动程序 {#configure-cgroup-driver} -容器运行时和 kubelet 都具有名字为 +容器运行时和 kubelet 都具有名字为 ["cgroup driver"](/zh/docs/setup/production-environment/container-runtimes/) 的属性,该属性对于在 Linux 机器上管理 CGroups 而言非常重要。 @@ -507,4 +523,3 @@ If you are running into difficulties with kubeadm, please consult our [troublesh * [Using kubeadm to Create a Cluster](/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/) --> * [使用 kubeadm 创建集群](/zh/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/) -