在 Cloud Code for IntelliJ 中处理 Google Cloud 和 Kubernetes YAML 文件

Cloud Code 旨在帮助修改与 Google Cloud 和 Kubernetes 相关的配置文件,包括基于架构的验证文档、诊断文档和快速文档。

支持的 YAML 配置文件

Cloud Code 还支持常见的 Kubernetes CRD,例如 Kubeflow,开箱即用。

启用或停用 YAML 支持

如需启用或停用 YAML 支持,请依次前往 File > Settings > Tools > Gemini + Google Cloud Code > Kubernetes(适用于 Windows 和 Linux)或 IntelliJ IDEA > Settings > Tools >>

使用自定义架构

借助 Cloud Code,您可以通过 IntelliJ 设置提供自己的 CRD 架构,方法是依次前往 File > Settings > Tools > Gemini + Google Cloud Code > Kubernetes(适用于 Windows 和 Linux)或 IntelliJ IDEA > Settings > Settings > >Tools > Tools {4>>

您可以指向本地文件或网址。指向 github.com 的网址会自动转换为 raw.githubusercontent.com

从集群中拉取架构

当您在 Kubernetes Explorer 中切换到运行 Kubernetes v1.16+ 的集群时,Cloud Code 会自动拉取所有已安装 CRD 的架构。

其他 Skaffold 支持

Skaffold 是为 Cloud Code 提供支持的底层引擎,可帮助您构建、推送和部署应用,并为创建 CI/CD 流水线提供支持。

Cloud Code 提供对管理 Skaffold 配置文件的额外支持。当您打开项目时,Cloud Code 会检测不是最新的 Skaffold 架构,并在您现有的 Skaffold YAML 配置文件有可用的 Skaffold 架构版本升级时提示您(通过事件日志)。

事件日志中的通知,用于提示用户升级其 Skaffold YAML 版本,因为他们现有的 Skaffold YAML 文件不是最新版本

或者,您也可以依次前往 Tools > Gemini + Cloud Code > Kubernetes > Check for Skaffold Schemas Upgrades,以检查可用的架构升级。

使用代码段进行配置

借助适用于常见 YAML 架构的开箱即用代码段(使用 Ctrl+空格键查看选项),您可以顺利启动新的 YAML 文件或向现有 YAML 文件添加内容,同时仍然遵循最佳实践。此外,您可以更轻松地处理重复字段;只需填写一个字段,Cloud Code 就会填充其余的实例。

使用代码段处理重复字段

Cloud Code 提供以下代码段:

  • Cloud Build - Cloud Run deployment
  • Cloud Build - Docker container build
  • Cloud Build - GKE deployment
  • Cloud Build - GKE Skaffold deployment
  • Cloud Build - Go build
  • Cloud Build - Terraform plan + apply
  • Config Connector - BigQueryDataset
  • Config Connector - BigQueryTable
  • Config Connector - BigtableCluster
  • Config Connector - BigtableInstance
  • Config Connector - PubSubSubscription
  • Config Connector - PubSubTopic
  • Config Connector - RedisInstance
  • Config Connector - SpannerInstance
  • Kubernetes - ConfigMap
  • Kubernetes - Deployment
  • Kubernetes - Ingress
  • Kubernetes - Pod
  • Kubernetes - Service
  • Migrate to Containers - Export
  • Migrate to Containers - PersistentVolumeClaim
  • Migrate to Containers - StatefulSet
  • Skaffold - Bazel
  • Skaffold - Getting-started
  • Skaffold - Helm deployment
  • Skaffold - Kaniko

补充背景信息

Cloud Code 会根据当前架构提供上下文补全功能,帮助您选择合适的选项。

针对 Kubernetes 架构补全上下文

验证 YAML 架构

Cloud Code 通过标记 YAML 文件中的无效标记和值并尽可能提出修复建议来提供架构验证支持。

名称字段的值带红色下划线,以突出显示无效值 1234;悬停文本显示:类型不正确。应为字符串。

验证 Skaffold YAML 文件

Cloud Code 提供了额外的 Skaffold 配置文件修改支持和智能模板,可让您验证 skaffold.yaml 文件。请参阅这份将现有应用与 Cloud Code 搭配使用的指南

Skaffold yaml 模板

通过上下文完成 Skaffold 配置文件

Cloud Code 会根据当前架构提供上下文补全和相关文档,帮助您选择合适的方案。

Skaffold 补全信息

通过快速文档探索定义

当您突出显示配置文件中的一行并导航到查看 > 快速文档时,Cloud Code 会显示资源的相关文档。

快速文档

针对结构和有效性问题的 lint YAML

Cloud Code 针对常见架构问题提供 lint 支持,并提供描述性错误。

对 YAML 文件执行 lint 请求

应用 YAML 文件

如需运行 kubectl apply -f 以使用当前文件应用配置更改,您可以使用 IDE 边线中提供的 kubectl 操作图标 kubectl 操作图标,然后选择 Apply。此时会显示一个差异视图,供您在点击 Apply 之前查看更改。

kubectl 操作列表中突出显示的“应用”选项

YAML 文件之间的差异

如需查看源代码控制中的 YAML 文件与已部署的 YAML 文件之间的差异,您可以使用编辑器的边线中提供的 kubectl 操作图标 kubectl 操作图标。选择 Diff 选项可查看差异视图,以便比较和对比两个架构文件。

kubectl 操作列表中突出显示的“差异”选项

对 YAML 文件执行试运行

如需对文件执行试运行并检查其有效性,您可以使用 IDE 边线中提供的 kubectl 操作图标 kubectl 操作图标,以选择在服务器上试运行在客户端上进行试运行。这将运行 kubectl apply -f dry-run=server(对于客户端选项,则为 kubectl apply -f dry-run=client),并会通知您是否可以在终端窗口中成功创建文件。

kubectl 操作列表中突出显示的“在服务器上试运行”(Dry-run on Server) 选项

后续步骤

获取支持

如需在 IntelliJ IDE 中提交反馈或报告问题,请依次前往工具 > Cloud Code > 帮助 / 关于 > 提交反馈或报告问题,以在 GitHub 上报告问题,或者在 Stack Overflow 上提问。