Merge pull request #30862 from sftim/20211211_marke_dockershim_deprecated_add_mcr

Mark dockershim deprecated / add MCR
This commit is contained in:
Kubernetes Prow Robot 2022-01-18 14:13:03 -08:00 committed by GitHub
commit ebceaf1343
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 35 additions and 35 deletions

View File

@ -15,12 +15,19 @@ what is involved and describes related tasks for setting up nodes.
<!-- body --> <!-- body -->
Kubernetes {{< skew currentVersion >}} requires that you use a runtime that
conforms with the
{{< glossary_tooltip term_id="cri" text="Container Runtime Interface">}} (CRI).
See [CRI version support](#cri-versions) for more information.
This page lists details for using several common container runtimes with This page lists details for using several common container runtimes with
Kubernetes, on Linux: Kubernetes, on Linux:
- [containerd](#containerd) - [containerd](#containerd)
- [CRI-O](#cri-o) - [CRI-O](#cri-o)
- [Docker](#docker) - [Docker Engine](#docker)
- [Mirantis Container Runtime](#mcr)
{{< note >}} {{< note >}}
For other operating systems, look for documentation specific to your platform. For other operating systems, look for documentation specific to your platform.
@ -94,10 +101,19 @@ In order to use it, cgroup v2 must be supported by the CRI runtime as well.
Follow this [Migration guide](/docs/tasks/administer-cluster/kubeadm/configure-cgroup-driver/) Follow this [Migration guide](/docs/tasks/administer-cluster/kubeadm/configure-cgroup-driver/)
if you wish to migrate to the `systemd` cgroup driver in existing kubeadm managed clusters. if you wish to migrate to the `systemd` cgroup driver in existing kubeadm managed clusters.
## CRI version support {#cri-versions}
Your container runtime must support at least v1alpha2 of the container runtime interface.
Kubernetes {{< skew currentVersion >}} defaults to using v1 of the CRI API.
If a container runtime does not support the v1 API, the kubelet falls back to
using the (deprecated) v1alpha2 API instead.
## Container runtimes ## Container runtimes
{{% thirdparty-content %}} {{% thirdparty-content %}}
### containerd ### containerd
This section contains the necessary steps to use containerd as CRI runtime. This section contains the necessary steps to use containerd as CRI runtime.
@ -394,44 +410,28 @@ Please also note the changed `conmon_cgroup`, which has to be set to the value
cgroup driver configuration of the kubelet (usually done via kubeadm) and CRI-O cgroup driver configuration of the kubelet (usually done via kubeadm) and CRI-O
in sync. in sync.
### Docker ### Docker Engine {#docker}
1. On each of your nodes, install the Docker for your Linux distribution as per Docker Engine is the container runtime that started it all. Formerly known just as Docker,
[Install Docker Engine](https://docs.docker.com/engine/install/#server). this container runtime is available in various forms.
You can find the latest validated version of Docker in this [Install Docker Engine](https://docs.docker.com/engine/install/) explains your options
[dependencies](https://git.k8s.io/kubernetes/build/dependencies.yaml) file. for installing this runtime.
2. Configure the Docker daemon, in particular to use systemd for the management of the containers cgroups. Docker Engine is directly compatible with Kubernetes {{< skew currentVersion >}}, using the deprecated `dockershim` component. For more information
and context, see the [Dockershim deprecation FAQ](/dockershim).
```shell You can also find third-party adapters that let you use Docker Engine with Kubernetes
sudo mkdir /etc/docker through the supported {{< glossary_tooltip term_id="cri" text="Container Runtime Interface">}}
cat <<EOF | sudo tee /etc/docker/daemon.json (CRI).
{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
EOF
```
{{< note >}} The following CRI adaptors are designed to work with Docker Engine:
`overlay2` is the preferred storage driver for systems running Linux kernel version 4.0 or higher,
or RHEL or CentOS using version 3.10.0-514 and above.
{{< /note >}}
3. Restart Docker and enable on boot: - [`cri-dockerd`](https://github.com/Mirantis/cri-dockerd) from Mirantis
```shell ### Mirantis Container Runtime {#mcr}
sudo systemctl enable docker
sudo systemctl daemon-reload
sudo systemctl restart docker
```
{{< note >}} [Mirantis Container Runtime](https://docs.mirantis.com/mcr/20.10/overview.html) (MCR) is a commercially
For more information refer to available container runtime that was formerly known as Docker Enterprise Edition.
- [Configure the Docker daemon](https://docs.docker.com/config/daemon/)
- [Control Docker with systemd](https://docs.docker.com/config/daemon/systemd/) You can use Mirantis Container Runtime with Kubernetes using the open source
{{< /note >}} [`cri-dockerd`](https://github.com/Mirantis/cri-dockerd) component, included with MCR.