Google Cloud Deployment Manager 和资源变更

Google Cloud Deployment Manager 和资源变更

我想在 Google Cloud 中部署一个应用程序。它需要以下 Google Cloud 组件:

  • Google Container Engine(因此我可以在 Kubernetes 集群内运行应用程序)
  • Google Compute Engine 持久磁盘(附加到应用程序 Kubernetes pod)
  • Kubernetes 部署(包含在 pod 中运行的应用程序)

我正在评估部署管理器作为基础设施即代码方法的工具。

目前我发现以下问题:

更改容器引擎集群大小

在我的 Deployment Manager yaml 模板中更改容器引擎集群大小无法应用:

gcloud deployment-manager deployments update <deployment-name> --config <deployment-config.yml>

失败:

{"ResourceType":"container.v1.cluster","ResourceErrorCode":"400","ResourceErrorMessage":{"code":400,"message":"收到的 JSON 负载无效。未知名称 \"cluster\":找不到字段。","status":"INVALID_ARGUMENT","details":[{"@type":"type.googleapis.com/google.rpc.BadRequest","fieldViolations":[{"description":"收到的 JSON 负载无效。未知名称 \"cluster\":找不到字段。"}]}],"statusMessage":"错误请求","re​​questPath":"https://container.googleapis.com/v1/projects/1013690875001/zones/europe-west1-b/clusters/dev-cluster"}}

调整持久磁盘大小

当我更改模板中的磁盘大小并尝试应用更改(再次使用gcloud deployment-manager deployments update命令)时,我也收到错误:

未找到更新资源“my-data-storage”(类型为“compute.v1.disk”)上字段“sizeGb”的方法。可能需要使用新字段重新创建资源。

问题

我认为上面描述的操作是适用于该环境的最常见的操作,但我很惊讶它们不受支持。

我是否误解了部署管理器的使用方法,或者它没有提供我需要的功能?我应该如何管理此类环境变化,以便可以在源代码管理中跟踪它们(而不是像命令式命令那样cloud compute disks resize)?

答案1

看起来第一个案例(调整集群大小)是已经向 Google 报告的问题:更新容器引擎属性导致 400:已收到 JSON 负载。未知名称“cluster”

对于第二个问题,我也提出了一个问题:部署管理器不支持持久磁盘大小调整


更新

调整持久磁盘大小的问题已解决。

答案2

这是来自 GCP 的令人困惑的错误消息。您的 JSON 没有任何问题,但配置状态转换无法更新。如果这会产生错误就太好了incompatible configuration update

就我而言,我们添加了范围,但事实证明无法更新(添加或删除)。

相关内容