使用 Docker Desktop 在 Kubernetes 上部署

Docker Desktop 包括独立的 Kubernetes 服务器和客户端,以及在您的计算机上运行的 Docker CLI 集成。

Kubernetes 服务器在 Docker 实例中本地运行,不可配置,并且是单节点集群。它在本地系统上的 Docker 容器中运行,并且仅用于本地测试。

打开 Kubernetes,您可以在 Kubernetes、Swarm 上并行部署工作负载,并作为独立容器部署。打开或关闭 Kubernetes 服务器不会影响您的其他工作负载。

安装并开启 Kubernetes

  1. 从 Docker 仪表板中,选择“设置”

  2. 从左侧边栏中选择Kubernetes 。

  3. 选中启用Kubernetes旁边的复选框。

  4. 选择“应用并重新启动”以保存设置,然后选择“安装”以确认。这会将 Kubernetes 服务器运行所需的映像实例化为容器,并将/usr/local/bin/kubectl命令安装到您的计算机上。

    重要的

    kubectl二进制文件不会自动与 Docker Desktop for Linux 一起打包。要安装适用于 Linux 的 kubectl 命令,请参阅 Kubernetes 文档。它应该安装在/usr/local/bin/kubectl.

默认情况下,Kubernetes 容器对诸如 之类的命令是隐藏的docker ps,因为不支持手动管理它们。大多数用户不需要此选项。要查看这些内部容器,请选择“显示系统容器(高级)”

当 Kubernetes 打开并运行时,Docker 仪表板页脚和 Docker 菜单中会显示一个附加状态栏。

笔记

Docker Desktop 在新更新后不会自动升级 Kubernetes 集群。要将 Kubernetes 集群升级到最新版本,请选择Reset Kubernetes Cluster

使用 kubectl 命令

Kubernetes 集成在 Mac 上提供了 Kubernetes CLI 命令/usr/local/bin/kubectl,在 Windows 上提供了 at C:\Program Files\Docker\Docker\Resources\bin\kubectl.exe。此位置可能不在 shell 的PATH 变量中,因此您可能需要键入命令的完整路径或将其添加到PATH.

如果您已经安装kubectl并且它指向其他环境,例如minikubeGKE 集群,请确保更改上下文,以便它kubectl指向docker-desktop

$ kubectl config get-contexts
$ kubectl config use-context docker-desktop

提示

kubectl在 CMD 或 PowerShell 终端中运行该命令,否则kubectl config get-contexts可能返回空结果。

如果您使用不同的终端并且发生这种情况,您可以尝试将kubeconfig环境变量设置为文件的位置.kube/config

如果您kubectl使用 Homebrew 或其他方法安装并遇到冲突,请删除/usr/local/bin/kubectl.

您可以通过列出可用节点来测试该命令:

$ kubectl get nodes

NAME                 STATUS    ROLES     AGE       VERSION
docker-desktop       Ready     master    3h        v1.19.7

有关详细信息kubectl,请参阅 kubectl文档

关闭并卸载 Kubernetes

要在 Docker Desktop 中关闭 Kubernetes:

  1. 从 Docker 仪表板中,选择“设置”图标。
  2. 从左侧边栏中选择Kubernetes 。
  3. 清除启用 Kubernetes旁边的复选框
  4. 选择“应用并重新启动”以保存设置。这将停止并删除 Kubernetes 容器,同时也会删除该/usr/local/bin/kubectl命令。