Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Google cloud deployment manager update Container cluster

I'm trying to create a Google Cloud Deployment Manager configuration to deploy and manage a Google Cloud Container cluster. So far, creating a configuration to create a cluster works, however updating fails. If I change a setting, the execution of the script fails with an error message I can't decipher:

 code: RESOURCE_ERROR
  location: /deployments/my-first-cluster/resources/my-first-test-cluster-setup
  message: 
 '{"ResourceType":"container.v1.cluster","ResourceErrorCode":"400","ResourceErrorMessage":{"code":400,"message":"Invalid
JSON payload received. Unknown name \"cluster\": Cannot find field.","status":"INVALID_ARGUMENT","details":[{"@type":"type.googleapis.com/google.rpc.BadRequest","fieldViolations":[{"description":"Invalid
JSON payload received. Unknown name \"cluster\": Cannot find field."}]}],"statusMessage":"Bad
Request","requestPath":"https://container.googleapis.com/v1/projects/*****/zones/europe-west1-b/clusters/my-first-cluster"}}'

The relevant configuration:

resources:
- name: my-first-test-cluster-setup
  type: container.v1.cluster
  properties:
    zone: europe-west1-b
    cluster:
      name: my-first-cluster
      description: My first cluster setup
      nodePools:
        - name: my-cluster-node-pool
          config:
            machineType: n1-standard-1
          initialNodeCount: 1
          autoscaling:
            enabled: true
            minNodeCount: 3
            maxNodeCount: 5
          management:
            autoUpgrade: true
            autoRepair: true
like image 201
Jeroen Benckhuijsen Avatar asked Jun 13 '17 15:06

Jeroen Benckhuijsen


People also ask

What is the use of deployment manager in GCP?

The Deployment Manager system will interpret each template recursively and inline the results within the configuration file. As such, the interpretation of each template eventually results in the same YAML syntax for resources as that defined above for the configuration file itself.

What is the difference between APP engine standard and flexible?

The standard environment can scale from zero instances up to thousands very quickly. In contrast, the flexible environment must have at least one instance running for each active version and can take longer to scale up in response to traffic. Standard environment uses a custom-designed autoscaling algorithm.


1 Answers

It looks like this is a bug in Deployment Manager which means that it is not able to update GKE clusters. The bug is reported here. It has the same strange 'unknown name "cluster"' message that you see.

There is no suggestion on the ticket about workarounds or resolution.

We have seen this same problem when updating a different cluster property.

like image 143
Ben Butler-Cole Avatar answered Oct 04 '22 23:10

Ben Butler-Cole