Cloud Code 会自动安装和管理 minikube。如果您选择停用依赖项管理,请将 minikube 二进制文件添加到 PATH
。
准备工作
- 安装 Git,以便 Cloud Code 可以执行 Git 操作,例如克隆示例。
- 如果您尚未安装 Cloud Code 插件,请先安装该插件。
通过模板创建应用
Cloud Code 随附了一系列代码示例模板,可帮助您快速上手。如需使用现有示例创建 Kubernetes 应用,请按以下步骤操作:
- 启动 Command Palette(按
Ctrl
/Cmd
+Shift
+P
或点击 View > Command Palette),然后运行 Cloud Code: New Application。 - 选择 Kubernetes 应用作为示例类型。
- 根据您要使用的语言,从可用选项中选择示例:NodeJS、Go、Python、Java。
在本地机器上选择首选应用位置,然后点击新建应用以保存。
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.json
:Visual 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.yaml
:Skaffold 的配置文件,由 Cloud Code 用来构建、部署和调试 Kubernetes 应用
使用您自己的应用
如需了解使用现有项目的步骤,请参阅将 Cloud Code 与现有 Kubernetes 应用搭配使用。
设置 Kubernetes 上下文
在运行应用之前,请确保您已准备好将应用部署到首选 Kubernetes 上下文。您可以在配置中指定此信息。
配置
使用 Cloud Code:在 Kubernetes 上开发运行配置时,您可以通过配置可用设置来自定义部署。
如需添加或修改配置,请依次选择 Run > Open Configurations,然后修改或添加配置。创建并部署到 minikube 集群
启动 minikube 集群
Cloud Code 会自动安装和管理 minikube。如果您选择停用依赖项管理,请将 minikube 二进制文件添加到 PATH
。
- 启动 Command Palette(按
Ctrl
/Cmd
+Shift
+P
或点击 View > Command Palette),然后运行 Cloud Code: Control minikube 命令。 - 针对选择要控制的 Minikube 集群(配置文件),点击 minikube,然后点击 Start。
在 minikube 上运行
- 启动 Command Palette 并运行 Cloud Code: Run on Kubernetes。
- 针对使用当前上下文 (minikube) 运行应用?,点击是
Cloud Code 会在 minikube 集群中运行您的应用。如果系统提示,请授权 Cloud Shell 使用您的凭据进行Google Cloud API 调用。
在 Cloud Code 的开发会话部分查看部署详情。
点击 Development sessions(开发会话)部分中的 Portfoward 网址s(转发网址)以查看网址,然后点击网址链接以打开浏览器,其中包含您的运行中应用。
打开容器的交互式终端
- 点击
Cloud Code,然后展开 Development Sessions 探索器。
- 展开已部署的资源,然后展开 Pod。
- 右键点击容器,然后点击获取终端。
暂停或停止 minikube 集群
- 启动 Command Palette(按
Ctrl
/Cmd
+Shift
+P
或点击 View > Command Palette),然后运行 Cloud Code: Control minikube 命令。 - 在选择要控制的 Minikube 集群(配置文件)选项填充后,点击 minikube,然后点击停止或暂停。
通过其他云服务提供商创建和添加集群
如果您使用的是本地集群或来自其他提供商(如 Azure 或 AWS)的集群,请使用提供商的工具创建集群并将其添加到 KubeConfig。
使用其他本地集群
如果您使用的是 Docker Desktop(适用于 Mac 或 Windows),则除了 minikube 之外,还可以使用 Cloud Code。
如需使用 Cloud Code 处理本地集群,请确保您的默认配置(例如 ~/.kube/config
)包含您的本地集群。必须将此集群设置为当前上下文。
例如,如果您将本地集群 docker-for-desktop
与 Docker Desktop 配合使用,请使用以下命令设置首选集群:
kubectl config use-context docker-for-desktop
后续步骤
- 使用文件同步和热重载加快开发速度。
- 在 Cloud Code 中调试应用