使用 Docker Desktop 部署到 Kubernetes

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

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

启用 Kubernetes 可让您并行地将工作负载部署到 Kubernetes、Swarm 以及作为独立容器运行。启用或停用 Kubernetes 服务器不会影响您的其他工作负载。

安装并启用 Kubernetes

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

  2. 从左侧边栏中选择 Kubernetes

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

  4. 选择 应用并重启 以保存设置,然后选择 安装 进行确认。此操作将实例化运行 Kubernetes 服务器所需的容器镜像,并在您的机器上安装 /usr/local/bin/kubectl 命令。

    重要

    Linux 版本的 Docker Desktop 不会自动打包 kubectl Binaries。要在 Linux 上安装 kubectl 命令,请参阅 Kubernetes 文档。该命令应安装在 /usr/local/bin/kubectl 路径下。

默认情况下,Kubernetes 容器在 docker ps 等命令中是隐藏的,因为不支持手动管理这些容器。大多数用户无需启用此选项。如需查看这些内部容器,请选择 显示系统容器(高级)

当 Kubernetes 启用并运行时,Docker Desktop 仪表板底部的状态栏以及 Docker 菜单中会额外显示一个状态栏。

注意

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

使用 kubectl 命令

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

如果您已安装 kubectl 且其当前指向其他环境(例如 minikube 或 GKE 集群),请务必切换上下文,使 kubectl 指向 docker-desktop

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

提示

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

如果您使用的是其他终端且出现此情况,您可以尝试将 kubeconfig 环境变量设置为 .kube/config 文件的路径。

如果您通过 Homebrew 或其他方式安装了 kubectl 并遇到冲突,请移除 /usr/local/bin/kubectl

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

$ kubectl get nodes

NAME                 STATUS    ROLES            AGE       VERSION
docker-desktop       Ready     control-plane    3h        v1.29.1

有关 kubectl 的更多信息,请参阅 kubectl 文档

关闭并卸载 Kubernetes

在 Docker Desktop 中关闭 Kubernetes:

  1. 在 Docker Desktop 仪表盘中,选择 设置 图标。
  2. 从左侧边栏中选择 Kubernetes
  3. 启用 Kubernetes 旁,清除复选框
  4. 选择 应用并重启 以保存设置。这将停止并移除 Kubernetes 容器,并同时移除 /usr/local/bin/kubectl 命令。