diff --git a/content/zh/docs/setup/production-environment/container-runtimes.md b/content/zh/docs/setup/production-environment/container-runtimes.md index fc4494cf73..3c9f12fce5 100644 --- a/content/zh/docs/setup/production-environment/container-runtimes.md +++ b/content/zh/docs/setup/production-environment/container-runtimes.md @@ -16,525 +16,545 @@ weight: 10 --> -{{< feature-state for_k8s_version="v1.6" state="stable" >}} - -Kubernetes 使用容器运行时来实现在 pod 中运行容器。 -这是各种运行时的安装说明。 + +你需要在集群内每个节点上安装一个 {{< glossary_tooltip text="容器运行时" term_id="container-runtime" >}} +以使 Pod 可以运行在上面。本文概述了所涉及的内容并描述了与节点设置相关的任务。 - +本文列出了在 Linux 上结合 Kubernetes 使用的几种通用容器运行时的详细信息: -Please refer to [CVE-2019-5736](https://access.redhat.com/security/cve/cve-2019-5736) for more -information about the issue. ---> -{{< caution >}} -我们发现 runc 在运行容器,处理系统文件描述符时存在一个漏洞。 -恶意容器可以利用此漏洞覆盖 runc 二进制文件的内容,并以此在主机系统的容器上运行任意的命令。 +- [containerd](#containerd) +- [CRI-O](#cri-o) +- [Docker](#docker) -请参考此链接以获取有关此问题的更多信息 [cve-2019-5736: runc vulnerability](https://access.redhat.com/security/cve/cve-2019-5736) -{{< /caution >}} - - -### 适用性 - - + +提示:对于其他操作系统,请查阅特定于你所使用平台的相关文档。 -你应该以 `root` 身份执行本指南中的所有命令。 -例如,使用 `sudo` 前缀命令,或者成为 `root` 并以该用户身份运行命令。 +## Cgroup 驱动程序 -### Cgroup 驱动程序 +Control groups are used to constrain resources that are allocated to processes. - -当某个 Linux 系统发行版使用 systemd 作为其初始化系统时,初始化进程会生成并使用一个 root 控制组 (`cgroup`),并充当 cgroup 管理器。 -systemd 与 cgroup 集成紧密,并将为每个进程分配 cgroup。 +控制组用来约束分配给进程的资源。 + +当某个 Linux 系统发行版使用 [systemd](https://www.freedesktop.org/wiki/Software/systemd/) 作为其初始化系统时,初始化进程会生成并使用一个 root 控制组 (`cgroup`), 并充当 cgroup 管理器。 +Systemd 与 cgroup 集成紧密,并将为每个 systemd 单元分配一个 cgroup。 你也可以配置容器运行时和 kubelet 使用 `cgroupfs`。 连同 systemd 一起使用 `cgroupfs` 意味着将有两个不同的 cgroup 管理器。 -控制组用来约束分配给进程的资源。 单个 cgroup 管理器将简化分配资源的视图,并且默认情况下将对可用资源和使用中的资源具有更一致的视图。 -当有两个管理器时,最终将对这些资源产生两种视图。 -在此领域我们已经看到案例,某些节点配置让 kubelet 和 docker 使用 `cgroupfs`,而节点上运行的其余进程则使用 systemd;这类节点在资源压力下会变得不稳定。 +当有两个管理器共存于一个系统中时,最终将对这些资源产生两种视图。 +在此领域人们已经报告过一些案例,某些节点配置让 kubelet 和 docker 使用 `cgroupfs`,而节点上运行的其余进程则使用 systemd; 这类节点在资源压力下会变得不稳定。 更改设置,令容器运行时和 kubelet 使用 `systemd` 作为 cgroup 驱动,以此使系统更为稳定。 -请注意在 docker 下设置 `native.cgroupdriver=systemd` 选项。 +对于 Docker, 设置 `native.cgroupdriver=systemd` 选项。 + -强烈建议不要更改已加入集群的节点的 cgroup 驱动。 -如果 kubelet 已经使用某 cgroup 驱动的语义创建了 pod,尝试更改运行时以使用别的 cgroup 驱动,为现有 Pods 重新创建 PodSandbox 时会产生错误。 -重启 kubelet 也可能无法解决此类问题。 -推荐将工作负载逐出节点,之后将节点从集群中删除并重新加入。 +runtime to another cgroup driver can cause errors when trying to re-create the Pod sandbox +for such existing Pods. Restarting the kubelet may not solve such errors. + +If you have automation that makes it feasible, replace the node with another using the updated +configuration, or reinstall it using automation. {{< /caution >}} - - -## Docker +注意:非常 *不* 建议更改已加入集群的节点的 cgroup 驱动。 +如果 kubelet 已经使用某 cgroup 驱动的语义创建了 pod,更改运行时以使用别的 cgroup 驱动,当为现有 Pods 重新创建 PodSandbox 时会产生错误。重启 kubelet 也可能无法解决此类问题。 +如果你有切实可行的自动化方案,使用其他已更新配置的节点来替换该节点,或者使用自动化方案来重新安装。 -在你的每台机器上安装 Docker。 -推荐安装 19.03.11 版本,但是 1.13.1、17.03、17.06、17.09、18.06 和 18.09 版本也是可以的。 -请跟踪 Kubernetes 发行说明中经过验证的 Docker 最新版本变化。 + +## 容器运行时 -使用以下命令在你的系统上安装 Docker: +{{% thirdparty-content %}} -{{< tabs name="tab-cri-docker-installation" >}} -{{% tab name="Ubuntu 16.04+" %}} +### containerd +本节包含使用 `containerd` 作为 CRI 运行时的必要步骤。 + +使用以下命令在系统上安装容器: + +安装和配置的先决条件: + +```shell +cat < +安装 containerd: + +{{< tabs name="tab-cri-containerd-installation" >}} +{{% tab name="Ubuntu 16.04" %}} + + - -```shell -# 安装 Docker CE -## 设置仓库 -### 安装软件包以允许 apt 通过 HTTPS 使用存储库 -apt-get update && apt-get install \ - apt-transport-https ca-certificates curl software-properties-common +sudo apt-get update && sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common ``` ```shell -### 新增 Docker 的 官方 GPG 秘钥 -curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - +## Add Docker's official GPG key +curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key --keyring /etc/apt/trusted.gpg.d/docker.gpg add - ``` - ```shell -### 添加 Docker apt 仓库 -add-apt-repository \ - "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ - $(lsb_release -cs) \ - stable" +# (安装 containerd) +## (设置仓库) +### (安装软件包以允许 apt 通过 HTTPS 使用存储库) +sudo apt-get update && sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common ``` ```shell -## 安装 Docker CE -apt-get update && apt-get install -y\ - containerd.io=1.2.13-2 \ - docker-ce=5:19.03.11~3-0~ubuntu-$(lsb_release -cs) \ - docker-ce-cli=5:19.03.11~3-0~ubuntu-$(lsb_release -cs) +## 安装 Docker 的官方 GPG 密钥 +curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key --keyring /etc/apt/trusted.gpg.d/docker.gpg add - ``` ```shell -# 设置 daemon -cat > /etc/docker/daemon.json < + ```shell -# 重启 docker. -systemctl daemon-reload -systemctl restart docker +# 配置 containerd +sudo mkdir -p /etc/containerd +sudo containerd config default > /etc/containerd/config.toml ``` -{{% /tab %}} + +```shell +# 重启 containerd +sudo systemctl restart containerd +``` +{{< /tab >}} {{% tab name="CentOS/RHEL 7.4+" %}} ```shell -# 安装 Docker CE +## Install containerd +sudo yum update -y && sudo yum install -y containerd.io +``` + +```shell +## Configure containerd +sudo mkdir -p /etc/containerd +sudo containerd config default > /etc/containerd/config.toml +``` + +```shell +# Restart containerd +sudo systemctl restart containerd +``` +--> + +```shell +# 安装 containerd ## 设置仓库 ### 安装所需包 -yum install yum-utils device-mapper-persistent-data lvm2 +sudo yum install -y yum-utils device-mapper-persistent-data lvm2 ``` ```shell -### 新增 Docker 仓库。 -yum-config-manager \ - --add-repo \ - https://download.docker.com/linux/centos/docker-ce.repo +### 新增 Docker 仓库 +sudo yum-config-manager \ + --add-repo \ + https://download.docker.com/linux/centos/docker-ce.repo ``` ```shell -## 安装 Docker CE. -yum update -y && yum install -y \ - containerd.io-1.2.13 \ - docker-ce-19.03.11 \ - docker-ce-cli-19.03.11 +## 安装 containerd +sudo yum update -y && sudo yum install -y containerd.io ``` ```shell -## 创建 /etc/docker 目录。 -mkdir /etc/docker +# 配置 containerd +sudo mkdir -p /etc/containerd +sudo containerd config default > /etc/containerd/config.toml ``` ```shell -# 设置 daemon。 -cat > /etc/docker/daemon.json < -```shell -# 重启 Docker -systemctl daemon-reload -systemctl restart docker +# 重启 containerd +sudo systemctl restart containerd ``` {{% /tab %}} -{{% /tabs %}} - - - -如果你想开机即启动 docker 服务,执行以下命令: - -```shell -sudo systemctl enable docker +{{% tab name="Windows (PowerShell)" %}} + +```powershell +# (安装 containerd ) +# 下载 contianerd +cmd /c curl -OL https://github.com/containerd/containerd/releases/download/v1.4.0-beta.2/containerd-1.4.0-beta.2-windows-amd64.tar.gz +cmd /c tar xvf .\containerd-1.4.0-beta.2-windows-amd64.tar.gz +``` + +```powershell +# 解压并配置 +Copy-Item -Path ".\bin\" -Destination "$Env:ProgramFiles\containerd" -Recurse -Force +cd $Env:ProgramFiles\containerd\ +.\containerd.exe config default | Out-File config.toml -Encoding ascii + +# 检查配置文件,基于你可能想要调整的设置: +# - sandbox_image (kubernetes pause 镜像) +# - CNI 的 bin_dir 和 conf_dir 路径 +Get-Content config.toml +``` + +```powershell +# 启动 containerd +.\containerd.exe --register-service +Start-Service containerd +``` +{{% /tab %}} +{{< /tabs >}} + +#### systemd {#containerd-systemd} + + +结合 `runc` 使用 `systemd` cgroup 驱动,在 `/etc/containerd/config.toml` 中设置 -请参阅[官方 Docker 安装指南](https://docs.docker.com/engine/installation/) -来获取更多的信息。 +``` +[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc] + ... + [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options] + SystemdCgroup = true +``` + +当使用 kubeadm 时,请手动配置 +[kubelet 的 cgroup 驱动](/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#configure-cgroup-driver-used-by-kubelet-on-control-plane-node). + +### CRI-O -## CRI-O - -本节包含安装 `CRI-O` 作为 CRI 运行时的必要步骤。 +本节包含安装 CRI-O 作为容器运行时的必要步骤。 使用以下命令在系统中安装 CRI-O: -### 准备环境 +提示:CRI-O 的主要以及次要版本必须与 Kubernetes 的主要和次要版本相匹配。 +更多信息请查阅 [CRI-O 兼容性列表](https://github.com/cri-o/cri-o). + +安装以及配置的先决条件: ```shell -modprobe overlay -modprobe br_netfilter +sudo modprobe overlay +sudo modprobe br_netfilter -# 设置必需的sysctl参数,这些参数在重新启动后仍然存在。 -cat > /etc/sysctl.d/99-kubernetes-cri.conf <}} {{% tab name="Debian" %}} - + +
+Then, set `$VERSION` to the CRI-O version that matches your Kubernetes version. +For instance, if you want to install CRI-O 1.18, set `VERSION=1.18`. +You can pin your installation to a specific release. +To install version 1.18.3, set `VERSION=1.18:1.18.3`. +
-```shell -# Debian Testing -echo 'deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/Debian_Testing/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list -wget -nv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/Debian_Testing/Release.key -O- | sudo apt-key add - -``` +Then run + --> +在下列操作系统上安装 CRI-O, 使用下表中合适的值设置环境变量 `OS`: - +| 操作系统 | `$OS` | +|-----------------|-------------------| +| Debian Unstable | `Debian_Unstable` | +| Debian Testing | `Debian_Testing` | -```shell -# Debian 10 -echo 'deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/Debian_10/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list -wget -nv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/Debian_10/Release.key -O- | sudo apt-key add - -``` +
+然后,将 `$VERSION` 设置为与你的 Kubernetes 相匹配的 CRI-O 版本。 +例如,如果你要安装 CRI-O 1.18, 请设置 `VERSION=1.18`. +你也可以安装一个特定的发行版本。 +例如要安装 1.18.3 版本,设置 `VERSION=1.18:1.18.3`. +
- +cat < /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list -wget -nv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/Raspbian_10/Release.key -O- | sudo apt-key add - -``` +curl -L https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable:cri-o:$VERSION/$OS/Release.key | sudo apt-key add --keyring /etc/apt/trusted.gpg.d/libcontainers.gpg - +curl -L https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/$OS/Release.key | sudo apt-key add --keyring /etc/apt/trusted.gpg.d/libcontainers.gpg - - - -随后安装 CRI-O: - -```shell sudo apt-get update -sudo apt-get install cri-o-1.17 +sudo apt-get install cri-o cri-o-runc ``` {{% /tab %}} -{{% tab name="Ubuntu 18.04, 19.04 and 19.10" %}} +{{% tab name="Ubuntu" %}} - +在下列操作系统上安装 CRI-O, 使用下表中合适的值设置环境变量 `OS`: + +| 操作系统 | `$OS` | +|--------------|-----------------| +| Ubuntu 20.04 | `xUbuntu_20.04` | +| Ubuntu 19.10 | `xUbuntu_19.10` | +| Ubuntu 19.04 | `xUbuntu_19.04` | +| Ubuntu 18.04 | `xUbuntu_18.04` | + +
+然后,将 `$VERSION` 设置为与你的 Kubernetes 相匹配的 CRI-O 版本。 +例如,如果你要安装 CRI-O 1.18, 请设置 `VERSION=1.18`. +你也可以安装一个特定的发行版本。 +例如要安装 1.18.3 版本,设置 `VERSION=1.18:1.18.3`. +
+ +然后执行 ```shell -# Configure package repository -. /etc/os-release -sudo sh -c "echo 'deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/x${NAME}_${VERSION_ID}/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list" -wget -nv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/x${NAME}_${VERSION_ID}/Release.key -O- | sudo apt-key add - +cat < - -```shell -# 配置仓库 -. /etc/os-release -sudo sh -c "echo 'deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/x${NAME}_${VERSION_ID}/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list" -wget -nv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/x${NAME}_${VERSION_ID}/Release.key -O- | sudo apt-key add - -sudo apt-get update -``` - - - -```shell -# 安装 CRI-O -sudo apt-get update -sudo apt-get install cri-o-1.17 -``` + {{% /tab %}} -{{% tab name="Ubuntu 16.04" %}} - - -```shell -# 安装必备软件 -apt-get update -apt-get install software-properties-common - -add-apt-repository ppa:projectatomic/ppa -apt-get update - -# 安装 CRI-O -apt-get install cri-o-1.15 -``` -{{% /tab %}} {{% tab name="CentOS" %}} - +在下列操作系统上安装 CRI-O, 使用下表中合适的值设置环境变量 `OS`: -要在以下操作系统上安装,请将环境变量 `$OS` 设置为下表中的相应字段: - -| 操作系统 | $OS | -| ---------------- | ----------------- | -| Centos 8 | `CentOS_8` | -| Centos 8 Stream | `CentOS_8_Stream` | -| Centos 7 | `CentOS_7` | +| 操作系统 | `$OS` | +|-----------------|-------------------| +| Centos 8 | `CentOS_8` | +| Centos 8 Stream | `CentOS_8_Stream` | +| Centos 7 | `CentOS_7` |
-然后将 `$VERSION` 设置为与你的 Kubernetes 相匹配的 CRI-O 版本。 -例如,如果要安装 CRI-O 1.18,请设置 `VERSION=1.18`。 -你也可以安装特定版本,例如 1.18.3,请设置 `VERSION=1.18:1.18.3`。 +然后,将 `$VERSION` 设置为与你的 Kubernetes 相匹配的 CRI-O 版本。 +例如,如果你要安装 CRI-O 1.18, 请设置 `VERSION=1.18`. +你也可以安装一个特定的发行版本。 +例如要安装 1.18.3 版本,设置 `VERSION=1.18:1.18.3`.
-确保声明变量后,使用下面命令安装 - +然后执行 ```shell -curl -L -o /etc/yum.repos.d/devel:kubic:libcontainers:stable.repo https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/$OS/devel:kubic:libcontainers:stable.repo -curl -L -o /etc/yum.repos.d/devel:kubic:libcontainers:stable:cri-o:$VERSION.repo https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable:cri-o:$VERSION/$OS/devel:kubic:libcontainers:stable:cri-o:$VERSION.repo -yum install cri-o +sudo curl -L -o /etc/yum.repos.d/devel:kubic:libcontainers:stable.repo https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/$OS/devel:kubic:libcontainers:stable.repo +sudo curl -L -o /etc/yum.repos.d/devel:kubic:libcontainers:stable:cri-o:$VERSION.repo https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable:cri-o:$VERSION/$OS/devel:kubic:libcontainers:stable:cri-o:$VERSION.repo +sudo yum install cri-o ``` {{% /tab %}} @@ -583,331 +597,316 @@ yum install cri-o ```shell sudo zypper install cri-o ``` - {{% /tab %}} - {{% tab name="Fedora" %}} - - 将 `$VERSION` 设置为与你的 Kubernetes 相匹配的 CRI-O 版本。 例如,如果要安装 CRI-O 1.18,请设置 `VERSION=1.18`。 你可以用下列命令查找可用的版本: ```shell -dnf module list cri-o +sudo dnf module list cri-o ``` - CRI-O 不支持在 Fedora 上固定到特定的版本。 -运行下列命令安装 +然后执行 ```shell -dnf module enable cri-o:$VERSION -dnf install cri-o +sudo dnf module enable cri-o:$VERSION +sudo dnf install cri-o ``` {{% /tab %}} {{< /tabs >}} - -### 启动 CRI-O - -``` -systemctl start crio -``` - -请参阅 [CRI-O 安装指南](https://github.com/kubernetes-sigs/cri-o#getting-started) -来获取更多的信息。 - - +启动 CRI-O: ```shell -cat > /etc/modules-load.d/containerd.conf < /etc/sysctl.d/99-kubernetes-cri.conf < -## containerd - -本节包含使用 `containerd` 作为 CRI 运行时的必要步骤。 - -使用以下命令在系统上安装容器: - -### 准备环境 - -```shell -cat > /etc/modules-load.d/containerd.conf < /etc/sysctl.d/99-kubernetes-cri.conf < -### 安装 containerd +更多信息请参阅 [CRI-O 安装指南](https://github.com/kubernetes-sigs/cri-o#getting-started)。 + + + +### Docker + + +在你每个节点上安装 Docker CE. + +Kubernetes 发行说明中列出了 Docker 的哪些版本与该版本的 Kubernetes 相兼容。 + +在你的操作系统上使用如下命令安装 Docker: + +{{< tabs name="tab-cri-docker-installation" >}} +{{% tab name="Ubuntu 16.04+" %}} -{{< tabs name="tab-cri-containerd-installation" >}} -{{% tab name="Ubuntu 16.04" %}} ```shell -# 安装 containerd -## 设置仓库 +# (安装 Docker CE) +## 设置仓库: ### 安装软件包以允许 apt 通过 HTTPS 使用存储库 -apt-get update && apt-get install -y apt-transport-https ca-certificates curl software-properties-common +sudo apt-get update && sudo apt-get install -y \ + apt-transport-https ca-certificates curl software-properties-common gnupg2 ``` ```shell -### 安装 Docker 的官方 GPG 密钥 -curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - -``` - -```shell -### 新增 Docker apt 仓库。 -add-apt-repository \ - "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ - $(lsb_release -cs) \ - stable" -``` - -```shell -## 安装 containerd -apt-get update && apt-get install -y containerd.io -``` - -```shell -# 配置 containerd -mkdir -p /etc/containerd -containerd config default > /etc/containerd/config.toml +### 新增 Docker 的 官方 GPG 秘钥: +curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add --keyring /etc/apt/trusted.gpg.d/docker.gpg - ``` ```shell -# 重启 containerd -systemctl restart containerd +### 添加 Docker apt 仓库: +sudo add-apt-repository \ + "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ + $(lsb_release -cs) \ + stable" ``` -{{< /tab >}} + +```shell +## 安装 Docker CE +sudo apt-get update && sudo apt-get install -y \ + containerd.io=1.2.13-2 \ + docker-ce=5:19.03.11~3-0~ubuntu-$(lsb_release -cs) \ + docker-ce-cli=5:19.03.11~3-0~ubuntu-$(lsb_release -cs) +``` + +```shell +# 设置 Docker daemon +cat < +```shell +# 重启 docker. +sudo systemctl daemon-reload +sudo systemctl restart docker +``` +{{% /tab %}} {{% tab name="CentOS/RHEL 7.4+" %}} + - ```shell -# 安装 containerd +# (安装 Docker CE) ## 设置仓库 ### 安装所需包 -yum install yum-utils device-mapper-persistent-data lvm2 +sudo yum install -y yum-utils device-mapper-persistent-data lvm2 ``` ```shell ### 新增 Docker 仓库 -yum-config-manager \ - --add-repo \ - https://download.docker.com/linux/centos/docker-ce.repo +sudo yum-config-manager --add-repo \ + https://download.docker.com/linux/centos/docker-ce.repo ``` ```shell -## 安装 containerd -yum update && yum install containerd.io +## 安装 Docker CE +sudo yum update -y && sudo yum install -y \ + containerd.io-1.2.13 \ + docker-ce-19.03.11 \ + docker-ce-cli-19.03.11 ``` ```shell -# 配置 containerd -mkdir -p /etc/containerd -containerd config default > /etc/containerd/config.toml +## 创建 /etc/docker 目录 +sudo mkdir /etc/docker +``` + +```shell +# 设置 Docker daemon +cat < - ```shell -# 重启 containerd -systemctl restart containerd +# 重启 Docker +sudo systemctl daemon-reload +sudo systemctl restart docker ``` {{% /tab %}} - -{{% tab name="Windows/(PowerShell)" %}} - -```powershell -# (安装 containerd ) -# 下载 contianerd -cmd /c curl -OL https://github.com/containerd/containerd/releases/download/v1.4.0-beta.2/containerd-1.4.0-beta.2-windows-amd64.tar.gz -cmd /c tar xvf .\containerd-1.4.0-beta.2-windows-amd64.tar.gz -``` - -```powershell -# 添加开机启动 -Copy-Item -Path ".\bin\" -Destination "C:\Program Files\containerd" -Recurse -Force -cd C:\Program Files\containerd\ -.\containerd.exe config default | Out-File config.toml -Encoding ascii - -# 检查配置文件主要看以下三个参数 -# sandbox_image 的镜像地址 -# CNI 的 bin_dir 和 conf_dir 路径 -Get-Content config.toml -``` - -```powershell -# containerd 注册服务 -.\containerd.exe --register-service -# 启动 containerd -Start-Service containerd -``` - -{{% /tab %}} -{{< /tabs >}} +{{% /tabs %}} -### systemd {#containerd-systemd} +如果你想开机即启动 docker 服务,执行以下命令: -使用 `systemd` cgroup 驱动,在 `/etc/containerd/config.toml` 中设置 +```shell +sudo systemctl enable docker ``` - [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc] - ... - [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options] - SystemdCgroup = true -``` -当使用 kubeadm 时,请手动配置 -[kubelet 的 cgroup 驱动](/zh/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#configure-cgroup-driver-used-by-kubelet-on-master-node) - -## 其他的 CRI 运行时:frakti - -请参阅 [Frakti 快速开始指南](https://github.com/kubernetes/frakti#quickstart) 来获取更多的信息。 + +请参阅 [官方 Docker 安装指南](https://docs.docker.com/engine/installation/) +来获取更多的信息。 \ No newline at end of file