使用 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 集群升级到最新版本,请选择**重置 Kubernetes 集群**。

使用 kubectl 命令

Kubernetes 集成在 Mac 上的/usr/local/bin/kubectl和 Windows 上的C:\Program Files\Docker\Docker\Resources\bin\kubectl.exe提供 Kubernetes CLI 命令。此位置可能不在您的 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 仪表板中,选择**设置**图标。
  2. 从左侧边栏中选择**Kubernetes**。
  3. 在**启用 Kubernetes**旁边,清除复选框
  4. 选择**应用并重启**以保存设置。这会停止并删除 Kubernetes 容器,还会删除/usr/local/bin/kubectl命令。