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