使用 Cloud Code for VS Code 部署 Kubernetes 应用
本页面介绍如何快速开始使用 Cloud Code。
您将使用“Hello World”示例应用设置新的 Kubernetes 应用、创建集群、在此集群上运行应用、调试正在运行的代码、查看来自运行中应用的日志,并将终端连接到正在运行的容器。
准备工作
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
- 
    
    
      In the Google Cloud console, on the project selector page, select or create a Google Cloud project. Roles required to select or create a project - Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
- 
      Create a project: To create a project, you need the Project Creator
      (roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
 
- 
  
    Verify that billing is enabled for your Google Cloud project. 
- 
  
  
    
      Enable the Google Kubernetes Engine API. Roles required to enable APIs To enable APIs, you need the Service Usage Admin IAM role ( roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
- 
    
    
      In the Google Cloud console, on the project selector page, select or create a Google Cloud project. Roles required to select or create a project - Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
- 
      Create a project: To create a project, you need the Project Creator
      (roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
 
- 
  
    Verify that billing is enabled for your Google Cloud project. 
- 
  
  
    
      Enable the Google Kubernetes Engine API. Roles required to enable APIs To enable APIs, you need the Service Usage Admin IAM role ( roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
- 安装 Git。 将示例复制到您的计算机需要使用 Git。
- 如果您尚未安装 Cloud Code 插件,请安装该插件。
创建应用
- 打开命令面板(按 - Ctrl/- Cmd+- Shift+- P,或点击 View [视图] > Command Palette [命令面板]),然后运行 Cloud Code: New Application。
- 选择 Kubernetes 应用。 
- 以您偏好的语言选择 Hello World 应用。 - 例如,选择 - Node.js: Hello World可创建 Node.js Hello World 入门应用。
- 保存新应用。 - 系统会显示一条通知以确认您的应用已创建,然后打开一个包含您的应用的新窗口。 
创建 GKE 集群
如需创建标准 Google Kubernetes Engine (GKE) 集群,请按以下步骤操作:
- 点击 - Cloud Code,然后展开 Kubernetes 部分。 
- 点击添加 Add a Cluster to the KubeConfig(将集群添加到 KubeConfig),然后点击快速选择菜单中的 Google Kubernetes Engine。 
- 当系统提示启用 - container.googleapis.com时,选择是。
- 点击 + 创建新的 GKE 集群。 
- 选择标准作为集群类型。 
- 点击打开以允许 Cloud Code 打开Google Cloud 控制台。 
- 在 Google Cloud 控制台中,使用您创建的项目,将可用区设置为 - us-central1-a,并将集群名称设置为- my-first-cluster。
- 点击创建。集群创建过程需要几分钟时间才能完成。 
- 创建集群后,在快速选择菜单中,依次点击刷新图标和刷新。 
- 新集群的名称显示在列表中后,点击集群名称。您的新集群将添加到配置中,并配置为活跃上下文。 
运行并查看应用
现在,您已完成所有设置,可以运行应用并实时查看应用了。Cloud Code 还会监控您的文件系统是否有更改,以便您可以近乎实时地修改并重新运行应用。
如需运行您的应用,请按以下步骤操作:
- 在 Cloud Code 状态栏中,点击有效项目名称。  
- 在显示的“快速选择”菜单中,选择在 Kubernetes 上运行。 
- 确认是使用当前集群上下文,还是切换到其他集群上下文。 
- 如果系统提示,请选择要将映像推送到其中的映像注册表。如果您要使用 - gcr.io/PROJECT_ID创建新的映像注册表,请确保该映像注册表与您的集群位于同一项目中。- 系统会显示一个输出窗口,您可以在其中跟踪正在运行的应用的进度。您还会在终端输出中看到来自正在运行的 pod 的实时日志流。 
- 应用在 Kubernetes 上运行后,输出窗口会显示 IP 地址。如需使用此关联 IP 地址访问您的应用,请按 - Ctrl/- Cmd,然后点击该地址。
问题排查提示
如果您使用的是现有集群,又想要将集群设置为活跃集群并获取集群凭据,请按照以下步骤操作:
- 点击 - Cloud Code,然后展开 Kubernetes 部分。 
- 右键点击您的集群名称,然后点击设置为活跃集群。 
调试应用
如需调试您的应用,请按以下步骤操作:
- 在 Cloud Code 状态栏中,点击有效项目名称。  
- 在显示的“快速选择”菜单中,选择 在 Kubernetes 上调试。 
- 如果系统提示,请验证您的凭据,以便在本地运行和调试应用。 
- 如果系统提示,请确认是使用当前集群上下文,还是切换到首选集群上下文。 - Cloud Code 使用 - .vscode/launch.json文件中的- cloudcode.kubernetes配置运行您的应用,并将调试程序会话连接到该应用。- Cloud Code 会构建您的容器,将其推送到注册表,将 Kubernetes 配置应用于集群,并返回可用于浏览运行中应用的 IP 地址。 
- 在连接调试程序会话之前,系统会提示您确认或输入您要调试的程序所在的远程容器目录(或按 Esc 键跳过对容器的调试)。 
- 如需向第 9 行添加断点,请打开 - src/app.js,然后点击编辑器边距。- 红色实心圆表示活跃断点,而灰色空心圆表示已停用的断点。 如需更精确地控制断点,您可以使用 VS Code 的“Debug”视图中的“Breakpoints”部分。   - 当您向应用发送新请求时,调试程序会在第一个活跃断点处暂停。 - 在以下示例中,在变量部分的局部下,请注意 - Hello, world!的- res._contentLength;值为 13。 
- 将第 8 行中发送的字符串修改为 - Hello, goodbye!,然后重启在 Kubernetes 上调试 (Debug on Kubernetes) 操作。- 重新构建和重新部署应用后,请注意 - res._contentLength的更新值。 
调试会话开始后,开发会话窗格会显示结构化日志记录视图。任务开始后,系统会显示该任务,并显示一个旋转的半圆圈 progress_activity。
如果一项任务成功,对应步骤旁边会显示一个对勾标记 check_circle。
如需查看某个步骤的详细信息,请在开发会话窗格中点击该步骤。“输出”窗格会在日志记录输出中显示该步骤。
在容器中打开终端
如需在容器中打开终端,请按以下说明操作:
- 点击 - Cloud Code,然后展开 Kubernetes 部分。 
- 展开即可下部分: - 首选集群部分
- 命名空间部分,然后是您首选的命名空间部分
- Pod 部分,然后是您首选的 pod 部分
- 容器部分  
 
- 右键点击您要在其中打开终端的容器,然后点击获取终端。 - 这会启动一个终端。您现在可以访问正在运行的容器内的 shell。 
清理
停止应用后,系统会自动删除在运行期间部署的所有 Kubernetes 资源。
为避免系统因本快速入门中使用的其他资源向您的账号收取费用,请务必删除您创建的项目;如果您想重复使用该项目,请删除您创建的集群。
如需删除集群,请执行以下操作:
- 点击 Cloud Code,然后展开 Kubernetes 探索器。 
- 将指针悬停在集群名称上,然后点击 open_in_new 在 Google Cloud 控制台中打开。
- 点击删除,然后再次点击删除进行确认。
如需删除项目(以及关联的资源,包括所有集群),请执行以下操作:
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
后续步骤
- 考虑将现有应用导入 VS Code 并开始设置 Cloud Code。
- 利用 Cloud Code 的 YAML 修改支持实现更高级的 Google Cloud 和 Kubernetes 配置。
- 了解 Cloud Code 提供的特定语言的调试支持。
- 利用文件同步和热重载加快开发速度。
- 创建和配置 GKE 集群
- 配置专用集群
- 通过配置相关设置来自定义您的 Cloud Code 体验。
- 将应用部署到 ARM64、AMD64 或混合架构 GKE 集群。