Docker 在其 stable 频道发布了 Windows 和 Mac 平台下 Docker Desktop对Kubernetes 的支持。Kubernetes 也得到了Docker Enterprise 的支持,允许我们将相同的镜像部署到两个系统中。它还包括对Docker Compose 的支持,允许我们使用compose 文件部署到Kubernetes,可以将其作为kubeconfig 文件的替代方案。
随着1.10.3 版本的发布,面向macOS 和Windows 10 平台的Docker Desktop 将会添加对 Kubernetes 的完整支持。Kubernetes 容器运行在与 Docker Desktop 托管 Docker 容器相同的 Linux VM 上。这样的话,能够为我们提供 Docker Desktop 已有的特性集,包括自动将本地机器的端口映射到容器中,从而允许从主机中进行浏览。Kubernetes 服务器作为单节点集群运行,目前是不能配置的。
Docker Desktop 包含了kubectl
,允许我们通过命令行与集群进行交互。例如,如果你已经有一个 Kubernetes YAML 文件的话,那么可以通过下面的命令进行部署:
<pre data-anchor-id="aosl">
docker-compose build
kubectl apply -f /path/to/kube-deployment.yml
另外,Docker Compose 与 Kubernetes 进行了完整的集成,也可以用来进行部署:
<pre data-anchor-id="4ro5">
docker stack deploy -c /path/to/docker-compose.yml mystack
通过使用 Docker Compose,我们可以将部署栈划分为 Kubernetes 和 Swarm,或者在它们之间进行切换。建议不要同时在 Kubernetes 和 Swarm 模式中部署相同的映像,因为这会导致端口和服务名称的冲突。
Docker Enterprise 同样包含了对 Kubernetes 的完整支持。这样的话,允许我们在本地使用 Docker Desktop 进行开发和测试,然后将完全相同的 Docker 容器化应用部署到生产环境中。Docker Desktop 是一个官方认证的Kubernetes 分发版,并且已经基于CNCF Conformance 测试套件进行了测试。
Minikube 是在本地运行 Kubernetes 的另一个替代方案。Docker 的产品主管 Gareth Rushgrove 对比了 Minikube 和 Docker Desktop 的使用场景:
我认为 Minikube 非常适合使用 Kubernetes 的人,而 Docker Desktop 非常适合那些构建应用程序并在其上运行的人。Minikube 有很多配置项,包括启动特定版本的 Kubernetes、有用 addon、不同的运行时等等。Docker Desktop 的设计更多是在后台运行,单击一个按钮,您就有了开发所需的 Kubernetes API。
Docker Desktop 可以在 Windows 和 Mac 平台下使用。Docker 社区论坛可以进行一些通用讨论和求助( Mac 或 Windows )。Docker 还能够通过 Github( Mac 或 Windows )接受 bug 和反馈。
评论