https://pulumi.com logo
r

red-area-47037

02/23/2021, 9:34 AM
Has any here already used Custom Machine Types in a GKE Nodepool? Just reading the documentation I am not sure how to use it for a regional cluster, as the custom machine type string includes a reference to a concrete zone in a region ...? https://cloud.google.com/compute/docs/reference/rest/v1/instances#machineType
Copy code
zones/zone/machineTypes/custom-CPUS-MEMORY

For example: zones/us-central1-f/machineTypes/custom-4-5120 For a full list of restrictions, read the Specifications for custom machine types.
b

better-actor-92669

02/24/2021, 12:22 PM
For a regional cluster you have to specify node locations, so in my case, I do something like this
Copy code
from subprocess import Popen, PIPE

get_gcp_region_description_output, errors =\
    Popen(["gcloud", "compute", "regions", "describe",
          f"{pulumi.Config('gcp').require('region')}", "--format", "json"],
          stdout=PIPE).communicate()

gcp_region_description_json =\
    json.loads(get_gcp_region_description_output.decode('utf-8'))

gcp_region_zones = [zone.split('/')[-1] for zone in
                    sorted(gcp_region_description_json['zones'])]
and then if you want all zones, you can omit slicing the list like I do below
Copy code
node_locations=gke_nodes_node_locations
After you get access to zones, you can template the machine type string accordingly
2 Views