1. 目标
在本实验中,您将执行以下操作:
- 探索 Cloud Code 插件
- 部署到 Kubernetes 集群
- 流式传输 Kubernetes 日志
- 利用更改的热重载
- 调试实时 Kubernetes 应用
2. 准备工作区
克隆应用
如需克隆代码库并在开发环境中打开,请执行以下操作:
- 访问以下网址,打开 Cloud Shell 编辑器
https://ide.cloud.google.com
- 在终端窗口中,使用以下命令克隆应用源代码:
git clone https://github.com/viglesiasce/sample-app.git -b golden-path
- 切换到该目录,并将 IDE 工作区设置为代码库根目录
cd sample-app && cloudshell workspace .
启动 Minikube
在本部分中,您将使用名为 Minikube 的本地版 Kubernetes 构建、测试、部署和访问应用。
- 在终端中,运行以下命令来启动 minikube:
minikube start
Minikube 会在 Cloud Shell 中设置本地 Kubernetes 集群,此设置需要几分钟时间。在启动期间,请花点时间查看下一步中 Cloud Code 提供的各种界面。
3. 探索 Cloud Code 插件
Cloud Code 可为 Kubernetes 和 Cloud Run 应用的整个开发周期(从基于现有模板创建应用到监控已部署应用的资源)提供 IDE 支持。您将使用 Cloud Code 提供的不同命令和视图。在此步骤中,您将熟悉基本界面。
通过活动栏查看资源管理器视图
用户可以通过活动栏访问多个界面面板。如需简要了解各种视图,请点击每个视图的图标
API Explorer:
- 点击活动栏中的“Cloud Code - Cloud API”图标 Cloud Code 。如需详细了解如何在此视图中操作,请参阅文档。

Secret Manager Explorer:
- 点击活动栏中的 Secret Manager 视图 。如需详细了解如何在此视图中工作,请参阅文档

Cloud Run Explorer:
- 使用左侧活动栏中的 Cloud Run 图标导航到 Cloud Run Explorer。如需详细了解如何在此视图中操作,请参阅文档。

Kubernetes 探索器:
- 使用左侧活动栏中的图标导航到 Kubernetes Explorer 。如需详细了解如何在此视图中操作,请参阅文档。

查看状态栏命令
您可以通过状态栏中的指示器快速访问常用命令。
- 在状态栏中找到 Cloud Code 扩展程序指示器
,然后点击它。 - 查看可用于在 Cloud Run 和 Kubernetes 上运行和调试的各种命令
- 点击“打开欢迎页面”可查看更多详细信息和示例活动
查看命令面板命令
您还可以通过命令面板使用其他命令。查看您可以访问的命令列表。
- 打开 Command Palette(按 Ctrl/Cmd+Shift+P),然后输入 Cloud Code 以过滤可用的命令。
- 使用箭头键在命令列表中循环浏览。
4. 部署到 Kubernetes 集群
在本部分中,您将构建、测试、部署和访问应用。
以下步骤会启动源代码的 build,然后运行测试。构建和测试需要几分钟才能运行。这些测试包括单元测试和验证步骤,用于检查为部署环境设置的规则。此验证步骤已配置完毕,可确保您仍在开发环境中工作时收到有关部署问题的警告。
- 在 Cloud Shell Editor 底部的窗格中,选择 Cloud Code 
。 - 在顶部显示的面板中,选择“在 Kubernetes 上运行”。如果系统提示您,请选择“是”以使用 minikube Kubernetes 上下文。
- 选择下部窗格中的“输出”标签页
,查看进度和通知 - 在右侧的渠道下拉菜单中选择“Kubernetes:运行/调试 - 详细”,以查看其他详细信息和从容器实时传输的日志

构建和测试完成后,“输出”标签页将显示 Resource deployment/sample-app-dev status completed successfully,并列出两个网址。
- 在 Cloud Code 终端中,将光标悬停在输出中的第一个网址 (http://localhost:8080) 上,然后在显示的工具提示中选择“打开网页预览”。
应用的本地版本会在浏览器中打开。此版本的应用正在 minikube 的 Kubernetes 集群中运行。
- 在浏览器中,刷新页面。“计数器”旁边的数字会增加,表示应用正在响应您的刷新。
在浏览器中,让此页面保持打开状态,以便在本地环境中进行任何更改时查看该应用。
5. 利用更改的热重载
在本部分中,您将对应用进行更改,并在应用在本地 Kubernetes 集群中运行时查看更改。在“Kubernetes:运行/调试”渠道的输出标签页中,除了应用网址之外,输出结果还会显示 Watching for changes.,这意味着已启用观察模式。当 Cloud Code 处于观察模式时,Cloud Code 会检测代码库中所有已保存的更改,并自动重建应用并重新部署包含最新更改的应用。
- 在 Cloud Shell 编辑器中,前往 main.go 文件。
- 在此 main.go 文件中,将第 23 行的颜色从绿色更改为蓝色。
- 保存文件。
Cloud Code 会检测到对应用的更改已保存,并自动重新部署更改。“输出”标签页会显示“已开始更新”。此重新部署需要几分钟时间才能完成。
这种自动重建类似于热代码重载,后者是某些应用类型和框架提供的一项功能。
- 构建完成后,转到已打开应用的浏览器,然后刷新页面。
刷新后,表格顶部的颜色会从蓝色变为绿色。
此设置允许您使用任何组件自动重新加载任何架构。当您使用 Cloud Code 和 minikube 时,在 Kubernetes 中运行的任何内容都具有此热代码重新加载功能。
6. 调试实时 Kubernetes 应用
您已运行应用、进行更改并查看正在运行的应用。在本部分中,您将调试应用,以确保应用可以提交回主代码库。
在此调试示例中,我们将重点介绍页面计数器的代码部分。
- 在 Cloud Shell Editor 中,打开文件 main.go
- 点击第 82 行(if err != nil {)左侧的数字,在应用中设置断点
- 在 Cloud Shell 编辑器底部的蓝色窗格中,选择 Cloud Code
。 - 在顶部显示的面板中,选择“在 Kubernetes 上调试”。
Cloud Code 会运行并附加调试器,以便您能够访问应用的内存中状态,而不仅仅是面向用户的应用行为。
- 在部署过程结束时,窗口顶部会显示一个提示,要求您确认应用部署到的容器中的目录。

验证该值是否已设置为 /go/src/app,然后按 Enter 键接受该值
- 等待调试器完成部署。当状态栏变为橙色且输出报告
"Attached debugger to container "sample-app-dev-..." successfully时,表示已完成。” - 在 Cloud Code 终端中,将光标悬停在输出中的第一个网址 (http://localhost:8081) 上,然后在显示的工具提示中选择“打开网页预览”。网页无法完成加载,这是预期行为。
- 切换回 IDE,此时调试器会显示在其中。标签页中会显示代码,您会看到调用堆栈以及代码该部分中可用的变量。您可以展开“变量 - 本地”,在此处查看当前计数器变量值。
- 如需允许网页继续加载,请选择调试窗口中的“继续”图标

- 调试完成后,点击停止按钮以终止每个正在运行的线程。
