mirror of
https://github.com/imjasonh/gcloud-help
synced 2026-07-08 18:45:13 +00:00
429 lines
18 KiB
Text
429 lines
18 KiB
Text
NAME
|
|
gcloud container node-pools update - updates a node pool in a running
|
|
cluster
|
|
|
|
SYNOPSIS
|
|
gcloud container node-pools update NAME
|
|
(--enable-confidential-nodes | --enable-gvnic
|
|
| --enable-image-streaming | --enable-private-nodes
|
|
| --labels=[KEY=VALUE,...] | --logging-variant=LOGGING_VARIANT
|
|
| --network-performance-configs=[PROPERTY=VALUE,...]
|
|
| --node-labels=[NODE_LABEL,...] | --node-locations=ZONE,[ZONE,...]
|
|
| --node-taints=[NODE_TAINT,...]
|
|
| --system-config-from-file=SYSTEM_CONFIG_FROM_FILE
|
|
| --tags=[TAG,...] | --windows-os-version=WINDOWS_OS_VERSION
|
|
| --workload-metadata=WORKLOAD_METADATA | --enable-autoprovisioning
|
|
--enable-autoscaling --location-policy=LOCATION_POLICY
|
|
--max-nodes=MAX_NODES --min-nodes=MIN_NODES
|
|
--total-max-nodes=TOTAL_MAX_NODES --total-min-nodes=TOTAL_MIN_NODES
|
|
| --enable-autorepair --enable-autoupgrade
|
|
| --enable-blue-green-upgrade --enable-surge-upgrade
|
|
--max-surge-upgrade=MAX_SURGE_UPGRADE
|
|
--max-unavailable-upgrade=MAX_UNAVAILABLE_UPGRADE
|
|
--node-pool-soak-duration=NODE_POOL_SOAK_DURATION
|
|
--standard-rollout-policy=[batch-node-count=BATCH_NODE_COUNT,
|
|
batch-percent=BATCH_NODE_PERCENTAGE,
|
|
batch-soak-duration=BATCH_SOAK_DURATION,...]) [--async]
|
|
[--cluster=CLUSTER]
|
|
[--location=LOCATION | --region=REGION | --zone=ZONE, -z ZONE]
|
|
[GCLOUD_WIDE_FLAG ...]
|
|
|
|
DESCRIPTION
|
|
gcloud container node-pools update updates a node pool in a Google
|
|
Kubernetes Engine cluster.
|
|
|
|
EXAMPLES
|
|
To turn on node autoupgrade in "node-pool-1" in the cluster
|
|
"sample-cluster", run:
|
|
|
|
$ gcloud container node-pools update node-pool-1 \
|
|
--cluster=sample-cluster --enable-autoupgrade
|
|
|
|
POSITIONAL ARGUMENTS
|
|
NAME
|
|
The name of the node pool.
|
|
|
|
REQUIRED FLAGS
|
|
Exactly one of these must be specified:
|
|
|
|
--enable-confidential-nodes
|
|
Recreate all the nodes in the node pool to be confidential VM
|
|
https://cloud.google.com/compute/confidential-vm/docs/about-cvm.
|
|
|
|
--enable-gvnic
|
|
Enable the use of GVNIC for this cluster. Requires re-creation of
|
|
nodes using either a node-pool upgrade or node-pool creation.
|
|
|
|
--enable-image-streaming
|
|
Specifies whether to enable image streaming on node pool.
|
|
|
|
--enable-private-nodes
|
|
Enables provisioning nodes with private IP addresses only.
|
|
|
|
The control plane still communicates with all nodes through private
|
|
IP addresses only, regardless of whether private nodes are enabled or
|
|
disabled.
|
|
|
|
--labels=[KEY=VALUE,...]
|
|
Labels to apply to the Google Cloud resources of node pools in the
|
|
Kubernetes Engine cluster. These are unrelated to Kubernetes labels.
|
|
|
|
Examples:
|
|
|
|
$ gcloud container node-pools update node-pool-1 \
|
|
--cluster=example-cluster --labels=label1=value1,label2=value2
|
|
|
|
--logging-variant=LOGGING_VARIANT
|
|
Specifies the logging variant that will be deployed on all the nodes
|
|
in the node pool. If the node pool doesn't specify a logging variant,
|
|
then the logging variant specified for the cluster will be deployed
|
|
on all the nodes in the node pool. Valid logging variants are
|
|
MAX_THROUGHPUT, DEFAULT. LOGGING_VARIANT must be one of:
|
|
|
|
DEFAULT
|
|
'DEFAULT' variant requests minimal resources but may not
|
|
guarantee high throughput.
|
|
MAX_THROUGHPUT
|
|
'MAX_THROUGHPUT' variant requests more node resources and is able
|
|
to achieve logging throughput up to 10MB per sec.
|
|
|
|
--network-performance-configs=[PROPERTY=VALUE,...]
|
|
Configures network performance settings for the node pool. If this
|
|
flag is not specified, the pool will be created with its default
|
|
network performance configuration.
|
|
|
|
total-egress-bandwidth-tier
|
|
Total egress bandwidth is the available outbound bandwidth from a
|
|
VM, regardless of whether the traffic is going to internal IP or
|
|
external IP destinations. The following tier values are allowed:
|
|
[TIER_UNSPECIFIED,TIER_1]
|
|
|
|
--node-labels=[NODE_LABEL,...]
|
|
Replaces all the user specified Kubernetes labels on all nodes in an
|
|
existing node pool with the given labels.
|
|
|
|
Examples:
|
|
|
|
$ gcloud container node-pools update node-pool-1 \
|
|
--cluster=example-cluster \
|
|
--node-labels=label1=value1,label2=value2
|
|
|
|
New nodes, including ones created by resize or recreate, will have
|
|
these labels on the Kubernetes API node object and can be used in
|
|
nodeSelectors. See
|
|
http://kubernetes.io/docs/user-guide/node-selection/ for examples.
|
|
|
|
Note that Kubernetes labels, intended to associate cluster components
|
|
and resources with one another and manage resource lifecycles, are
|
|
different from Google Kubernetes Engine labels that are used for the
|
|
purpose of tracking billing and usage information.
|
|
|
|
--node-locations=ZONE,[ZONE,...]
|
|
Set of 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.
|
|
|
|
Multiple locations can be specified, separated by commas. For
|
|
example:
|
|
|
|
$ gcloud container node-pools update node-pool-1 \
|
|
--cluster=sample-cluster \
|
|
--node-locations=us-central1-a,us-central1-b
|
|
|
|
--node-taints=[NODE_TAINT,...]
|
|
Replaces all the user specified Kubernetes taints on all nodes in an
|
|
existing node pool, which can be used with tolerations for pod
|
|
scheduling.
|
|
|
|
Examples:
|
|
|
|
$ gcloud container node-pools update node-pool-1 \
|
|
--cluster=example-cluster \
|
|
--node-taints=key1=val1:NoSchedule,key2=val2:PreferNoSchedule
|
|
|
|
To read more about node-taints, see
|
|
https://cloud.google.com/kubernetes-engine/docs/node-taints.
|
|
|
|
--system-config-from-file=SYSTEM_CONFIG_FROM_FILE
|
|
Path of the YAML/JSON file that contains the node configuration,
|
|
including Linux kernel parameters (sysctls) and kubelet configs.
|
|
|
|
Examples:
|
|
|
|
kubeletConfig:
|
|
cpuManagerPolicy: static
|
|
linuxConfig:
|
|
sysctl:
|
|
net.core.somaxconn: '2048'
|
|
net.ipv4.tcp_rmem: '4096 87380 6291456'
|
|
hugepageConfig:
|
|
hugepage_size2m: '1024'
|
|
hugepage_size1g: '2'
|
|
|
|
List of supported kubelet configs in 'kubeletConfig'.
|
|
|
|
KEY VALUE
|
|
cpuManagerPolicy either 'static' or 'none'
|
|
cpuCFSQuota true or false (enabled by
|
|
default)
|
|
cpuCFSQuotaPeriod interval (e.g., '100ms')
|
|
podPidsLimit integer (The value must be
|
|
greater than or equal to 1024
|
|
and less than 4194304.)
|
|
|
|
List of supported sysctls in 'linuxConfig'.
|
|
|
|
KEY VALUE
|
|
net.core.netdev_max_backlog Any positive integer,
|
|
less than 2147483647
|
|
net.core.rmem_max Any positive integer,
|
|
less than 2147483647
|
|
net.core.wmem_default Any positive integer,
|
|
less than 2147483647
|
|
net.core.wmem_max Any positive integer,
|
|
less than 2147483647
|
|
net.core.optmem_max Any positive integer,
|
|
less than 2147483647
|
|
net.core.somaxconn Must be [128,
|
|
2147483647]
|
|
net.ipv4.tcp_rmem Any positive integer
|
|
tuple
|
|
net.ipv4.tcp_wmem Any positive integer
|
|
tuple
|
|
net.ipv4.tcp_tw_reuse Must be {0, 1}
|
|
|
|
List of supported hugepage size in 'hugepageConfig'.
|
|
|
|
KEY VALUE
|
|
hugepage_size2m Number of 2M huge pages, any positive integer
|
|
hugepage_size1g Number of 1G huge pages, any positive integer
|
|
|
|
Allocated hugepage size should not exceed 60% of available memory on
|
|
the node. For example, c2d-highcpu-4 has 8GB memory, total allocated
|
|
hugepage of 2m and 1g should not exceed 8GB * 0.6 = 4.8GB.
|
|
|
|
1G hugepages are only available in following machine familes: c3, m2,
|
|
c2d, c3d, h3, m3, a2, a3, g2.
|
|
|
|
Note, updating the system configuration of an existing node pool
|
|
requires recreation of the nodes which which might cause a
|
|
disruption.
|
|
|
|
--tags=[TAG,...]
|
|
Replaces all the user specified Compute Engine tags on all nodes in
|
|
an existing node pool with the given tags (comma separated).
|
|
|
|
Examples:
|
|
|
|
$ gcloud container node-pools update node-pool-1 \
|
|
--cluster=example-cluster --tags=tag1,tag2
|
|
|
|
New nodes, including ones created by resize or recreate, will have
|
|
these tags on the Compute Engine API instance object and these tags
|
|
can be used in firewall rules. See
|
|
https://cloud.google.com/sdk/gcloud/reference/compute/firewall-rules/create
|
|
for examples.
|
|
|
|
--windows-os-version=WINDOWS_OS_VERSION
|
|
Specifies the Windows Server Image to use when creating a Windows
|
|
node pool. Valid variants can be "ltsc2019", "ltsc2022". It means
|
|
using LTSC2019 server image or LTSC2022 server image. If the node
|
|
pool doesn't specify a Windows Server Image Os version, then Ltsc2019
|
|
will be the default one to use. WINDOWS_OS_VERSION must be one of:
|
|
ltsc2019, ltsc2022.
|
|
|
|
--workload-metadata=WORKLOAD_METADATA
|
|
Type of metadata server available to pods running in the node pool.
|
|
WORKLOAD_METADATA must be one of:
|
|
|
|
GCE_METADATA
|
|
Pods running in this node pool have access to the node's
|
|
underlying Compute Engine Metadata Server.
|
|
GKE_METADATA
|
|
Run the Kubernetes Engine Metadata Server on this node. The
|
|
Kubernetes Engine Metadata Server exposes a metadata API to
|
|
workloads that is compatible with the V1 Compute Metadata APIs
|
|
exposed by the Compute Engine and App Engine Metadata Servers.
|
|
This feature can only be enabled if Workload Identity is enabled
|
|
at the cluster level.
|
|
|
|
Cluster autoscaling
|
|
|
|
--enable-autoprovisioning
|
|
Enables Cluster Autoscaler to treat the node pool as if it was
|
|
autoprovisioned.
|
|
|
|
Cluster Autoscaler will be able to delete the node pool if it's
|
|
unneeded.
|
|
|
|
--enable-autoscaling
|
|
Enables autoscaling for a node pool.
|
|
|
|
Enables autoscaling in the node pool specified by --node-pool or
|
|
the default node pool if --node-pool is not provided. If not
|
|
already, --max-nodes or --total-max-nodes must also be set.
|
|
|
|
--location-policy=LOCATION_POLICY
|
|
Location policy specifies the algorithm used when scaling-up the
|
|
node pool.
|
|
|
|
▫ BALANCED - Is a best effort policy that aims to balance the
|
|
sizes of available zones.
|
|
▫ ANY - Instructs the cluster autoscaler to prioritize
|
|
utilization of unused reservations, and reduces preemption risk
|
|
for Spot VMs.
|
|
|
|
LOCATION_POLICY must be one of: BALANCED, ANY.
|
|
|
|
--max-nodes=MAX_NODES
|
|
Maximum number of nodes per zone in the node pool.
|
|
|
|
Maximum number of nodes per zone to which the node pool specified
|
|
by --node-pool (or default node pool if unspecified) can scale.
|
|
Ignored unless --enable-autoscaling is also specified.
|
|
|
|
--min-nodes=MIN_NODES
|
|
Minimum number of nodes per zone in the node pool.
|
|
|
|
Minimum number of nodes per zone to which the node pool specified
|
|
by --node-pool (or default node pool if unspecified) can scale.
|
|
Ignored unless --enable-autoscaling is also specified.
|
|
|
|
--total-max-nodes=TOTAL_MAX_NODES
|
|
Maximum number of all nodes in the node pool.
|
|
|
|
Maximum number of all nodes to which the node pool specified by
|
|
--node-pool (or default node pool if unspecified) can scale.
|
|
Ignored unless --enable-autoscaling is also specified.
|
|
|
|
--total-min-nodes=TOTAL_MIN_NODES
|
|
Minimum number of all nodes in the node pool.
|
|
|
|
Minimum number of all nodes to which the node pool specified by
|
|
--node-pool (or default node pool if unspecified) can scale.
|
|
Ignored unless --enable-autoscaling is also specified.
|
|
|
|
Node management
|
|
|
|
--enable-autorepair
|
|
Enable node autorepair feature for a node pool.
|
|
|
|
$ gcloud container node-pools update node-pool-1 \
|
|
--cluster=example-cluster --enable-autorepair
|
|
|
|
See
|
|
https://cloud.google.com/kubernetes-engine/docs/how-to/node-auto-repair
|
|
for more info.
|
|
|
|
--enable-autoupgrade
|
|
Sets autoupgrade feature for a node pool.
|
|
|
|
$ gcloud container node-pools update node-pool-1 \
|
|
--cluster=example-cluster --enable-autoupgrade
|
|
|
|
See
|
|
https://cloud.google.com/kubernetes-engine/docs/node-auto-upgrades
|
|
for more info.
|
|
|
|
Upgrade settings
|
|
|
|
--enable-blue-green-upgrade
|
|
Changes node pool upgrade strategy to blue-green upgrade.
|
|
|
|
--enable-surge-upgrade
|
|
Changes node pool upgrade strategy to surge upgrade.
|
|
|
|
--max-surge-upgrade=MAX_SURGE_UPGRADE
|
|
Number of extra (surge) nodes to be created on each upgrade of the
|
|
node pool.
|
|
|
|
Specifies the number of extra (surge) nodes to be created during
|
|
this node pool's upgrades. For example, running the following
|
|
command will result in creating an extra node each time the node
|
|
pool is upgraded:
|
|
|
|
$ gcloud container node-pools update node-pool-1 \
|
|
--cluster=example-cluster --max-surge-upgrade=1 \
|
|
--max-unavailable-upgrade=0
|
|
|
|
Must be used in conjunction with '--max-unavailable-upgrade'.
|
|
|
|
--max-unavailable-upgrade=MAX_UNAVAILABLE_UPGRADE
|
|
Number of nodes that can be unavailable at the same time on each
|
|
upgrade of the node pool.
|
|
|
|
Specifies the number of nodes that can be unavailable at the same
|
|
time during this node pool's upgrades. For example, assume the node
|
|
pool has 5 nodes, running the following command will result in
|
|
having 3 nodes being upgraded in parallel (1 + 2), but keeping
|
|
always at least 3 (5 - 2) available each time the node pool is
|
|
upgraded:
|
|
|
|
$ gcloud container node-pools update node-pool-1 \
|
|
--cluster=example-cluster --max-surge-upgrade=1 \
|
|
--max-unavailable-upgrade=2
|
|
|
|
Must be used in conjunction with '--max-surge-upgrade'.
|
|
|
|
--node-pool-soak-duration=NODE_POOL_SOAK_DURATION
|
|
Time in seconds to be spent waiting during blue-green upgrade
|
|
before deleting the blue pool and completing the upgrade.
|
|
|
|
$ gcloud container node-pools update node-pool-1 \
|
|
--cluster=example-cluster --node-pool-soak-duration=600s
|
|
|
|
--standard-rollout-policy=[batch-node-count=BATCH_NODE_COUNT,batch-percent=BATCH_NODE_PERCENTAGE,batch-soak-duration=BATCH_SOAK_DURATION,...]
|
|
Standard rollout policy options for blue-green upgrade.
|
|
|
|
Batch sizes are specified by one of, batch-node-count or
|
|
batch-percent. The duration between batches is specified by
|
|
batch-soak-duration.
|
|
|
|
$ gcloud container node-pools update node-pool-1 \
|
|
--cluster=example-cluster \
|
|
--standard-rollout-policy=batch-node-count=3,\
|
|
batch-soak-duration=60s
|
|
|
|
$ gcloud container node-pools update node-pool-1 \
|
|
--cluster=example-cluster \
|
|
--standard-rollout-policy=batch-percent=0.3,\
|
|
batch-soak-duration=60s
|
|
|
|
OPTIONAL FLAGS
|
|
--async
|
|
Return immediately, without waiting for the operation in progress to
|
|
complete.
|
|
|
|
--cluster=CLUSTER
|
|
The name of the cluster. Overrides the default container/cluster
|
|
property value for this command invocation.
|
|
|
|
At most one of these can be specified:
|
|
|
|
--location=LOCATION
|
|
Compute zone or region (e.g. us-central1-a or us-central1) for the
|
|
cluster.
|
|
|
|
--region=REGION
|
|
Compute region (e.g. us-central1) for the cluster.
|
|
|
|
--zone=ZONE, -z ZONE
|
|
Compute zone (e.g. us-central1-a) for the cluster. Overrides the
|
|
default compute/zone property value for this command invocation.
|
|
|
|
GCLOUD WIDE FLAGS
|
|
These flags are available to all commands: --access-token-file, --account,
|
|
--billing-project, --configuration, --flags-file, --flatten, --format,
|
|
--help, --impersonate-service-account, --log-http, --project, --quiet,
|
|
--trace-token, --user-output-enabled, --verbosity.
|
|
|
|
Run $ gcloud help for details.
|
|
|
|
NOTES
|
|
These variants are also available:
|
|
|
|
$ gcloud alpha container node-pools update
|
|
|
|
$ gcloud beta container node-pools update
|
|
|