- NAME
-
- gcloud alpha edge-cloud container clusters create - create an Edge Container cluster
- SYNOPSIS
-
-
gcloud alpha edge-cloud container clusters create
(CLUSTER
:--location
=LOCATION
) [--admin-users
=ADMIN_USERS
] [--async
] [--cluster-ipv4-cidr
=CLUSTER_IPV4_CIDR
; default="10.0.0.0/17"] [--cluster-ipv6-cidr
=CLUSTER_IPV6_CIDR
] [--control-plane-kms-key
=CONTROL_PLANE_KMS_KEY
] [--control-plane-machine-filter
=CONTROL_PLANE_MACHINE_FILTER
] [--control-plane-node-count
=CONTROL_PLANE_NODE_COUNT
] [--control-plane-node-location
=CONTROL_PLANE_NODE_LOCATION
] [--control-plane-node-storage-schema
=CONTROL_PLANE_NODE_STORAGE_SCHEMA
] [--control-plane-shared-deployment-policy
=CONTROL_PLANE_SHARED_DEPLOYMENT_POLICY
] [--default-max-pods-per-node
=DEFAULT_MAX_PODS_PER_NODE
] [--external-lb-address-pools
=EXTERNAL_LB_ADDRESS_POOLS
] [--external-lb-ipv4-address-pools
=[EXTERNAL_LB_IPV4_ADDRESS
,…]] [--external-lb-ipv6-address-pools
=[EXTERNAL_LB_IPV6_ADDRESS
,…]] [--fleet-project
=FLEET_PROJECT
] [--labels
=[KEY
=VALUE
,…]] [--lro-timeout
=LRO_TIMEOUT
] [--maintenance-window-end
=MAINTENANCE_WINDOW_END
] [--maintenance-window-recurrence
=MAINTENANCE_WINDOW_RECURRENCE
] [--maintenance-window-start
=MAINTENANCE_WINDOW_START
] [--offline-reboot-ttl
=OFFLINE_REBOOT_TTL
] [--release-channel
=RELEASE_CHANNEL
; default="RELEASE_CHANNEL_UNSPECIFIED"] [--services-ipv4-cidr
=SERVICES_IPV4_CIDR
; default="10.96.0.0/12"] [--services-ipv6-cidr
=SERVICES_IPV6_CIDR
] [--system-addons-config
=SYSTEM_ADDONS_CONFIG
] [--version
=VERSION
] [--zone-storage-kms-key
=ZONE_STORAGE_KMS_KEY
] [GCLOUD_WIDE_FLAG …
]
-
- DESCRIPTION
-
(ALPHA)
Create an Edge Container cluster. - EXAMPLES
-
To create a cluster called
my-cluster
in region us-central1, run:gcloud alpha edge-cloud container clusters create my-cluster --location=us-central1
- POSITIONAL ARGUMENTS
-
-
Cluster resource - Edge Container cluster to create. The arguments in this group
can be used to specify the attributes of this resource. (NOTE) Some attributes
are not given arguments in this group but can be set in other ways.
To set the
project
attribute:-
provide the argument
cluster
on the command line with a fully specified name; -
provide the argument
--project
on the command line; -
set the property
core/project
.
This must be specified.
CLUSTER
-
ID of the cluster or fully qualified identifier for the cluster.
To set the
cluster
attribute:-
provide the argument
cluster
on the command line.
This positional argument must be specified if any of the other arguments in this group are specified.
-
provide the argument
--location
=LOCATION
-
Google Cloud location for the cluster.
To set the
location
attribute:-
provide the argument
cluster
on the command line with a fully specified name; -
provide the argument
--location
on the command line.
-
provide the argument
-
provide the argument
-
Cluster resource - Edge Container cluster to create. The arguments in this group
can be used to specify the attributes of this resource. (NOTE) Some attributes
are not given arguments in this group but can be set in other ways.
- FLAGS
-
--admin-users
=ADMIN_USERS
- Username (Google email address) of the user who should be granted cluster-admin initially. This currently supports exactly one admin. If not set, the account issuing the creation request will be used by default.
--async
- Return immediately, without waiting for the operation in progress to complete.
--cluster-ipv4-cidr
=CLUSTER_IPV4_CIDR
; default="10.0.0.0/17"- All pods in the cluster are assigned an RFC1918 IPv4 address from this block. This field cannot be changed after creation.
--cluster-ipv6-cidr
=CLUSTER_IPV6_CIDR
- If specified, all pods in the cluster are assigned an RFC4193 IPv6 address from this block. This field cannot be changed after creation.
--control-plane-kms-key
=CONTROL_PLANE_KMS_KEY
-
Google Cloud KMS key that will be used to secure persistent disks of the control
plane VMs of a remote control plane cluster. The Edge Container service account
for this project must have
roles/cloudkms.cryptoKeyEncrypterDecrypter
on the key.If not provided, a Google-managed key will be used by default.
--control-plane-machine-filter
=CONTROL_PLANE_MACHINE_FILTER
- Only machines matching this filter will be allowed to host local control plane nodes. The filtering language accepts strings like "name=<name>", and is documented here: AIP-160.
--control-plane-node-count
=CONTROL_PLANE_NODE_COUNT
- The number of local control plane nodes in a cluster. Use one to create a single-node control plane or use three to create a high availability control plane. Any other numbers of nodes will not be accepted.
--control-plane-node-location
=CONTROL_PLANE_NODE_LOCATION
- Google Edge Cloud zone where the local control plane nodes will be created.
--control-plane-node-storage-schema
=CONTROL_PLANE_NODE_STORAGE_SCHEMA
- Name for the storage schema of control plane nodes.
- Policy configuration about how user application is deployed for local control plane cluster. It supports two values, ALLOWED and DISALLOWED. ALLOWED means that user application can be deployed on control plane nodes. DISALLOWED means that user application can not be deployed on control plane nodes. Instead, it can only be deployed on worker nodes. By default, this value is DISALLOWED. The input is case insensitive.
--default-max-pods-per-node
=DEFAULT_MAX_PODS_PER_NODE
- The default maximum number of pods per node.
--external-lb-address-pools
=EXTERNAL_LB_ADDRESS_POOLS
-
Path to a YAML/JSON file containing external load balancer pool configuration.
External load balancer pools are used for data plane load balancing of local
control plane clusters, with custom config such as address pool name. Either
--external-lb-ipv4-address-pools or --external-lb-address-pools should be
specified. Existing pools cannot be updated after cluster creation; only adding
new pools is allowed currently.
For example,
{
"externalLoadBalancerAddressPools": [
{
"addressPool": "MyLoadBalancerPool",
"ipv4Range": ["10.200.0.200-10.200.0.204","10.200.0.300/30"],
"avoidBuggyIps": "false",
"manualAssign": "true"
}
]
}
address_pool
- Optional. A name that identifies an address pool. If a name is not specified, an auto-generated one will be used.
ipv4_range
-
Mandatory. One or more ipv4 address range, each must be specified as one of the
following two types of values:
1. A IPv4 address range, for example, "10.0.0.1-10.0.0.10". A range that contains a single IP (e.g. "10.0.0.1-10.0.0.1") is allowed.
2. A IPv4 CIDR block, for example, "10.0.0.1/24"
ipv6_range
-
Optional. One or more ipv6 address range, each must be specified as one of the
following two types of values:
1. A IPv6 address range, for example, "2001:db8::1-2001:db8::a". A range that contains a single IP (e.g. "2001:db8::1-2001:db8::1") is allowed.
2. A IPv6 CIDR block, for example, "2001:db8::/120"
avoid_buggy_ips
- Optional. If true, the pool omits IP addresses ending in .0 and .255. Some network hardware drops traffic to these special addresses. Its default value is false.
manual_assign
- Optional. If true, addresses in this pool are not automatically assigned to Kubernetes Services. If true, an IP address in this pool is used only when it is specified explicitly by a service. Its default value is false.
--external-lb-ipv4-address-pools
=[EXTERNAL_LB_IPV4_ADDRESS
,…]- IPv4 address pools that are used for data plane load balancing of local control plane clusters. Existing pools cannot be updated after cluster creation; only adding new pools is allowed. Each address pool must be specified as one of the following two types of values: 1. A IPv4 address range, for example, "10.0.0.1-10.0.0.10". A range that contains a single IP (e.g. "10.0.0.1-10.0.0.1") is allowed. 2. A IPv4 CIDR block, for example, "10.0.0.1/24" Use comma when specifying multiple address pools, for example: --external-lb-ipv4-address-pools 10.0.0.1-10.0.0.10,10.0.0.1/24
--external-lb-ipv6-address-pools
=[EXTERNAL_LB_IPV6_ADDRESS
,…]- IPv6 address pools that are used for data plane load balancing of local control plane clusters. Existing pools cannot be updated after cluster creation; only adding new pools is allowed. Each address pool must be specified as one of the following two types of values: 1. A IPv6 address range, for example, "2001:db8::1-2001:db8::a". A range that contains a single IP (e.g. "2001:db8::1-2001:db8::1") is allowed. 2. A IPv6 CIDR block, for example, "2001:db8::/120" Use comma when specifying multiple address pools, for example: --external-lb-ipv6-address-pools 2001:db8::1-2001:db8::a,2001:db8::/120
--fleet-project
=FLEET_PROJECT
- Name of the Fleet host project where the cluster is registered.
--labels
=[KEY
=VALUE
,…]-
List of label KEY=VALUE pairs to add.
Keys must start with a lowercase character and contain only hyphens (-), underscores (
_
), lowercase characters, and numbers. Values must contain only hyphens (-), underscores (_
), lowercase characters, and numbers. --lro-timeout
=LRO_TIMEOUT
- Overwrite the default LRO maximum timeout.
--maintenance-window-end
=MAINTENANCE_WINDOW_END
- End time of the recurring cluster maintenance window in the RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt) format. E.g. "2021-01-01T00:00:00Z" or "2021-01-01T00:00:00-05:00"
--maintenance-window-recurrence
=MAINTENANCE_WINDOW_RECURRENCE
- An RFC 5545 (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) recurrence rule for how the cluster maintenance window recurs. They go on for the span of time between the start and the end time. E.g. FREQ=WEEKLY;BYDAY=SU.
--maintenance-window-start
=MAINTENANCE_WINDOW_START
- Start time of the recurring cluster maintenance window in the RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt) format. E.g. "2021-01-01T00:00:00Z" or "2021-01-01T00:00:00-05:00"
--offline-reboot-ttl
=OFFLINE_REBOOT_TTL
- Specifies the maximum duration a node can reboot offline (without connection to Google) and then rejoin its cluster to resume its designated workloads. This duration is relative to the machine's most recent connection to Google. The maximum allowed duration is 7 days. To disallow offline reboot, set the duration to "PT0S". The parameter should be an ISO 8601 duration string, for example, "P1DT1H2M3S".
--release-channel
=RELEASE_CHANNEL
; default="RELEASE_CHANNEL_UNSPECIFIED"- Release channel a cluster is subscribed to. It supports two values, NONE and REGULAR. NONE is used to opt out of any release channel. Clusters subscribed to the REGULAR channel will be automatically upgraded to versions that are considered GA quality, and cannot be manually upgraded. Additionally, if the REGULAR channel is used, a specific target version cannot be set with the 'version' flag. If left unspecified, the release channel will default to REGULAR.
--services-ipv4-cidr
=SERVICES_IPV4_CIDR
; default="10.96.0.0/12"- All services in the cluster are assigned an RFC1918 IPv4 address from this block. This field cannot be changed after creation.
--services-ipv6-cidr
=SERVICES_IPV6_CIDR
- If specified, all services in the cluster are assigned an RFC4193 IPv6 address from this block. This field cannot be changed after creation.
--system-addons-config
=SYSTEM_ADDONS_CONFIG
-
If specified as a YAML/JSON file, customized configuration in this file will be
applied to the system add-ons.
For example,
{ "systemAddonsConfig": { "ingress": { "disabled": true, "ipv4_vip": "10.0.0.1" } } }
--version
=VERSION
- Target cluster version. For example: "1.5.0".
--zone-storage-kms-key
=ZONE_STORAGE_KMS_KEY
-
Google Cloud KMS key that will be used to encrypt and decrypt the root key for
zone storage encryption. The zone storage KMS key is only applicable to the
storage infra cluster. The Edge Container service account for this project must
have
roles/cloudkms.cryptoKeyEncrypterDecrypter
on the key.If not provided, a Google-managed key will be used by default.
- 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. - API REFERENCE
- This command uses the edgecontainer/v1alpha API. The full documentation for this API can be found at: https://cloud.google.com/edge-cloud
- 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. This variant is also available:
gcloud edge-cloud container clusters create
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 2024-10-08 UTC.