Do I need docker to run Kubernetes in production?

7/27/2017

As docker means many things :

  • the docker images
  • and the tools to run the images (docker engine)

I am confused and it's not clear for me: Are the "docker engine" mandatory to use Kubernetes to run docker images.

If not, is it still recommended to run kubernetes with the docker engine ?

I found in kubernetes doc that rkt would be the alternative to avoid dockerd, but does it hold as a sound configuration for production cluster ?

Moreover since the licensing change in docker, What are people using in production environment: RHEL + docker EE + Kubernetes ?

EDIT: clarify question to target production environment

-- yves
docker
kubernetes

2 Answers

7/27/2017

Yes, Kubernetes often comes bundled up with the things necessary to run containers, but it itself is a container orchestration system. So if you're going to need whatever base container engine you need to run the kind of containers you want (Docker or otherwise).

I would personally recommend Docker unless you're using some other container solution simply because it is currently the most fleshed out, with the most support.

-- Chris
Source: StackOverflow

7/27/2017

The docker engine is no longer mandatory, merely the default. The Kubernetes documentation describes how you could alternatively use rkt:

I tend to agree with @Chris, stick with Docker. It's the most widely supported container engine on all platforms.


Additional

It's worth noting that I experienced some confusion with regard to how the docker engine is packaged for Redhat systems. Prior Docker's recent licensing change there were unbelievably 3 different RPM packages to choose from:

  • docker (Stable docker version to support Openshift)
  • docker-latest (Most up to date version of docker supported by Redhat)
  • docker-engine (RPM sourced from the Docker Inc. repository)

The recent licencing change seems to have introduced yet another new RPM package: "docker-ce"..... Madness....

Long story short, just use the "docker-latest" package supported by Redhat. I stopped using the packages from Docker Inc. as it was simpler to let Redhat deal with the backward compatibility problems periodically introduced by new releases of Docker.

-- Mark O'Connor
Source: StackOverflow