我见过的使用Kubernetes在本地开发的大多数教程都使用Minikube。在适用于Windows的Edge的最新Edge版本中,您还可以启用Kubernetes。我试图了解两者之间的区别以及应该使用的区别。
kubectl apply -f http://...
。 minikube ip
来获取用于入口的群集IP地址,如何使用Docker for Windows来做到这一点?答案 0 :(得分:9)
我觉得您对空间非常了解,并且已经对您的问题有了答案。您可能会发现Docker for Mac vs. Docker Toolbox内容丰富,即使它与Mac等效,而不是Windows,以及与Docker打包为VM而不是Kubernetes特别相关。
实际上,您对Docker Edge桌面发行版发布的特定版本的Kubernetes感到困惑。
。
我相信NodePort类型的服务会发布在您主机的IP地址上;没有像Docker Toolbox一样的中间VM地址。
Docker Toolbox和minikube始终使用带有现成虚拟机管理程序的功能完善的虚拟机。如果可用,则Docker桌面应用程序可能会使用轻量级的虚拟化引擎。
Kubernetes可能涉及一些重要的背景工作。如果您正在使用Kubernetes-in-Docker,则很难“关闭” Kubernetes,并且仍然可以使用Docker。但是如果您有单独的minikube VM,则可以停止它。
答案 1 :(得分:5)
这是Docker documentation的一部分:
Kubernetes仅在适用于Windows 18.02 CE Edge的Docker中可用。 Windows 18.02 CE的Docker不包含Kubernetes支持 稳定。要了解有关稳定和边缘渠道以及如何 在它们之间切换,请参阅常规配置。
用于Windows 18.02 CE Edge的Docker包含一个独立的Kubernetes 服务器和客户端,以及Docker CLI集成。 Kubernetes 服务器在您的Docker实例中本地运行,不可配置, 并且是一个单节点群集。
Kubernetes服务器在您本地的Docker容器中运行 系统,仅用于本地测试。当Kubernetes支持是 启用后,您可以在Kubernetes上并行部署工作负载, 群聚,并作为独立容器。启用或禁用 Kubernetes服务器不会影响您的其他工作负载。
请参见Docker for Windows > Getting started以启用Kubernetes和 开始在Kubernetes上测试工作负载的部署。
如果您有足够的CPU和RAM资源,则可以轻松地将minikube
和docker-for-desktop
都放在同一台计算机上,并通过选择上下文在它们之间进行切换,例如:
> kubectl config get-contexts
> kubectl config use-context docker-for-desktop
目前无处选择docker-for-desktop的Kubernetes版本。它是Docker分发包中的preselected。
不幸的是,与docker网站上提供的版本相比,minikube内部的docker版本落后了一步,某些功能可能是missing,但是如果您对Kubernetes环境感兴趣,那么在大多数情况下。
Kubernetes的某些功能依赖于外部资源,在本地安装时可能对您不可用。例如,您需要具有创建Cloud Load Balancer的功能,以使用某些类型的Ingress
或Service
对象。
但是可以在minikube
内或使用docker-for-desktop
来kubectl create/apply
内轻松启动其他资源。
要在外部公开群集资源,可以使用Webhook Relay Ingress controller。
这是安装手册的link。