1
0
Fork 0
mirror of https://github.com/imjasonh/gcloud-help synced 2026-07-08 10:35:03 +00:00
gcloud-help/gcloud/alpha/container/node-pools/update
2023-04-26 10:24:37 +00:00

436 lines
19 KiB
Text

NAME
gcloud alpha container node-pools update - updates a node pool in a running
cluster
SYNOPSIS
gcloud alpha 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
(ALPHA) gcloud alpha 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 alpha 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 alpha 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 alpha 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 alpha 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 alpha 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'
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.)
insecureKubeletReadonlyPortEnabled true or false (enabled by
default)
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}
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 alpha 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:
EXPOSED
[DEPRECATED] Pods running in this node pool have access to the
node's underlying Compute Engine Metadata Server.
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.
GKE_METADATA_SERVER
[DEPRECATED] 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.
SECURE
[DEPRECATED] Prevents pods not in hostNetwork from accessing
certain VM metadata, specifically kube-env, which contains
Kubelet credentials, and the instance identity token. This is a
temporary security solution available while the bootstrapping
process for cluster nodes is being redesigned with significant
security improvements. This feature is scheduled to be deprecated
in the future and later removed.
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 alpha 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 alpha 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 alpha 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 alpha 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 alpha 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 specfied by one of, batch-node-count or
batch-percent. The duration between batches is specified by
batch-soak-duration.
$ gcloud alpha container node-pools update node-pool-1 \
--cluster=example-cluster \
--standard-rollout-policy=batch-node-count=3,\
batch-soak-duration=60s
$ gcloud alpha 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
This command is currently in alpha and might change without notice. If this
command fails with API permission errors despite specifying the correct
project, you might be trying to access an API with an invitation-only early
access allowlist. These variants are also available:
$ gcloud container node-pools update
$ gcloud beta container node-pools update