在 Cloud Code for VS Code 中使用 Google Cloud 和 Kubernetes YAML

Cloud Code for VS Code 旨在通过针对结构和有效值对架构执行 lint 请求并提供描述性错误来简化 Kubernetes 和 Cloud Build 配置。Cloud Code 提供针对常用架构的开箱即用解决方案、智能补全功能和通过悬停鼠标查看文档的功能。

支持的 YAML 配置文件

Cloud Code 还支持热门的 Kubernetes 自定义资源 定义 (CRD),例如 Kubeflow,开箱即用。

使用自定义架构

借助 Cloud Code,您可以通过 settings.json 文件中的 cloudcode.yaml.crdSchemaLocations 设置提供自己的 CRD 架构。您可以指向本地文件或网址。指向 github.com 的网址会自动转换为 raw.githubusercontent.com

从集群中拉取架构

在 Kubernetes 视图中切换到运行 Kubernetes v1.16 及更高版本的集群时,Cloud Code 会自动拉取所有已安装的 CRD 的架构。

使用代码段进行配置

借助针对常用 YAML 架构的开箱即用代码段(使用 Command/Ctrl+Space 即可查看选项),您可以轻松启动新的 YAML 文件或向现有的 YAML 文件添加内容而不会产生错误,同时仍然遵循最佳做法。使用 Cloud Code,您可以更轻松地处理重复字段;只需填写第一个字段,Cloud Code 即会填充其余的实例。

Cloud Code 提供以下代码段:

  • Anthos Config Management - Cluster
  • Anthos Config Management - Cluster Selector
  • Anthos Config Management - Config Management
  • Anthos Config Management - Namespace Selector
  • 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 - Secret
  • 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;悬停文字状态:“类型错误。预期字符串。

通过悬停鼠标浏览文档

当您持有 指向架构中的值的指针。

将指针悬停在架构中的某个值上时的文档信息

访问资源定义

要查看某项资源的定义,请右键点击该资源,然后选择 前往“定义”Peek 定义

应用 YAML 文件

如需使用当前文件应用配置更改,请打开命令 选项面板(按 Ctrl/Cmd+Shift+P 或点击视图 > 命令面板) 然后运行 Cloud Code: Apply Current JSON/YAML File to K8s Deployed Resource

此命令将显示一个比较差异视图,供您查看更改。当系统提示您是否要应用此更改时,请点击应用。这将运行 kubectl apply -f

查看 YAML 文件之间的差异

查看源代码控制中的 YAML 文件与已部署的 YAML 文件之间的区别 YAML 文件,打开命令面板(按 Ctrl/Cmd+Shift+P 或点击 查看 >Command Palette)然后运行 Cloud Code:比较当前 JSON/YAML 文件与 K8s 部署的资源

对 YAML 文件执行试运行

在您输入信息时,Cloud Code 会自动执行试运行 ,并在出现的任何错误时用黄色的波浪线加下划线。

当服务器考虑代码的一部分时,会出现黄色波浪线 根据试运行结果报告错误。这可能包括违反政策、重复的名称,或 Cloud Code 未在客户端执行的验证(例如最大端口号)。

如需查看 YAML 文件中的错误说明,请将鼠标指针悬停在 以黄色下划线标记代码。

“hello.deployment.yaml”上的服务器端试运行验证失败,并以消息框通知形式显示错误消息。错误详情可在输出通道中找到;命名空间“random-namespace”不存在

在 Cloud Code 与 Kubernetes 服务器进行检查之前,系统会针对检测到的错误显示红色波浪线。例如,在应输入字符串的位置输入数字会触发红色波浪线。

使用 Secret

使用配置映射和 Secret 是使用 Kubernetes 的一个关键环节。如需使用 Cloud Code 查看 base64 Secret 的上下文,请将光标悬停在相应 Secret 上方以将其解码。

将指针悬停在密钥上方,以解码密钥

后续步骤

获取支持

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