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

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

准备工作

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

通过模板创建应用

Cloud Code 附带一系列 代码示例 可帮助您快速上手。使用 Cloud Build 创建 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 >打开“配置”,然后 修改或添加配置。

创建并部署到 minikube 集群

启动 minikube 集群

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

  1. 启动 Command Palette(按 Ctrl/Cmd+Shift+P 或点击 查看 >Command Palette)和 然后运行 Cloud Code: Control minikube 命令。
  2. 选择要控制的 Minikube cluster (profile) 部分,点击 minikube 然后点击开始

在 minikube 上运行

  1. 启动 Command Palette 并运行 Cloud Code: Run on Kubernetes
  2. 对于 Use current context (minikube) to run the app?,点击 Yes
  3. Cloud Code 在 minikube 集群中运行您的应用。如果 授权 Cloud Shell 使用您的凭据 Google Cloud API 调用。

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

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

打开容器的交互式终端

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

暂停或停止 minikube 集群

  1. 启动 Command Palette(按 Ctrl/Cmd+Shift+P 或点击 查看 >Command Palette),然后运行 Cloud Code: Control minikube 命令。
  2. Choose a Minikube cluster (profile) to control(选择要控制的 Minikube 集群(配置文件))选项之后 点击 minikube,然后点击停止暂停

从其他云服务提供商创建并添加集群

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

使用其他本地集群

除了 minikube,您可以 如果您使用的是 Docker Desktop(适用于 MacWindows)。

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

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

kubectl config use-context docker-for-desktop

后续步骤

获取支持

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