As docker means many things :
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
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.
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:
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.