使用 Cloud Code for VS Code 部署 Kubernetes 应用

本页面介绍如何快速开始使用 Cloud Code。

您将使用“Hello World”示例应用设置新的 Kubernetes 应用,创建集群,在此集群上运行您的应用,调试正在运行的代码,查看来自运行中应用的日志,并将终端连接到正在运行的容器。

准备工作

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Google Kubernetes Engine API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Google Kubernetes Engine API.

    Enable the API

  8. 安装 Git。 将示例复制到您的计算机需要使用 Git。
  9. 安装 Cloud Code 插件(如果尚未安装)。

创建应用

  1. 打开命令面板(按 Ctrl/Cmd+Shift+P 或点击视图 > 命令面板),然后运行 Cloud Code: New Application

  2. 选择 Kubernetes Application(Kubernetes 应用)。

  3. 以您偏好的语言选择 Hello World 应用。

    例如,选择 Node.js: Hello World 可创建 Node.js Hello World 入门应用。

  4. 保存新应用。

    系统会显示一条通知以确认您的应用已创建,然后打开一个包含您的应用的新窗口。

创建 GKE 集群

如需创建标准 Google Kubernetes Engine (GKE) 集群,请按以下步骤操作:

  1. 点击 Cloud Code,然后展开 Kubernetes 部分。

  2. 点击 add 将集群添加到 KubeConfig,然后点击快速选择菜单中的 Google Kubernetes Engine

  3. 当系统提示您启用 container.googleapis.com 时,选择

  4. 点击 + 创建新的 GKE 集群

  5. 选择标准作为集群类型。

  6. 点击打开,以允许 Cloud Code 打开 Google Cloud 控制台。

  7. 在 Google Cloud 控制台中,使用您创建的项目,将区域设置为 us-central1-a,并将集群名称设置为 my-first-cluster

  8. 点击创建。集群创建需要几分钟时间。

  9. 创建集群后,在快速选择菜单中,点击刷新 刷新

  10. 新集群的名称显示在列表中后,点击集群名称。您的新集群将添加到配置中,并配置为活跃上下文。

运行和查看应用

现在,您已完成所有设置,可以运行应用并实时查看应用了。Cloud Code 会监控您的文件系统是否有更改,以便您可以近乎实时地修改并重新运行应用。

如需运行您的应用,请按以下步骤操作:

  1. 在 Cloud Code 状态栏中,点击活跃项目名称。

    状态栏中显示有效项目名称

  2. 在随即显示的“快捷选择”菜单中,选择 Run on Kubernetes(在 Kubernetes 上运行)。

  3. 确认是使用当前集群上下文,还是切换到其他集群上下文。

  4. 如果出现提示,请选择要将映像推送到的映像注册表。如果您使用 gcr.io/PROJECT_ID 创建新的映像注册表,请确保该映像注册表与您的集群位于同一项目中。

    系统会显示一个输出窗口,您可以在其中跟踪正在运行的应用的进度。您还会在终端输出中看到来自正在运行的 pod 的实时日志流。

  5. 应用在 Kubernetes 上运行后,输出窗口会显示 IP 地址。如需使用此关联 IP 地址访问您的应用,请按 Ctrl/Cmd,然后点击该地址。

问题排查提示

如果您使用的是现有集群,如需将集群设置为活跃状态并获取集群凭据,请按以下步骤操作:

  1. 点击 Cloud Code,然后展开 Kubernetes 部分。

  2. 右键点击集群名称,然后点击设置为活跃集群

调试应用

如需调试您的应用,请按以下步骤操作:

  1. 在 Cloud Code 状态栏中,点击活跃项目名称。

    状态栏中显示有效项目名称

  2. 在随即显示的“快捷选择”菜单中,选择在 Kubernetes 上调试

  3. 如果出现提示,请对您的凭据进行身份验证,以在本地运行和调试应用

  4. 如果系统提示,请确认是使用当前集群上下文,还是切换到首选集群上下文。

    Cloud Code 使用 .vscode/launch.json 文件中的 cloudcode.kubernetes 配置运行您的应用,并将调试程序会话连接到该应用。

    Cloud Code 会构建您的容器,将其推送到注册表,将 Kubernetes 配置应用于集群,并返回可用于浏览运行中应用的 IP 地址。

  5. 在连接调试程序会话之前,系统会提示您确认或输入您要调试的程序所在的远程容器目录(或按 Esc 键跳过对容器的调试)。

  6. 如需向第 9 行添加断点,请打开 src/app.js,然后点击编辑器边距。

    红色实心圆表示活跃断点,而灰色空心圆表示已停用的断点。 如需更精确地控制断点,您可以使用 VS Code 的“Debug”视图中的“Breakpoints”部分。

    “Debug”视图左侧面板中的“Breakpoints”部分,支持添加、移除和停用断点

    当您向应用发送新请求时,调试程序会在第一个活跃断点处暂停。

    在以下示例中,在 Variables 部分的 Local 下,请注意 Hello, world!res._contentLength; 值为 13。

    应用已在断点处暂停,并且变量和调用堆栈部分已填充相应范围内的值

  7. 修改以内嵌方式 #8 发送到 Hello, goodbye! 的字符串,然后重启 Debug on Kubernetes 操作。

    重新构建和重新部署应用后,请注意 res._contentLength 的更新值。

    应用在断点处暂停并且值已更新

调试会话启动后,开发会话窗格会显示结构化日志记录视图。随着任务开始时,任务将显示一个旋转的半圆形 progress_activity

如果任务成功,该步骤旁边会显示一个对勾标记 check_circle

如需查看某个步骤的详细信息,请在 Development session(开发会话)窗格中点击该步骤。“输出”窗格会在日志记录输出中显示该步骤。

在容器中打开终端

如需在容器中打开终端,请按以下说明操作:

  1. 点击 Cloud Code,然后展开 Kubernetes 部分。

  2. 展开即可下部分:

    • 您的首选集群部分
    • 命名空间部分,然后首选命名空间的部分
    • Pod 部分,然后是首选 Pod 的部分
    • 容器部分

      Cloud Code Pod

  3. 右键点击您要在其中打开终端的容器,然后点击获取终端

    这将启动一个终端。现在,您可以访问正在运行的容器内的 shell。

清理

停止应用后,系统会自动删除在运行期间部署的所有 Kubernetes 资源。

为避免系统因本快速入门中使用的其他资源向您的帐号收取费用,如果您想重复使用该项目,请务必删除该项目或删除您创建的集群。

如需删除集群,请执行以下操作:

  1. 点击 Cloud Code,然后展开 Kubernetes 资源管理器。
  2. 将指针悬停在集群名称上,然后点击 open_in_new 在 Google Cloud 控制台中打开
  3. 点击删除,然后再次点击删除进行确认。

如需删除项目(以及关联的资源,包括所有集群),请执行以下操作:

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

后续步骤