From af4a0560985bdb7b23716bdffcf0ca2ded8a1313 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anders=20F=20Bj=C3=B6rklund?= Date: Wed, 30 Dec 2020 14:54:31 +0100 Subject: [PATCH] MEP: CRI: Containerd by default --- .../container-default.md | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 enhancements/proposed/20201230-containerd-default/container-default.md diff --git a/enhancements/proposed/20201230-containerd-default/container-default.md b/enhancements/proposed/20201230-containerd-default/container-default.md new file mode 100644 index 0000000000..667666c194 --- /dev/null +++ b/enhancements/proposed/20201230-containerd-default/container-default.md @@ -0,0 +1,45 @@ +# CRI: Containerd by default + +* First proposed: 2020-11-08 +* Authors: Anders F Björklund (@afbjorklund) + +## Reviewer Priorities + +Please review this proposal with the following priorities: + +* Does this fit with minikube's [principles](https://minikube.sigs.k8s.io/docs/concepts/principles/)? +* Are there other approaches to consider? +* Could the implementation be made simpler? +* Are there usability, reliability, or technical debt concerns? + +Please leave the above text in your proposal as instructions to the reader. + +## Summary + +Change default container runtime, from current "docker" to replacement "containerd". + +## Goals + +* Change from docker to containerd as default +* Still allow fast-building images with minikube + +## Non-Goals + +* Remove the docker support from minikube +* Change anything in the docker driver + +## Design Details + +The containerd container runtime is already included, and is passing certification. + +Unlike [Docker](https://www.docker.com/products/docker-engine), will need to include the CRI (runtime) and CNI (network) by default. + +Use [BuildKit](https://github.com/moby/buildkit) as a complement to [Containerd](https://containerd.io/), for producing an image from Dockerfile. + +Only run buildkitd on-demand (i.e. when building), default to running only containerd. + +## Alternatives Considered + +Keep Docker as the default, and add the new CRI-Docker to replace the old dockershim. + +Use [CRI-O](https://cri-o.io/)/[Podman](https://podman.io/) as default, which is a bigger change (since dockerd uses containerd).