Create Node Pool

gke.create_node_pool
ActionGoogle Cloudconnection required

Calls GKE API v1 POST .../clusters/{c}/nodePools.

Add a node pool to an existing cluster. Returns the operation — the nodes come up asynchronously. The fields below cover the common case; node_pool_json takes a full NodePool resource and wins over all of them.

Connection

Required
Yes — the node will not save without one
Auth type
OAuth 2.0
Providers
Google Kubernetes Engine
Secret shape
{"client_id", "client_secret", "refresh_token"}
Config it needs
project_id, location
Resolved by
config.connection_id, else node.connection_id

Configuration

18 fields, 2 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
project_id
GCP project id (overrides connection).
stringNo———
location
Zone or region of the cluster (overrides connection).
stringNo———
cluster
Cluster name.
stringYes———
node_pool
Name for the new node pool.
stringYes———
node_count
Initial nodes per zone. Defaults to 1.
numberNo—≥ 0—
machine_type
Node machine type, e.g. e2-medium. Defaults to e2-medium.
stringNo———
disk_size_gb
Boot-disk size in GB (minimum 10). Defaults to 100.
numberNo—≥ 1—
disk_type
Boot-disk type, e.g. pd-balanced, pd-ssd. Optional.
stringNo———
preemptible
Use preemptible VMs — cheaper, reclaimed within 24 hours.
booleanNo———
spot
Use Spot VMs — cheaper, reclaimed at any time, no 24-hour limit.
booleanNo———
min_nodes
Minimum nodes per zone. Only used when max_nodes is set.
numberNo—≥ 0—
max_nodes
Maximum nodes per zone. Setting this enables cluster autoscaling for the pool.
numberNo—≥ 0—
node_version
Node version. Defaults to the cluster's control-plane version.
stringNo———
labels
Kubernetes node labels.
objectNo———
tags
Network tags for firewall rules.
arrayNo—array of string—
service_account
Service-account email the nodes run as. Optional; the caller needs iam.serviceAccounts.actAs on it.
stringNo———
oauth_scopes
OAuth scopes for the node service account. Optional.
arrayNo—array of string—
node_pool_json
A full NodePool resource. Wins over every field above.
objectNo———

Output

One shape.

result

FieldTypeExample
ok
boolean—
node_pool
string—
operation
string—
done
boolean—
status
string—
{
  "done": false,
  "node_pool": "",
  "ok": false,
  "operation": "",
  "status": ""
}

See Create Node Pool run in a workflow.

In a technical demo we add the Google Kubernetes Engine connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.