Cloud Code for IntelliJ Kubernetes 概览

本页面简要介绍了 Cloud Code 中的 Kubernetes 开发。

在 Cloud Code 中使用 Kubernetes Explorer

借助 Kubernetes Explorer,您可以直接从 IDE 访问有关集群、节点、工作负载等的信息。您还可以使用 Kubernetes Explorer 设置当前上下文流式传输和查看日志打开交互式终端,以及查询资源说明

Cloud Code Kubernetes Explorer

Cloud Code 使用默认的 kubeconfig 文件(在 MacOS/Linux 上的 $HOME/.kube 目录下或 Windows 上的 %USERPROFILE%\.kube 中)检索 Kubernetes 资源。您可以在 Kubernetes Explorer 中切换或添加新的 Kubeconfig 文件。Kubeconfig 文件是 YAML 文件,包含用于向集群进行身份验证的 Kubernetes 集群详细信息、证书和密钥令牌。

如需使用除默认 kubeconfig 之外的 kubeconfig 文件,请参阅使用 kubeconfig 文件指南。

访问 Kubernetes Explorer

如需查看和管理 Kubernetes 资源,请使用 Kubernetes Explorer(可从右侧的侧边栏访问)。或者,您也可以通过工具 > Cloud Code > Kubernetes > 查看 Cluster Explorer 来访问该集群。

当您启动开发或调试会话时,开发会话部分会显示结构化日志记录视图。

“开发会话”窗格

基本操作

Kubernetes Explorer 由 kubectl 提供支持。只要您已将 kubectl 配置文件配置为访问集群,就可以使用 Kubernetes Explorer 添加集群,浏览集群的所有可用的命名空间、资源和节点,无论它们处于活跃上下文还是非活跃上下文中。

可用的常规 Kubernetes 操作(可通过 Kubernetes Explorer 中的图标访问)包括:

  • 通过示例图标新建 Kubernetes 应用 根据示例创建新的 Kubernetes 应用
  • 刷新 Explorer 图标 刷新浏览器
  • 打开文档图标 在网络浏览器中打开 Cloud Code Kubernetes 文档

其他常见的 Kubernetes 调试操作(可通过 Kubernetes Explorer 中的图标访问)包括:

  • Run 图标 运行当前的运行/调试配置。
  • “调试”图标 在调试模式下启动运行配置。
  • 调试停止图标 停止正在运行的调试会话。

复制资源名称

您可以将任何 Kubernetes 资源名称(包括容器和集群名称)复制到剪贴板。如需复制资源名称,请右键点击该资源,然后选择复制资源名称

使用右键菜单复制资源名称

刷新资源

Kubernetes Explorer 会监视更改并自动刷新以反映更新。如需强制刷新任何 Kubernetes 资源以提取其最新信息,请右键点击该资源,然后选择刷新

使用右键菜单刷新 Pod

您还可以使用 Kubernetes Explorer 的刷新按钮强制刷新整个 Kubernetes Explorer。Kubernetes Explorer 刷新按钮

描述资源

如需显示任何非集群资源的详细信息,请右键点击该资源,然后选择描述。资源信息显示在 Kubernetes Explorer 控制台面板中。

右键点击 Kubernetes Explorer 中的相应资源并选择“描述”时可用的描述选项

如需查看资源详细信息,您还可以点击任何资源。如果元数据已附加,则可以在 Kubernetes Explorer 的“资源详细信息”面板中找到元数据。

在 Kubernetes Explorer 后半部分的“资源详细信息”(Resource Details) 面板中查看资源元数据

Skaffold 选项

  • Skaffold configuration - 选择 skaffold.yaml 配置文件。如果您的项目具有 skaffold.yaml,系统会自动检测该 ID。
  • Deployment profile - 从 skaffold.yaml 文件中配置的可用选项中选择一个配置文件
  • Environment variables - 用于配置要传递给 Skaffold 部署进程的其他环境变量。您还可以将 Skaffold 标志配置为要在此字段中使用的环境变量。如需查看可用 Skaffold 环境变量的完整列表,请参阅 Skaffold CLI 参考文档
  • Verbosity - 用于设置输出的详尽程度,可选的值为:tracedebuginfowarnerrorfatal。默认的详尽程度为 warn

Kubernetes 选项

  • 部署上下文 - 表示在其中部署应用的 Kubernetes 上下文。如果未指定部署上下文,则默认行为是部署到当前系统上下文(如果存在)。

    如果您不想部署到当前上下文,请在“运行/调试”设置的“部署”部分下选择:

    • 在本地部署到 minikube 集群 - 启动由 Cloud Code 管理的 minikube 集群以运行您的应用,并在部署停止后停止集群。如果 minikube 集群已在运行,则 Cloud Code 会使用现有的 minikube 集群进行部署。
    • 切换上下文并部署到 - 在部署时,将系统上的当前上下文更改为指定上下文。

      在 Cloud Code Kubernetes 配置中选择 Kubernetes 部署环境

  • Delete deployments when finished - 在进程终止时删除 Kubernetes 部署。这是默认行为。或者,您也可以切换此设置以防止部署被删除

自定义发布配置

如需配置应用的运行方式,您可以自定义 skaffold.yaml 文件。

您还可以在运行/调试配置中配置发布。如需修改配置,请依次前往 Run > Edit configuration

查看远程 YAML

直接从 Kubernetes Explorer 查看集群中资源的 YAML。在 Kubernetes Explorer 中导航到某个资源(例如 Pod),右键点击资源名称,然后选择查看远程 YAML

与指定资源对应的 YAML 文件会在新的编辑器标签页中打开。

如需查看 Pod 的 YAML,请在 Kubernetes Explorer 中右键点击其标签,然后选择“查看远程 YAML”

查看日志

您可以将 Kubernetes 资源中的日志流式传输到 Kubernetes Explorer 控制台并进行查看,以监控其进度。

构建应用并以常规模式或开发模式运行后,您将能够在 IDE 中监控从应用流式传输的日志。

查看从 Hello World Java 应用流式传输的日志

您还可以导航到 Kubernetes Explorer 来查看特定服务的日志。

如需选择要查看哪个资源(例如 Pod、Deployment 或服务)的日志,请执行以下操作:

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

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

如需查看部署中资源的状态,请执行以下操作:

  • pod、Deployment 和节点的状态:这些 Kubernetes 资源的标签旁边将带有彩色状态标记;红色代表失败状态,黄色代表启动/终止/警告状态,绿色代表所需的正常状态。

    Pod 标签旁边的绿色对勾标记表示运行状况良好

  • 部署的资源说明:您可以对已部署的资源运行 kubectl describe,以便通过右键点击并选择描述来显示其详细信息。

    右键点击 Kubernetes Explorer 面板中的相应资源并选择“Describe”时显示的描述选项

启动终端

对于 Pod 和容器,您可以通过以下方式打开交互式终端:右键点击相应 Pod 或容器,然后选择获取终端

打开交互式终端

特定于资源的操作

Kubernetes Explorer 会显示集群、命名空间、节点、工作负载(例如 Deployment、副本集、Pod 和容器)、服务和入站流量、配置(例如 Secret 和配置映射)以及存储空间(例如卷)。使用 Kubernetes Explorer,您可以对其中一些资源执行独特的操作。

您可以从侧边栏访问 Kubernetes Explorer,也可以依次前往工具 > Cloud Code > Kubernetes > 查看 Cluster Explorer

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

如需显示已部署资源的详细信息,请右键点击 Kubernetes Explorer 中的资源标签,然后点击描述

在 Kubernetes Explorer 面板中右键点击相应资源并选择“描述”时显示的描述选项

集群

  • 添加 Google Kubernetes Engine 集群:添加现有的 Standard 或 Autopilot GKE 集群,或者点击 Kubernetes Explorer 中的 + 添加 GKE 集群创建新集群。

此时将显示“添加集群”对话框,您可以选择要使用的项目和集群,也可以创建新集群。

完成后,点击确定,并通过 Kubernetes Explorer 访问所选集群及其底层资源。

使用 Kubernetes Explorer 对话框通过项目和集群名称字段添加 GKE 集群

  • 设置为活跃上下文:将指定集群设置为活跃状态,以使配置的 kubectl 上下文默认访问此集群。

    使用 Kubernetes Explorer 将集群设置为当前上下文

Kubernetes Explorer 会自动刷新,并且您将在相应集群旁边看到 Kubernetes 符号。

如果集群配置了多个上下文,您可以选择一个可用上下文以设置为当前上下文。

使用 Kubernetes Explorer 从多个上下文中选择和设置活跃集群

命名空间

  • 设置为当前上下文:将某一命名空间设置为活跃状态,以使配置的 kubectl 上下文默认访问此命名空间。

    使用右键菜单将命名空间设置为当前上下文

如果此操作成功,Kubernetes Explorer 会自动刷新,并且您将在命名空间旁边看到一个星号,表示它属于当前上下文。

请注意,Kubernetes 上下文是一种快捷方式,可让您快速访问集群中的命名空间。上下文通常在您启动 minikube 或 GKE 集群时自动创建。如果您未看到给定命名空间的设置为当前上下文选项,并且想要为其创建上下文,请在终端中使用 kubectl config set-context 命令,根据您的首选集群、用户和命名空间设置上下文。

Pod

  • 查看日志:在 Kubernetes Explorer 控制台中查看 pod 的日志
  • 获取终端:在 Kubernetes Explorer Console 中为 pod 获取终端

    此外,运行中 pod 的标签旁边会显示彩色状态标记:

    • 红色:表示 pod 处于失败状态
    • 黄色:表示 pod 正在启动或终止
    • 绿色:表示 pod 运行状况良好且正在运行
Pod 指示健康状态旁边的绿色对勾标记

容器

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

部署

  • 查看日志:在 Kubernetes Explorer 控制台中查看部署的日志

    实时部署的标签和当前副本数/副本总数旁边带有彩色状态标记:

    • 黄色:表示 Deployment 无最低可用性或存在映像问题。
    • 绿色:表示 Deployment 运行状况良好且具有最低可用性。
表示运行状况良好的绿色部署图标

节点

集群节点的名称旁边会显示彩色状态标记:

  • 黄色:表示节点存在资源问题,例如内存或磁盘可用性。
  • 绿色:表示节点运行状况良好。

自定义资源定义 (CRD)

Kubernetes Explorer 列出了您的集群上安装和可用的所有自定义资源定义 (CRD):

Explorer 中的自定义资源定义列表

后续步骤

获取支持

如需在 IntelliJ IDE 中提交反馈或报告问题,请依次点击 Tools > Cloud Code > Help / about > Submit feedback or Report an issue,以便在 GitHub 上报告问题,也可以在 Stack Overflow 上提问。