From 6d9fec41753dbef17afaa330c432d07fa31fe8c2 Mon Sep 17 00:00:00 2001 From: Tim Bannister Date: Sat, 11 Dec 2021 16:45:24 +0000 Subject: [PATCH 1/2] Update third party list of container runtimes --- .../container-runtimes.md | 46 +++---------------- 1 file changed, 6 insertions(+), 40 deletions(-) diff --git a/content/en/docs/setup/production-environment/container-runtimes.md b/content/en/docs/setup/production-environment/container-runtimes.md index fbb6d9bc84..268050fd2d 100644 --- a/content/en/docs/setup/production-environment/container-runtimes.md +++ b/content/en/docs/setup/production-environment/container-runtimes.md @@ -20,7 +20,7 @@ Kubernetes, on Linux: - [containerd](#containerd) - [CRI-O](#cri-o) -- [Docker](#docker) +- [Mirantis Container Runtime](#mcr) {{< note >}} For other operating systems, look for documentation specific to your platform. @@ -394,44 +394,10 @@ 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 in sync. -### Docker +### Mirantis Container Runtime {#mcr} -1. On each of your nodes, install the Docker for your Linux distribution as per -[Install Docker Engine](https://docs.docker.com/engine/install/#server). -You can find the latest validated version of Docker in this -[dependencies](https://git.k8s.io/kubernetes/build/dependencies.yaml) file. +[Mirantis Container Runtime](https://docs.mirantis.com/mcr/20.10/overview.html) (MCR) is a commercially +available container runtime that was formerly known as Docker Enterprise Edition. -2. Configure the Docker daemon, in particular to use systemd for the management of the container’s cgroups. - - ```shell - sudo mkdir /etc/docker - cat <}} - `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: - - ```shell - sudo systemctl enable docker - sudo systemctl daemon-reload - sudo systemctl restart docker - ``` - -{{< note >}} -For more information refer to - - [Configure the Docker daemon](https://docs.docker.com/config/daemon/) - - [Control Docker with systemd](https://docs.docker.com/config/daemon/systemd/) -{{< /note >}} +You can use Mirantis Container Runtime with Kubernetes using the open source +[`cri-dockerd`](https://github.com/Mirantis/cri-dockerd) component, included with MCR. From 65e92a8f146ca256676285642f8af848b8205588 Mon Sep 17 00:00:00 2001 From: Tim Bannister Date: Sat, 11 Dec 2021 17:05:13 +0000 Subject: [PATCH 2/2] Add Docker Engine as container runtime Mention that the support via Dockershim is deprecated. Co-Authored-By: Rey Lejano --- .../container-runtimes.md | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/content/en/docs/setup/production-environment/container-runtimes.md b/content/en/docs/setup/production-environment/container-runtimes.md index 268050fd2d..b78d6dcd1a 100644 --- a/content/en/docs/setup/production-environment/container-runtimes.md +++ b/content/en/docs/setup/production-environment/container-runtimes.md @@ -15,11 +15,18 @@ what is involved and describes related tasks for setting up nodes. +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 Kubernetes, on Linux: - [containerd](#containerd) - [CRI-O](#cri-o) +- [Docker Engine](#docker) - [Mirantis Container Runtime](#mcr) {{< note >}} @@ -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/) 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 {{% thirdparty-content %}} + ### containerd This section contains the necessary steps to use containerd as CRI runtime. @@ -394,6 +410,24 @@ 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 in sync. +### Docker Engine {#docker} + +Docker Engine is the container runtime that started it all. Formerly known just as Docker, +this container runtime is available in various forms. +[Install Docker Engine](https://docs.docker.com/engine/install/) explains your options +for installing this runtime. + +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). + +You can also find third-party adapters that let you use Docker Engine with Kubernetes +through the supported {{< glossary_tooltip term_id="cri" text="Container Runtime Interface">}} +(CRI). + +The following CRI adaptors are designed to work with Docker Engine: + +- [`cri-dockerd`](https://github.com/Mirantis/cri-dockerd) from Mirantis + ### Mirantis Container Runtime {#mcr} [Mirantis Container Runtime](https://docs.mirantis.com/mcr/20.10/overview.html) (MCR) is a commercially