gcloud container clusters create-auto NAME [--anonymous-authentication-config=ANONYMOUS_AUTHENTICATION_CONFIG] [--async] [--auto-monitoring-scope=AUTO_MONITORING_SCOPE] [--autopilot-general-profile=AUTOPILOT_GENERAL_PROFILE] [--autopilot-privileged-admission=[ALLOWLIST_PATHS,…]] [--autoprovisioning-enable-insecure-kubelet-readonly-port] [--autoprovisioning-network-tags=TAGS,[TAGS,…]] [--autoprovisioning-resource-manager-tags=[KEY=VALUE,…]] [--binauthz-evaluation-mode=BINAUTHZ_EVALUATION_MODE] [--boot-disk-kms-key=BOOT_DISK_KMS_KEY] [--cluster-ipv4-cidr=CLUSTER_IPV4_CIDR] [--cluster-secondary-range-name=NAME] [--cluster-version=CLUSTER_VERSION] [--confidential-node-type=CONFIDENTIAL_NODE_TYPE] [--containerd-config-from-file=PATH_TO_FILE] [--control-plane-egress=CONTROL_PLANE_EGRESS] [--create-subnetwork=[KEY=VALUE,…]] [--database-encryption-key=DATABASE_ENCRYPTION_KEY] [--disable-l4-lb-firewall-reconciliation] [--disable-multi-nic-lustre] [--enable-agent-sandbox] [--enable-authorized-networks-on-private-endpoint] [--enable-auto-ipam] [--enable-backup-restore] [--enable-cilium-clusterwide-network-policy] [--enable-confidential-nodes] [--enable-default-compute-class] [--enable-dns-access] [--enable-fleet] [--enable-google-cloud-access] [--enable-ip-access] [--enable-k8s-certs-via-dns] [--enable-k8s-tokens-via-dns] [--enable-kernel-module-signature-enforcement] [--enable-kubernetes-unstable-apis=API,[API,…]] [--enable-legacy-lustre-port] [--enable-lustre-csi-driver] [--enable-master-global-access] [--enable-multi-networking] [--enable-ray-cluster-logging] [--enable-ray-cluster-monitoring] [--enable-ray-operator] [--fleet-project=PROJECT_ID_OR_NUMBER] [--hpa-profile=HPA_PROFILE] [--labels=[KEY=VALUE,…]] [--logging=[COMPONENT,…]] [--membership-type=MEMBERSHIP_TYPE] [--monitoring=[COMPONENT,…]] [--network=NETWORK] [--node-creation-mode=NODE_CREATION_MODE] [--private-endpoint-subnetwork=NAME] [--release-channel=CHANNEL] [--security-group=SECURITY_GROUP] [--security-posture=SECURITY_POSTURE] [--services-ipv4-cidr=CIDR] [--services-secondary-range-name=NAME] [--subnetwork=SUBNETWORK] [--tier=TIER] [--workload-policies=WORKLOAD_POLICIES] [--workload-vulnerability-scanning=WORKLOAD_VULNERABILITY_SCANNING] [--additive-vpc-scope-dns-domain=ADDITIVE_VPC_SCOPE_DNS_DOMAIN | --disable-additive-vpc-scope] [--aggregation-ca=CA_POOL_PATH --cluster-ca=CA_POOL_PATH --control-plane-disk-encryption-key=KEY --etcd-api-ca=CA_POOL_PATH --etcd-peer-ca=CA_POOL_PATH --gkeops-etcd-backup-encryption-key=KEY --service-account-signing-keys=KEY_VERSION,[KEY_VERSION,…] --service-account-verification-keys=KEY_VERSION,[KEY_VERSION,…]] [--dataplane-v2-observability-mode=DATAPLANE_V2_OBSERVABILITY_MODE | --disable-dataplane-v2-flow-observability | --enable-dataplane-v2-flow-observability] [--disable-pod-snapshots | --enable-pod-snapshots] [--enable-insecure-binding-system-authenticated --enable-insecure-binding-system-unauthenticated] [--enable-master-authorized-networks --master-authorized-networks=NETWORK,[NETWORK,…]] [--enable-private-endpoint --enable-private-nodes --master-ipv4-cidr=MASTER_IPV4_CIDR] [--enable-secret-manager --enable-secret-manager-rotation --secret-manager-rotation-interval=SECRET_MANAGER_ROTATION_INTERVAL] [--enable-secret-sync --enable-secret-sync-rotation --secret-sync-rotation-interval=SECRET_SYNC_ROTATION_INTERVAL] [--location=LOCATION | --region=REGION | --zone=ZONE, -z ZONE] [--maintenance-minor-version-disruption-interval=MAINTENANCE_MINOR_VERSION_DISRUPTION_INTERVAL --maintenance-patch-version-disruption-interval=MAINTENANCE_PATCH_VERSION_DISRUPTION_INTERVAL] [--scopes=[SCOPE,…]; default="gke-default" --service-account=SERVICE_ACCOUNT] [GCLOUD_WIDE_FLAG …]
gcloud container clusters create-auto sample-clusterNAME--anonymous-authentication-config=ANONYMOUS_AUTHENTICATION_CONFIGANONYMOUS_AUTHENTICATION_CONFIG must be one of:
ENABLEDLIMITED--async--auto-monitoring-scope=AUTO_MONITORING_SCOPEAUTO_MONITORING_SCOPE must be one of:
ALL, NONE.
--autopilot-general-profile=AUTOPILOT_GENERAL_PROFILEnone and no-performance. If none is used,
the cluster will use the Autopilot default configuration.
AUTOPILOT_GENERAL_PROFILE must be one of:
none, no-performance.
--autopilot-privileged-admission=[ALLOWLIST_PATHS,…]The value is a comma-separated list of paths in the format:
gke://<partner_name>/<app_name>/<allowlist_path>
for Autopilot partner allowlists
gs://<bucket_name>/<allowlist_path> for user allowlists
By default, all GKE-managed allowlists (gke://*) are authorized.
See https://cloud.google.com/kubernetes-engine/docs/resources/autopilot-partners
for all supported Autopilot partner allowlists. When setting this flag, be
careful to explicitly specify gke://* in addition to other entries
if you rely on this default behavior.
Wildcards (*) are supported. For example, if gke://*
is authorized, then AllowlistSynchronizers can be used to install
gke://partner1/allowlist1.yaml and
gke://partner2/allowlist2.yaml.
Note: Use of user allowlists (gs://) requires special permissions
and is only available to a subset of high tier customers. Please contact your
account team for more information.
Examples:
Allow all GKE-managed allowlists (default behavior):
gcloud container clusters create-auto --autopilot-privileged-admission=gke://*Authorize only allowlists from a GKE Autopilot partner:
gcloud container clusters create-auto --autopilot-privileged-admission=gke://my-partner/*Authorize only a singular user-owned allowlist
gcloud container clusters create-auto --autopilot-privileged-admission=gs://my-bucket/allowlists/my-allowlist.yamlAuthorize all user-owned allowlists under a given path:
gcloud container clusters create-auto --autopilot-privileged-admission=gs://my-bucket/*Authorize all GKE-managed allowlists and a specific user-owned allowlist:
gcloud container clusters create-auto --autopilot-privileged-admission=gke://*,gs://my-bucket/allowlists/my-allowlist.yamlDisable allowlist installation entirely:
gcloud container clusters create-auto --autopilot-privileged-admission=""Exercise caution when using this flag on an existing cluster. Upon updates, existing AllowlistSynchronizers will uninstall allowlists that are no longer authorized.
For instructions on installing allowlists in the cluster after authorization, please refer to: https://cloud.google.com/kubernetes-engine/docs/how-to/run-autopilot-partner-workloads--autoprovisioning-enable-insecure-kubelet-readonly-portIf not set, the value from nodePoolDefaults.nodeConfigDefaults will be used.
To disable the readonly port--no-autoprovisioning-enable-insecure-kubelet-readonly-port.
--autoprovisioning-network-tags=TAGS,[TAGS,…]Examples:
gcloud container clusters create-auto example-cluster --autoprovisioning-network-tags=tag1,tag2--autoprovisioning-resource-manager-tags=[KEY=VALUE,…]Examples:
gcloud container clusters create-auto example-cluster --autoprovisioning-resource-manager-tags=tagKeys/1234=tagValues/2345gcloud container clusters create-auto example-cluster --autoprovisioning-resource-manager-tags=my-project/key1=value1gcloud container clusters create-auto example-cluster --autoprovisioning-resource-manager-tags=12345/key1=value1,23456/key2=value2gcloud container clusters create-auto example-cluster --autoprovisioning-resource-manager-tags=
--binauthz-evaluation-mode=BINAUTHZ_EVALUATION_MODEBINAUTHZ_EVALUATION_MODE must be one of:
disabled, project-singleton-policy-enforce.
--boot-disk-kms-key=BOOT_DISK_KMS_KEY--cluster-ipv4-cidr=CLUSTER_IPV4_CIDR
If you omit this option, a range is chosen automatically. The automatically
chosen range is randomly selected from 10.0.0.0/8 and will not include IP
address ranges allocated to VMs, existing routes, or ranges allocated to other
clusters. The automatically chosen range might conflict with reserved IP
addresses, dynamic routes, or routes within VPCs that peer with this cluster.
You should specify --cluster-ipv4-cidr to prevent conflicts.
--cluster-secondary-range-name
--cluster-secondary-range-name=NAME--cluster-version=CLUSTER_VERSIONThe default Kubernetes version is available using the following command.
gcloud container get-server-config--confidential-node-type=CONFIDENTIAL_NODE_TYPECONFIDENTIAL_NODE_TYPE must be one of: sev,
sev_snp, tdx.
--containerd-config-from-file=PATH_TO_FILEFor detailed information on the configuration usage, please refer to https://cloud.google.com/kubernetes-engine/docs/how-to/customize-containerd-configuration.
Note: Updating the containerd configuration of an existing cluster or node pool requires recreation of the existing nodes, which might cause disruptions in running workloads.
Use a full or relative path to a local file containing the value of containerd_config.--control-plane-egress=CONTROL_PLANE_EGRESSCONTROL_PLANE_EGRESS
must be one of:
NONEclientConfig.url will be disabled. Essential GKE-managed services
are still permitted to function via an internal allowlist.
VIA_CONTROL_PLANE--create-subnetwork=[KEY=VALUE,…]'name' specifies the name of the subnetwork to be created.
'range' specifies the IP range for the new subnetwork. This can either be a netmask size (e.g. '/20') or a CIDR range (e.g. '10.0.0.0/20'). If a netmask size is specified, the IP is automatically taken from the free space in the cluster's network.
Examples:
Create a new subnetwork with a default name and size.
gcloud container clusters create-auto --create-subnetwork ""Create a new subnetwork named "my-subnet" with netmask of size 21.
gcloud container clusters create-auto --create-subnetwork name=my-subnet,range=/21Create a new subnetwork with a default name with the primary range of 10.100.0.0/16.
gcloud container clusters create-auto --create-subnetwork range=10.100.0.0/16Create a new subnetwork with the name "my-subnet" with a default range.
gcloud container clusters create-auto --create-subnetwork name=my-subnet--database-encryption-key=DATABASE_ENCRYPTION_KEYprojects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME].
For more information, see https://cloud.google.com/kubernetes-engine/docs/how-to/encrypting-secrets.
--disable-l4-lb-firewall-reconciliation--disable-multi-nic-lustre--enable-agent-sandbox--no-enable-agent-sandbox to disable.
--enable-authorized-networks-on-private-endpoint--enable-auto-ipam--enable-backup-restore--enable-cilium-clusterwide-network-policy--enable-confidential-nodes--enable-default-compute-class--no-enable-default-compute-class.
--enable-dns-access--enable-fleet--fleet-project=FLEET_HOST_PROJECT. Example: $ gcloud
container clusters create-auto --enable-fleet
--enable-google-cloud-access--enable-ip-access--enable-k8s-certs-via-dns--enable-k8s-tokens-via-dns--enable-kernel-module-signature-enforcement--no-enable-kernel-module-signature-enforcement when creating the
nodepool. Use --no-enable-kernel-module-signature-enforcement to
disable.
Examples:
gcloud container clusters create-auto example-cluster --enable-kernel-module-signature-enforcement--enable-kubernetes-unstable-apis=API,[API,…]--enable-legacy-lustre-port--enable-lustre-csi-driver--enable-master-global-access--enable-multi-networking--enable-ray-cluster-logging--enable-ray-cluster-monitoring--enable-ray-operator--fleet-project=PROJECT_ID_OR_NUMBER--hpa-profile=HPA_PROFILE--labels=[KEY=VALUE,…]Examples:
gcloud container clusters create-auto example-cluster --labels=label_a=value1,label_b=,label_c=value3--logging=[COMPONENT,…]SYSTEM, WORKLOAD, API_SERVER,
CONTROLLER_MANAGER, SCHEDULER, KCP_HPA
The default is SYSTEM,WORKLOAD. If this flag is set, then
SYSTEM must be included.
For more information, see https://cloud.google.com/kubernetes-engine/docs/concepts/about-logs#available-logs
Examples:
gcloud container clusters create-auto --logging=SYSTEMgcloud container clusters create-auto --logging=SYSTEM,WORKLOADgcloud container clusters create-auto --logging=SYSTEM,WORKLOAD,API_SERVER,CONTROLLER_MANAGER,SCHEDULER,KCP_HPA
--membership-type=MEMBERSHIP_TYPEMEMBERSHIP_TYPE must be (only \ one value is supported):
LIGHTWEIGHT--monitoring=[COMPONENT,…]SYSTEM, WORKLOAD (Deprecated), NONE,
API_SERVER, CONTROLLER_MANAGER,
SCHEDULER, DAEMONSET, DEPLOYMENT,
HPA, POD, STATEFULSET,
STORAGE, CADVISOR, KUBELET,
DCGM, JOBSET
Note: DAEMONSET, DEPLOYMENT, HPA,
POD, STATEFULSET, STORAGE,
CADVISOR, KUBELET, DCGM, and
JOBSET require Google Managed Prometheus to be enabled.
For more information, see https://cloud.google.com/kubernetes-engine/docs/how-to/configure-metrics#available-metrics
Examples:
gcloud container clusters create-auto --monitoring=SYSTEM,API_SERVER,POD,DCGMgcloud container clusters create-auto --monitoring=SYSTEM
--network=NETWORK--node-creation-mode=NODE_CREATION_MODENODE_CREATION_MODE must be one of:
CONTROL_PLANEKUBELET--private-endpoint-subnetwork=NAME--release-channel=CHANNELIf left unspecified and a version is specified, the cluster is enrolled in the most mature release channel where the version is available (first checking STABLE, then REGULAR, and finally RAPID). Otherwise, if no release channel and no version is specified, the cluster is enrolled in the REGULAR channel with its default version. When a cluster is subscribed to a release channel, Google maintains both the master version and the node version. Node auto-upgrade is enabled by default for release channel clusters and can be controlled via upgrade-scope exclusions.
CHANNEL must be one of:
extendedrapidregularstable--security-group=SECURITY_GROUPTo include group membership as part of the claims issued by Google during authentication, a group must be designated as a security group by including it as a direct member of this group.
If unspecified, no groups will be returned for use with RBAC.--security-posture=SECURITY_POSTURE
To enable advanced mode explicitly set the flag to
--security-posture=enterprise.
To enable in standard mode explicitly set the flag to
--security-posture=standard
To disable in an existing cluster, explicitly set the flag to
--security-posture=disabled.
For more information on enablement, see https://cloud.google.com/kubernetes-engine/docs/concepts/about-security-posture-dashboard#feature-enablement.
SECURITY_POSTURE must be one of: disabled,
standard, enterprise.
--services-ipv4-cidr=CIDRCan be specified as a netmask size (e.g. '/20') or as in CIDR notion (e.g. '10.100.0.0/20'). If given as a netmask size, the IP range will be chosen automatically from the available space in the network.
If unspecified, the services CIDR range will be chosen with a default mask size.--services-secondary-range-name=NAME--subnetwork=SUBNETWORK--tier=TIER--tier flag is deprecated. More info: https://cloud.google.com/kubernetes-engine/docs/release-notes#September_02_2025.
TIER must be one of: standard,
enterprise.
--workload-policies=WORKLOAD_POLICIESExamples:
gcloud container clusters create-auto example-cluster --workload-policies=allow-net-admin--workload-vulnerability-scanning=WORKLOAD_VULNERABILITY_SCANNING
To enable Advanced vulnerability insights mode explicitly set the flag to
--workload-vulnerability-scanning=enterprise.
To enable in standard mode explicitly set the flag to
--workload-vulnerability-scanning=standard.
To disable in an existing cluster, explicitly set the flag to
--workload-vulnerability-scanning=disabled.
For more information on enablement, see https://cloud.google.com/kubernetes-engine/docs/concepts/about-security-posture-dashboard#feature-enablement.
WORKLOAD_VULNERABILITY_SCANNING must be one of:
disabled, standard, enterprise.
At most one of these can be specified:
--additive-vpc-scope-dns-domain=ADDITIVE_VPC_SCOPE_DNS_DOMAIN--disable-additive-vpc-scope--aggregation-ca=CA_POOL_PATH--cluster-ca=CA_POOL_PATH--control-plane-disk-encryption-key=KEY--etcd-api-ca=CA_POOL_PATH--etcd-peer-ca=CA_POOL_PATH--gkeops-etcd-backup-encryption-key=KEY--service-account-signing-keys=KEY_VERSION,[KEY_VERSION,…]--service-account-verification-keys=KEY_VERSION,[KEY_VERSION,…]--dataplane-v2-observability-mode=DATAPLANE_V2_OBSERVABILITY_MODEDISABLED.
Advanced Datapath Observability allows for a real-time view into pod-to-pod traffic within your cluster.
Examples:
gcloud container clusters create-auto --dataplane-v2-observability-mode=DISABLEDgcloud container clusters create-auto --dataplane-v2-observability-mode=INTERNAL_VPC_LBgcloud container clusters create-auto --dataplane-v2-observability-mode=EXTERNAL_LBFlag --dataplane-v2-observability-mode has been removed.
DATAPLANE_V2_OBSERVABILITY_MODE must be one of:
DISABLEDEXTERNAL_LBINTERNAL_VPC_LB--disable-dataplane-v2-flow-observability--enable-dataplane-v2-flow-observability--disable-pod-snapshots--enable-pod-snapshots--enable-insecure-binding-system-authenticatedsystem:authenticated as a subject in
ClusterRoleBindings and RoleBindings. Allowing bindings that reference
system:authenticated is a security risk and is not recommended.
To disallow binding system:authenticated in a cluster, explicitly
set the --no-enable-insecure-binding-system-authenticated flag
instead.
--enable-insecure-binding-system-unauthenticatedsystem:unauthenticated and
system:anonymous as subjects in ClusterRoleBindings and
RoleBindings. Allowing bindings that reference
system:unauthenticated and system:anonymous are a
security risk and is not recommended.
To disallow binding system:authenticated in a cluster, explicitly
set the --no-enable-insecure-binding-system-unauthenticated flag
instead.
Master Authorized Networks
--enable-master-authorized-networks--master-authorized-networks flag) to connect to Kubernetes master
through HTTPS. Besides these blocks, the following have access as well:
1) The private network the cluster connects to if `--enable-private-nodes` is specified. 2) Google Compute Engine Public IPs if `--enable-private-nodes` is not specified.
--no-enable-master-authorized-networks to disable. When
disabled, public internet (0.0.0.0/0) is allowed to connect to Kubernetes master
through HTTPS.
--master-authorized-networks=NETWORK,[NETWORK,…]--enable-master-authorized-networks is also specified.
--enable-private-endpoint--enable-private-nodes--master-ipv4-cidr=MASTER_IPV4_CIDR--enable-secret-manager--enable-secret-manager-rotation--secret-manager-rotation-interval=SECRET_MANAGER_ROTATION_INTERVAL--enable-secret-sync--enable-secret-sync-rotation--secret-sync-rotation-interval=SECRET_SYNC_ROTATION_INTERVAL--location=LOCATION--region=REGION--zone=ZONE, -z ZONE--maintenance-minor-version-disruption-interval=MAINTENANCE_MINOR_VERSION_DISRUPTION_INTERVAL--maintenance-patch-version-disruption-interval=MAINTENANCE_PATCH_VERSION_DISRUPTION_INTERVAL--scopes=[SCOPE,…]; default="gke-default"Examples:
gcloud container clusters create-auto example-cluster --scopes=https://www.googleapis.com/auth/devstorage.read_onlygcloud container clusters create-auto example-cluster --scopes=bigquery,storage-rw,compute-roMultiple scopes can be specified, separated by commas. Various scopes are automatically added based on feature usage. Such scopes are not added if an equivalent scope already exists.
monitoring-write: always added to ensure metrics can be written
logging-write: added if Cloud Logging is enabled
(--enable-cloud-logging/--logging)
monitoring: added if Cloud Monitoring is enabled
(--enable-cloud-monitoring/--monitoring)
gke-default: added for Autopilot clusters that use the default
service account
cloud-platform: added for Autopilot clusters that use any other
service account
Default
scopes are assigned to all instances. Available aliases are:
DEPRECATION WARNING: https://www.googleapis.com/auth/sqlservice account scope and
Alias URI bigquery https://www.googleapis.com/auth/bigquery cloud-platform https://www.googleapis.com/auth/cloud-platform cloud-source-repos https://www.googleapis.com/auth/source.full_control cloud-source-repos-ro https://www.googleapis.com/auth/source.read_only compute-ro https://www.googleapis.com/auth/compute.readonly compute-rw https://www.googleapis.com/auth/compute datastore https://www.googleapis.com/auth/datastore default https://www.googleapis.com/auth/devstorage.read_only https://www.googleapis.com/auth/logging.write https://www.googleapis.com/auth/monitoring.write https://www.googleapis.com/auth/pubsub https://www.googleapis.com/auth/service.management.readonly https://www.googleapis.com/auth/servicecontrol https://www.googleapis.com/auth/trace.append gke-default https://www.googleapis.com/auth/devstorage.read_only https://www.googleapis.com/auth/logging.write https://www.googleapis.com/auth/monitoring https://www.googleapis.com/auth/service.management.readonly https://www.googleapis.com/auth/servicecontrol https://www.googleapis.com/auth/trace.append logging-write https://www.googleapis.com/auth/logging.write monitoring https://www.googleapis.com/auth/monitoring monitoring-read https://www.googleapis.com/auth/monitoring.read monitoring-write https://www.googleapis.com/auth/monitoring.write pubsub https://www.googleapis.com/auth/pubsub service-control https://www.googleapis.com/auth/servicecontrol service-management https://www.googleapis.com/auth/service.management.readonly sql (deprecated) https://www.googleapis.com/auth/sqlservice sql-admin https://www.googleapis.com/auth/sqlservice.admin storage-full https://www.googleapis.com/auth/devstorage.full_control storage-ro https://www.googleapis.com/auth/devstorage.read_only storage-rw https://www.googleapis.com/auth/devstorage.read_write taskqueue https://www.googleapis.com/auth/taskqueue trace https://www.googleapis.com/auth/trace.append userinfo-email https://www.googleapis.com/auth/userinfo.email
sql alias do not provide SQL instance management
capabilities and have been deprecated. Please, use https://www.googleapis.com/auth/sqlservice.admin
or sql-admin to manage your Google SQL Service instances.
--service-account=SERVICE_ACCOUNT--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.
gcloud alpha container clusters create-autogcloud beta container clusters create-auto
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2026-05-27 UTC.