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

Cloud Code for VS Code 的设计初衷是 对结构和有效值的架构和 提供描述性错误Cloud Code 提供针对常用架构的开箱即用解决方案、智能补全功能和通过悬停鼠标查看文档的功能。

支持的 YAML 配置文件

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

使用自定义架构

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

从集群中拉取架构

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

使用代码段进行配置

借助针对常用 YAML 架构的开箱即用代码段(使用 Command/Ctrl+Space 即可查看选项),您可以轻松启动新的 YAML 文件或向现有的 YAML 文件添加内容而不会产生错误,同时仍然遵循最佳做法。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 加下划线,以突出显示无效值 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 的一个关键环节。查看 base64 的上下文 将鼠标指针悬停在要解码的密钥上 。

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

后续步骤

获取支持

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