快速入门:使用 Cloud Code 运行 Kubernetes 应用

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

在本快速入门中,您将使用“Hello World”入门模板设置新的 Kubernetes 应用、创建集群、在该集群上运行应用、快速启动持续重建以迭代开发应用、调试正在运行的代码,然后坐等查看来自运行中应用的日志流。

使用 Cloud Code 创建新的 Hello World 应用

准备工作

如果您想使用 Google Cloud,则需要创建 Google Cloud 项目并启用结算功能

或者,您可以使用托管在任何其他云平台上的集群或通过 MinikubeDocker Desktop 等工具托管的本地 Kubernetes 集群。

安装插件

如需安装 Cloud Code 插件,请执行以下操作:

  1. 安装 JetBrains IDE 2019.3 或更高版本(如 IntelliJ Ultimate 版/Community 版PyCharm Professional 版/Community 版WebStormGoLand)(如果您尚未安装)。
  2. 对于所有云平台,请确保将 Docker 客户端(已向 Docker 镜像仓库进行身份验证)安装在机器的 PATH 中(该客户端对应的文件夹应显示在 PATH 中的某一目录下)。如需检查是否已安装 Docker,请运行 docker -v

    Cloud Code 将自动安装其他必要的依赖项。

  3. 打开 IntelliJ IDEA(或任何受支持的 JetBrains IDE)。

  4. 从插件市场(File > Settings > Plugins;对于 Mac OS X,则为 IntelliJ IDEA > Preferences > Plugins)搜索并安装“Cloud Code”插件。

    系统可能会提示您重启 IDE 以激活该插件。

创建集群

在创建应用之前,您需要一个关联的 Kubernetes 集群(使用 Minikube 托管的本地集群,或 Google Kubernetes Engine 集群等使用云平台托管的集群)。如果您还没有可用于本快速入门的集群,请创建一个。

如果您选择使用 Google Cloud,则可以按照以下步骤创建 GKE 集群:

  1. 从终端或 Cloud Console 在 GKE 上创建新集群。

    • 如需使用终端(可在 IDE 中通过底部任务栏访问)创建集群,请运行以下命令:

       gcloud container clusters create [CLUSTER_NAME] --zone [COMPUTE_ZONE]
      
    • 如需使用 Cloud Console 创建集群,请访问 Google Kubernetes Engine 菜单并点击创建集群

      访问 Google Kubernetes Engine 菜单

      如需详细了解字段自定义,请参阅 GKE 指南

  2. 创建集群后,您需要将其添加到本地 kubeconfig 文件中。 为此,请运行以下命令:

     gcloud container clusters get-credentials [CLUSTER_NAME]
    

    此操作还会将指定的集群设置为活跃上下文。

创建应用

如需使用现有示例创建新应用,请执行以下操作:

  1. 在 IDE 中,依次打开 FileNew Project,然后选择 Cloud Code: Kubernetes
  2. 从入门应用列表中选择“Hello World”模板。 可用模板列表:Python、Go、NodeJS、Java Hello World 和 Guestbook 应用
  3. 如果您使用的是 IntelliJ IDEA,系统将提示您指定容器映像的存储位置。

    在此字段中指定默认映像存储区,格式为 gcr.io/{gcp-project-name} 或 docker.io/{account}

    根据您选择的容器注册表,选择适当的格式:

    • 如果您使用的是 GKE,则可以将映像存储在 Google Container Repository 中。

      此外,该字段还配备了自动补全功能,可让您轻松找到与首选 Google Cloud 项目和当前活跃集群关联的映像。请使用以下格式:

      gcr.io/{project-name},其中 {project-name} 是集群所属 GCP 项目的名称。

    • 如果您选择将映像存储在 Docker Hub 中(如果您使用的是私有 Docker Hub 代码库,请确保已正确进行身份验证),请使用以下格式:

      docker.io/{account},其中 {account} 是您的 Docker Hub 帐号的名称。

    • 如果您在本地集群(如 Minikube 或 Docker Desktop)上运行,则可以跳过此步骤并点击“Next”。

  4. 为您的项目选择一个名称。

    点击 Finish 后,Cloud Code 将克隆您选择的模板,并打开您新建的项目以供使用。

    • 对于 Java 模板,系统会提示您导入 Maven 项目以同步 pom.xml。点击“Add as Maven project”。

      非托管式 pom.xml 通知

      此外,您还可以通过点击“Import Changes”导入必要的 Maven 项目。

      导入 Maven 更改通知

开发应用

如需开始在 Kubernetes 上开发应用,请执行以下操作:

  1. 如果您在托管在云平台上的集群上运行,请确保您已为 Develop on Kubernetes 定义容器映像的存储位置
  2. 从“Run/Debug configurations”对话框的顶部任务栏中选择 Develop on Kubernetes 运行目标。

    这样可以确保系统会自动构建所有代码更改,并将这些更改推送和部署到应用的新版本。

    Kubernetes 部署运行配置

    如需在 Kubernetes 集群上启动开发周期,请点击“Develop on Kubernetes”的运行操作 运行操作图标

  3. 输出窗口中,查看传入的应用日志。

    部署开始后,您将看到已部署应用的转发端口列表。

    查看从 Kubernetes 应用流式传输的日志

  4. 部署成功后,系统将向您发出通知,提示现在可通过本地网址访问您的服务。点击“View”可打开事件日志。

    现在,可通过“事件日志”中通知里所述的网址来访问运行中的应用

    Event Log 中,点击链接以打开浏览器,其中包含您的运行中应用。

    使用事件日志查找通过端口转发的服务

调试应用

如需调试您的应用,请执行以下操作:

  1. 如果您在托管在云平台上的集群上运行,请确保您已为 Develop on Kubernetes 定义容器映像的存储位置
  2. 点击 Develop on Kubernetes 对应的调试操作 运行操作图标,在 Kubernetes 集群上以调试模式启动开发周期。

    在调试模式下启动 Kubernetes 集群开发周期

  3. Cloud Code 将连接一个调试会话。成功连接后,系统会打开调试工具窗口,并确认连接(在“Console”标签页中)。

    您现在可以针对活跃 Kubernetes 集群进行调试。

  4. 点击要向其中添加断点的可执行代码行的间距部分。

    红色实心圆表示活跃断点,而红色轮廓的空心圆表示已停用的断点。

  5. 当您向应用发送新请求时,应用将在该所需行处暂停。

    Kubernetes 调试器会话

  6. 如需结束调试会话,请点击 Develop on Kubernetes 运行配置上的停止图标。

运行应用

如需在 Kubernetes 上运行应用,请执行以下操作:

  1. 确保您已为 Run on Kubernetes 定义容器映像的存储位置
  2. 现在,您的应用已准备好进行部署,接下来,请从“Run/Debug configurations”对话框的顶部任务栏中选择 Run on Kubernetes 来部署应用。

    Kubernetes 部署运行配置

  3. 点击“Run on Kubernetes”运行操作图标

  4. 与在 Kubernetes 上进行开发一样,您可以在输出窗口中查看传入的应用日志。

  5. 部署成功后,系统将向您发出通知,提示现在可通过本地网址访问您的服务。点击“View”可打开事件日志。

    Event Log 中,找到提供您的应用的端口。点击该链接以打开浏览器,其中包含您的运行中应用。

  6. 通过 http://localhost:{port-number} 访问新部署的应用!

    http://localhost:{port-number} 上显示“Hello World!”的应用

查看日志

在开发和运行应用时,您可以在终端输出中看到来自正在运行的 pod 的实时日志流,但您也可以导航到 Kubernetes Explorer 来查看来自特定 pod 的日志。

如需查看来自特定 pod 的日志,请按以下步骤操作:

  1. 导航到 Kubernetes Explorer。您可以通过右侧的侧边面板或使用 Tools > Cloud Code > Kubernetes > View Cluster Explorer 访问该工具。

    使用右侧任务栏上的标签页打开 Kubernetes Explorer 面板

  2. 选择要查看其日志的 pod。

  3. 右键点击该 pod,然后选择 Stream Logs。或者,您也可以流式传输在 pod 中运行的各个容器的日志。

    这会将日志输出到 Kubernetes Explorer Console。

    使用某一 pod 的右键菜单流式传输其日志,以将日志输出到 Kubernetes Explorer Console

清理

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

如果您使用的是 Google Cloud 并希望删除项目(以及关联的资源,包括所有 GKE 集群),请执行以下操作:

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

    转到“项目”页面

  • 选择您为本快速入门创建的项目,然后点击旁边的垃圾桶图标将其删除。

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

后续步骤

获取支持

如需发送反馈,请在 GitHub 上报告问题,或者在 Stack Overflow 上提问。