使用 Docker Desktop 部署到 Kubernetes
Docker Desktop 包含一个独立的 Kubernetes 服务器和客户端,以及在您的机器上运行的 Docker CLI 集成。
Kubernetes 服务器在您的 Docker 实例中本地运行,不可配置,并且是一个单节点集群。它在您本地系统的 Docker 容器中运行,仅用于本地测试。
启用 Kubernetes 允许您在 Kubernetes、Swarm 和作为独立容器并行部署您的工作负载。启用或禁用 Kubernetes 服务器不会影响您的其他工作负载。
安装并启用 Kubernetes
在 Docker Desktop 仪表板中,选择**设置**。
从左侧边栏中选择**Kubernetes**。
在**启用 Kubernetes**旁边,选择复选框。
选择**应用并重启**以保存设置,然后选择**安装**以确认。这将实例化运行 Kubernetes 服务器所需作为容器的镜像,并在您的机器上安装
/usr/local/bin/kubectl
命令。重要
kubectl
二进制文件不会自动打包到 Linux 版 Docker Desktop 中。要为 Linux 安装 kubectl 命令,请参阅Kubernetes 文档。它应该安装在/usr/local/bin/kubectl
。
默认情况下,Kubernetes 容器会从docker ps
之类的命令中隐藏,因为不支持手动管理它们。大多数用户不需要此选项。要查看这些内部容器,请选择**显示系统容器(高级)**。
启用并运行 Kubernetes 后,Docker Desktop 仪表板页脚和 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
- 从Docker Desktop仪表板中,选择**设置**图标。
- 从左侧边栏中选择**Kubernetes**。
- 在**启用Kubernetes**旁边,清除复选框
- 选择**应用并重启**以保存设置。这将停止并删除Kubernetes容器,并删除
/usr/local/bin/kubectl
命令。