使用 minikube 在 Cloud Code for VS Code 中进行本地开发

Cloud Code 会自动安装和管理 minikube。如果您已选择停用依赖项管理,请将 minikube 二进制文件添加到 PATH 中。

准备工作

  1. 安装 Git,以便 Cloud Code 可以执行 Git 操作,例如克隆示例。
  2. 安装 Cloud Code 插件(如果尚未安装)。

通过模板创建应用

Cloud Code 附带一系列代码示例模板,可帮助您快速入门。如需使用现有示例创建 Kubernetes 应用,请按以下步骤操作:

  1. 启动 Command Palette(按 Ctrl/Cmd+Shift+P 或点击视图 > Command Palette),然后运行 Cloud Code: New Application
  2. 选择 Kubernetes 应用作为示例类型。
  3. 请根据您要使用的语言从可用选项中选择示例:NodeJS、Go、Python、Java。
  4. 在本地机器上选择首选应用位置,然后点击创建新应用进行保存。

    Cloud Code 会克隆您选择的示例,并打开您的新项目以供使用。

示例应用结构

所有语言示例应用都具有几乎相同的结构。这不是唯一受支持的结构,但是建议您在开始创建应用时使用此结构。

例如,Node.js Guestbook 应用结构如下所示:

.
|---- .vscode
|      └---- launch.json
|---- kubernetes-manifests
|     |---- guestbook-backend.deployment.yaml
|     |---- guestbook-backend.service.yaml
|     |---- guestbook-frontend.deployment.yaml
|     |---- guestbook-frontend.service.yaml
|     |---- mongo.deployment.yaml
|     └---- mongo.service.yaml
|---- src
|     |---- backend
|     |     |---- Dockerfile
|     |     |---- index.js
|     |     |---- app.js
|     |     └---- package.json
|     |---- frontend
|           |---- Dockerfile
|           |---- index.js
|     |     |---- app.js
|           └---- package.json
└---- skaffold.yaml

我们来仔细看一下这个 Kubernetes Guestbook Node.js 示例应用,以下是一些关键文件及其用途:

  • .vscode
    • extensions.json:有关在打开此项目时请求下载相关扩展程序的提示
    • launch.json:启动配置(类型为 cloudcode.kubernetes)以运行或调试 Kubernetes 应用
    • tasks.jsonVisual Studio Code Tasks 的配置信息
  • kubernetes-manifests
    • guestbook-backend.deployment.yaml:后端节点的 pod 规范
    • guestbook-frontend.deployment.yaml:前端节点的 pod 规范
    • mongo.deployment.yaml:数据库的 pod 规范
  • src
    • (backend|frontend)/app.js:使用 Web 服务器逻辑的 Node.js 代码
    • (backend|frontend)/Dockerfile:用于为我们的程序构建容器映像
  • skaffold.yamlSkaffold 的配置文件,Cloud Code 会使用它来构建、部署和调试 Kubernetes 应用

使用您自己的应用

如需了解使用现有项目的步骤,请参阅将 Cloud Code 与现有 Kubernetes 应用搭配使用

设置您的 Kubernetes 上下文

在运行应用之前,请确保您已准备好将应用部署到首选 Kubernetes 上下文。您可以在配置中指定此内容。

配置

使用 Cloud Code: Develop on Kubernetes 运行配置时,您可以通过配置可用设置来自定义部署。

如需添加或修改配置,请依次前往 Run > Open Configurations,然后修改或添加配置。

创建并部署到 minikube 集群

启动 minikube 集群

Cloud Code 会自动安装和管理 minikube。如果您已选择停用依赖项管理,请将 minikube 二进制文件添加到 PATH 中。

  1. 启动 Command Palette(按 Ctrl/Cmd+Shift+P 或点击视图 > Command Palette),然后运行 Cloud Code: Control minikube 命令。
  2. 点击选择要控制的 Minikube 集群(配置文件)对应的 minikube,然后点击启动

在 minikube 上运行

  1. 启动 Command Palette 并运行 Cloud Code: Run on Kubernetes
  2. 针对使用当前上下文 (minikube) 运行该应用吗?点击
  3. Cloud Code 在您的 minikube 集群中运行您的应用。如果出现提示,请授权 Cloud Shell 使用您的凭据进行 Google Cloud API 调用。

    Cloud Code开发会话部分中查看部署详情。

  4. 点击开发会话部分中的组合网址以查看这些网址,然后点击网址链接以打开包含正在运行的应用的浏览器。

打开容器的交互式终端

  1. 点击 Cloud Code,然后展开 Development Sessions 资源管理器。
  2. 展开部署的资源,然后展开 Pod
  3. 右键点击容器,然后点击获取终端

暂停或停止 minikube 集群

  1. 启动 Command Palette(按 Ctrl/Cmd+Shift+P 或点击视图 > Command Palette),然后运行 Cloud Code: Control minikube 命令。
  2. 填充选择要控制的 Minikube 集群(配置文件)选项后,点击 minikube,然后点击停止暂停

通过其他云服务提供商创建和添加集群

如果您使用的是本地集群或来自其他提供商(如 Azure 或 AWS)的集群,请使用提供商的工具创建集群并将其添加到您的 KubeConfig 中。

使用其他本地集群

如果您使用的是 Docker Desktop(适用于 MacWindows),则除了 minikube 之外,您还可以使用 Cloud Code。

如需使用 Cloud Code 处理本地集群,请确保您的默认配置(例如 ~/.kube/config)包含您的本地集群。必须将此集群设置为当前上下文。

例如,如果您将本地集群 docker-for-desktop 与 Docker Desktop 配合使用,请使用以下命令设置首选集群:

kubectl config use-context docker-for-desktop

后续步骤

获取帮助

如需发送反馈,请在 GitHub 上报告问题,或者在 Stack Overflow 上提问。