使用远程开发运行 Kubernetes 应用

本页面介绍了如何借助 Cloud Shell 中的远程开发环境快速开始使用 Cloud Code for VS Code。

在本快速入门中,您将创建集群、在此集群上运行 Kubernetes 应用、调试正在运行的代码、查看来自运行中应用的日志,以及将终端连接到正在运行的容器,但无需设置项目(只需点击一下按钮,即可将项目克隆到远程开发工作区)。

如果您在 Apple M 系列芯片上运行本快速入门,系统会提示您使用 Cloud Build 构建应用,这可能会产生费用。如需了解详情,请参阅针对 Apple M 系列芯片的 Cloud Code 支持

准备工作

如需设置支持资源并访问 Cloud Shell(您在本快速入门中使用的 Google Cloud 远程开发环境,位于 VS Code 中),请完成以下步骤:

  1. 登录您的 Google Cloud 帐号。如果您是 Google Cloud 新手,请创建一个帐号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
  2. 在 Google Cloud Console 的项目选择器页面上,选择或创建一个 Google Cloud 项目。

    转到“项目选择器”

  3. 确保您的 Cloud 项目已启用结算功能。 了解如何确认您的项目是否已启用结算功能

  4. 在 Google Cloud Console 的项目选择器页面上,选择或创建一个 Google Cloud 项目。

    转到“项目选择器”

  5. 确保您的 Cloud 项目已启用结算功能。 了解如何确认您的项目是否已启用结算功能

  6. 在您的机器上安装 Visual Studio Code(如果尚未安装)。
  7. 安装 Remote - SSH Visual Studio Code 扩展程序。
  8. 安装 Git。 将示例复制到您的计算机需要使用 Git。

启动 Cloud Code

当您在 Cloud Shell 中打开连接到远程开发环境的 Visual Studio Code 时,该环境具有开发 Kubernetes 应用所需的所有工具。

  1. 要开始在远程开发工作区中工作,请为克隆项目选择首选语言,然后点击使用 Cloud Code 打开按钮:

    VS Code 会启动项目并将其克隆到远程开发工作区中。

  2. 如果您尚未设置必备项,系统会提示您进行安装。

创建 GKE 集群

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

  1. 如需打开 Kubernetes Explorer,请点击 Kubernetes Explorer 图标 Cloud Code - Kubernetes
  2. 在 Kubernetes Explorer 窗格的标头中,点击 + Add a Cluster to KubeConfig
  3. 选择 Google Kubernetes Engine,然后点击 + 创建新的 GKE 集群 (+ Create a new GKE Cluster)。
  4. 选择标准作为集群类型。
  5. 点击打开以允许 Cloud Code 打开 Cloud Console。
  6. 在 Cloud Console 中,使用您创建的项目,将可用区设置为 us-central1-a,并将集群名称设置为 my-first-cluster
  7. 点击创建。集群创建需要几分钟时间才能完成。
  8. 创建集群后,在 Kubernetes Explorer 中,点击 刷新 Kubernetes 集群视图 刷新
  9. 新集群的名称显示在列表中后,点击集群名称。您的新集群将添加到配置中,并配置为活跃上下文。

运行和查看应用

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

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

  1. 使用 Cloud Code 状态栏并选择 Run on Kubernetes
  2. 确认是使用当前集群上下文,还是切换到其他集群上下文。
  3. 如果系统提示,请选择要将映像推送到其中的映像注册表。

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

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

问题排查提示

如果您使用的是现有集群,又想要将集群设置为活跃集群,并使用 Kubernetes Explorer 获取集群凭据,请按照以下步骤操作:

  1. 如需打开 Kubernetes Explorer,请点击左侧的 VS Code 活动栏中点击 Cloud Code - Kubernetes Kubernetes Explorer 图标 图标。
  2. 在 Kubernetes Explorer 中,右键点击您的集群名称,然后点击设置为活动集群

调试应用

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

  1. 使用 Cloud Code 状态栏,然后选择在 Kubernetes 上调试 (Debug on Kubernetes)。
  2. 如果系统提示,请确认是使用当前集群上下文,还是切换到首选集群上下文。

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

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

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

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

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

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

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

    在以下示例中,在“变量”部分的局部下,请注意 Hello, world!res._contentLength; 值为 13。

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

  5. 将第 8 行中发送的字符串修改为 Hello, goodbye!,然后重启在 Kubernetes 上调试 (Debug on Kubernetes) 操作。

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

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

查看日志

附加操作:在容器中打开终端

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

  1. 如需打开 Kubernetes Explorer,请点击 Kubernetes Explorer 图标 Cloud Code - Kubernetes
  2. 选择集群,然后从底层 Pod 部分中选择要连接的 pod。
  3. 在指定的 Pod 下,展开 Containers 部分。
  4. 右键点击您要在其中打开终端的容器,然后点击获取终端

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

    打开指定 pod 的终端

清理

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

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

如果您使用的是 Google Cloud 且只想删除集群,则可以按照以下步骤操作:

  1. 在 Kubernetes Explorer 中,将鼠标悬停在集群名称上,然后点击 “在 Cloud Console 中打开”图标 在 Cloud Console 中打开 (Open in Cloud Console)。
  2. 点击删除,然后点击删除

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

  1. 转到 Cloud Console 中的“项目”页面:

    转到“项目”页面

  2. 选择您为本快速入门创建的项目,然后点击删除

  3. 输入项目 ID 进行确认,然后点击关停

    这将关闭该项目并安排将其删除。

后续步骤