生产环境中运行Kubernetes是否需要使用Docker?

3
作为docker的含义很多:
- docker镜像 - 运行镜像的工具(docker引擎)
我有些困惑,不太明白: 使用Kubernetes运行docker镜像是否需要"docker engine"?
如果不需要,仍然建议使用docker引擎来运行kubernetes吗?
我在kubernetes文档中发现,rkt是避免使用dockerd的替代方案,但它在生产集群中是否可靠?
此外,由于docker许可证的更改,人们在生产环境中使用什么呢? RHEL + Docker EE + Kubernetes?
编辑:澄清问题以针对生产环境。
2个回答

6

是的,Kubernetes通常会捆绑运行容器所需的内容,但它本身是一个容器编排系统。因此,如果您需要运行所需类型的容器(Docker或其他类型),则需要使用基础容器引擎。

个人建议使用Docker,除非您使用其他容器解决方案,因为它目前是最完善、支持最多的。


2

Docker引擎不再是强制性的,只是默认的选择。Kubernetes文档介绍了如何使用rkt作为替代方案:

我倾向于同意@Chris的观点,坚持使用Docker。它是所有平台上最广泛支持的容器引擎。


附加信息

值得注意的是,我在Redhat系统中对docker引擎的打包方式产生了一些困惑。在Docker最近的许可证更改之前,竟然有3个不同的RPM包可供选择:

  • docker (稳定的docker版本以支持Openshift)
  • docker-latest (由Redhat支持的最新版本的docker)
  • docker-engine (从Docker Inc.仓库获取的RPM)

最近的许可证更改似乎又引入了一个新的RPM包:“docker-ce”..... 疯狂....

长话短说,只需使用Redhat支持的“docker-latest”包即可。我停止使用来自Docker Inc.的包,因为让Redhat处理由新版本Docker定期引入的向后兼容性问题更加简单。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接