Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes需要Docker吗?_Docker_Kubernetes_Minikube - Fatal编程技术网

Kubernetes需要Docker吗?

Kubernetes需要Docker吗?,docker,kubernetes,minikube,Docker,Kubernetes,Minikube,场景: 我需要构建一个web应用程序,从中我可以在集群中运行/sop/delete/etc.容器。因此,我安装了Kubernetes,并从控制台测试了API。一切似乎都正常,看起来很好 在文档后面,他们写的是Docker,但我需要它吗 我的意思是,我必须禁用Hyper-V才能使Minikube正常工作,重新启动后,Docker(通常在启动时启动)说“出了点问题..bla bla.”。。但是我可以在Minikube上创建部署和proxys 这有点令人困惑 有人能为傻瓜们解释一下吗?从技术上讲,你需

场景:

我需要构建一个web应用程序,从中我可以在集群中运行/sop/delete/etc.容器。因此,我安装了Kubernetes,并从控制台测试了API。一切似乎都正常,看起来很好

在文档后面,他们写的是Docker,但我需要它吗

我的意思是,我必须禁用
Hyper-V
才能使
Minikube
正常工作,重新启动后,Docker(通常在启动时启动)说“出了点问题..bla bla.”。。但是我可以在
Minikube
上创建部署和
proxys

这有点令人困惑

有人能为傻瓜们解释一下吗?

从技术上讲,你需要一个容器运行时,它应该尊重

这就是为什么您有,它提供了符合OCI的运行时和kubelet之间的集成路径。
请参见中的“”

该项目“打开了更容易插入的大门,而不是依赖默认docker运行时

“这些新的运行时可能包括基于虚拟机的运行时,如runvClear Containers,或标准Linux容器运行时,如
rkt
,”高级工程师在报告中写道


但在您的情况下,您的问题是让Minikube与HyperV一起工作:请参阅
诀窍是创建一个名为“主虚拟交换机”的新(外部)虚拟网络交换机,并启动Minikube:

minikube start --vm-driver hyperv --hyperv-virtual-switch "Primary Virtual Switch"

如果您在OSX或Linux上运行minikube,您可以通过运行

eval $(minikube docker-env)
当您这样做时,您不需要单独的Docker桌面应用程序。从技术上讲,您仍然在使用Docker和Kubernetes,但您不会使用OSX上带有“鲸鱼”图标的设置


从根本上说,Kubernetes负责启动和管理Docker容器。(或者可能是其他东西,但几乎总是Docker容器。)这是一个更复杂、更强大的工具,与Docker Compose和Docker Swarm一样。Minikube是在虚拟机中运行的非常小的Kubernetes集群;如果运行
kubectl get nodes
,您将看到单个VM节点,其中包括Docker的副本。

如上所述,您需要任何运行时容器。库伯内特斯和多克是生态系统的一部分。两者都有不同的职责,kubernetes处理群集运行状况和docker运行的应用程序容器。

OP是在Windows 10(HyperV)上运行的,而不是在Mac(XHyve)上运行的,我仍然不明白。。我已经安装了Minikube并禁用了Hyper-V(这会提示我,我的本地Docker运行不正常)。。但我可以在Minikube运行容器。这怎么可能呢?