Method: projects.zones.clusters.nodePools.update

Updates the version and/or image type of a specific node pool.

HTTP request

POST https://container.googleapis.com/v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/update

The URL uses gRPC Transcoding syntax.

Path parameters

Parameters
projectId
(deprecated)

string

Required. Deprecated. The Google Developers Console project ID or project number. This field has been deprecated and replaced by the name field.

zone
(deprecated)

string

Required. Deprecated. The name of the Google Compute Engine zone in which the cluster resides. This field has been deprecated and replaced by the name field.

clusterId
(deprecated)

string

Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.

nodePoolId
(deprecated)

string

Required. Deprecated. The name of the node pool to upgrade. This field has been deprecated and replaced by the name field.

Request body

The request body contains data with the following structure:

JSON representation
{
  "nodeVersion": string,
  "imageType": string,
  "locations": [
    string
  ],
  "workloadMetadataConfig": {
    object (WorkloadMetadataConfig)
  },
  "name": string,
  "upgradeSettings": {
    object (UpgradeSettings)
  },
  "tags": {
    object (NetworkTags)
  },
  "taints": {
    object (NodeTaints)
  },
  "labels": {
    object (NodeLabels)
  },
  "linuxNodeConfig": {
    object (LinuxNodeConfig)
  },
  "kubeletConfig": {
    object (NodeKubeletConfig)
  },
  "nodeNetworkConfig": {
    object (NodeNetworkConfig)
  },
  "gcfsConfig": {
    object (GcfsConfig)
  },
  "confidentialNodes": {
    object (ConfidentialNodes)
  },
  "gvnic": {
    object (VirtualNIC)
  },
  "etag": string,
  "fastSocket": {
    object (FastSocket)
  },
  "loggingConfig": {
    object (NodePoolLoggingConfig)
  },
  "resourceLabels": {
    object (ResourceLabels)
  },
  "windowsNodeConfig": {
    object (WindowsNodeConfig)
  },
  "accelerators": [
    {
      object (AcceleratorConfig)
    }
  ],
  "machineType": string,
  "diskType": string,
  "diskSizeGb": string,
  "resourceManagerTags": {
    object (ResourceManagerTags)
  },
  "containerdConfig": {
    object (ContainerdConfig)
  },
  "queuedProvisioning": {
    object (QueuedProvisioning)
  },
  "storagePools": [
    string
  ]
}
Fields
nodeVersion

string

Required. The Kubernetes version to change the nodes to (typically an upgrade).

Users may specify either explicit versions offered by Kubernetes Engine or version aliases, which have the following behavior:

  • "latest": picks the highest valid Kubernetes version
  • "1.X": picks the highest valid patch+gke.N patch in the 1.X version
  • "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
  • "1.X.Y-gke.N": picks an explicit Kubernetes version
  • "-": picks the Kubernetes master version
imageType

string

Required. The desired image type for the node pool. Please see https://cloud.google.com/kubernetes-engine/docs/concepts/node-images for available image types.

locations[]

string

The desired list of Google Compute Engine zones in which the node pool's nodes should be located. Changing the locations for a node pool will result in nodes being either created or removed from the node pool, depending on whether locations are being added or removed.

workloadMetadataConfig

object (WorkloadMetadataConfig)

The desired workload metadata config for the node pool.

name

string

The name (project, location, cluster, node pool) of the node pool to update. Specified in the format projects/*/locations/*/clusters/*/nodePools/*.

Authorization requires the following IAM permission on the specified resource name:

  • container.clusters.update
upgradeSettings

object (UpgradeSettings)

Upgrade settings control disruption and speed of the upgrade.

tags

object (NetworkTags)

The desired network tags to be applied to all nodes in the node pool. If this field is not present, the tags will not be changed. Otherwise, the existing network tags will be replaced with the provided tags.

taints

object (NodeTaints)

The desired node taints to be applied to all nodes in the node pool. If this field is not present, the taints will not be changed. Otherwise, the existing node taints will be replaced with the provided taints.

labels

object (NodeLabels)

The desired node labels to be applied to all nodes in the node pool. If this field is not present, the labels will not be changed. Otherwise, the existing node labels will be replaced with the provided labels.

linuxNodeConfig

object (LinuxNodeConfig)

Parameters that can be configured on Linux nodes.

kubeletConfig

object (NodeKubeletConfig)

Node kubelet configs.

nodeNetworkConfig

object (NodeNetworkConfig)

Node network config.

gcfsConfig

object (GcfsConfig)

GCFS config.

confidentialNodes

object (ConfidentialNodes)

Confidential nodes config. All the nodes in the node pool will be Confidential VM once enabled.

gvnic

object (VirtualNIC)

Enable or disable gvnic on the node pool.

etag

string

The current etag of the node pool. If an etag is provided and does not match the current etag of the node pool, update will be blocked and an ABORTED error will be returned.

fastSocket

object (FastSocket)

Enable or disable NCCL fast socket for the node pool.

loggingConfig

object (NodePoolLoggingConfig)

Logging configuration.

resourceLabels

object (ResourceLabels)

The resource labels for the node pool to use to annotate any related Google Compute Engine resources.

windowsNodeConfig

object (WindowsNodeConfig)

Parameters that can be configured on Windows nodes.

accelerators[]

object (AcceleratorConfig)

A list of hardware accelerators to be attached to each node. See https://cloud.google.com/compute/docs/gpus for more information about support for GPUs.

machineType

string

Optional. The desired machine type for nodes in the node pool. Initiates an upgrade operation that migrates the nodes in the node pool to the specified machine type.

diskType

string

Optional. The desired disk type for nodes in the node pool. Initiates an upgrade operation that migrates the nodes in the node pool to the specified disk type.

diskSizeGb

string (int64 format)

Optional. The desired disk size for nodes in the node pool. Initiates an upgrade operation that migrates the nodes in the node pool to the specified disk size.

resourceManagerTags

object (ResourceManagerTags)

Desired resource manager tag keys and values to be attached to the nodes for managing Compute Engine firewalls using Network Firewall Policies. Existing tags will be replaced with new values.

containerdConfig

object (ContainerdConfig)

The desired containerd config for nodes in the node pool. Initiates an upgrade operation that recreates the nodes with the new config.

queuedProvisioning

object (QueuedProvisioning)

Specifies the configuration of queued provisioning.

storagePools[]

string

List of Storage Pools where boot disks are provisioned. Existing Storage Pools will be replaced with storage-pools.

Response body

If successful, the response body contains an instance of Operation.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.