gcloud alpha container bare-metal clusters create

NAME
gcloud alpha container bare-metal clusters create - create an Anthos cluster on bare metal
SYNOPSIS
gcloud alpha container bare-metal clusters create (CLUSTER : --location=LOCATION) --version=VERSION (--admin-cluster-membership=ADMIN_CLUSTER_MEMBERSHIP : --admin-cluster-membership-location=ADMIN_CLUSTER_MEMBERSHIP_LOCATION --admin-cluster-membership-project=ADMIN_CLUSTER_MEMBERSHIP_PROJECT) (--control-plane-load-balancer-port=CONTROL_PLANE_LOAD_BALANCER_PORT (--control-plane-vip=CONTROL_PLANE_VIP --ingress-vip=INGRESS_VIP) (--enable-manual-lb | [--bgp-address-pools=[addresses=ADDRESSES],[avoid-buggy-ips=AVOID-BUGGY-IPS],[manual-assign=MANUAL-ASSIGN],[pool=POOL] --bgp-asn=BGP_ASN --bgp-peer-configs=[asn=ASN,ip=IP,control-plane-nodes=NODE_IP_1;NODE_IP_2,…] : [--bgp-load-balancer-node-configs=[node-ip=IP,labels=KEY1=VALUE1;KEY2=VALUE2,…] : --bgp-load-balancer-node-labels=[KEY=VALUE,…] --bgp-load-balancer-node-taints=[KEY=VALUE:EFFECT,…] --bgp-load-balancer-registry-burst=BGP_LOAD_BALANCER_REGISTRY_BURST --bgp-load-balancer-registry-pull-qps=BGP_LOAD_BALANCER_REGISTRY_PULL_QPS --disable-bgp-load-balancer-serialize-image-pulls]] | [--metal-lb-address-pools=[addresses=ADDRESSES],[avoid-buggy-ips=AVOID-BUGGY-IPS],[manual-assign=MANUAL-ASSIGN],[pool=POOL] : --metal-lb-load-balancer-node-configs=[labels=LABELS],[node-ip=NODE-IP] --metal-lb-load-balancer-node-labels=[KEY=VALUE,…] --metal-lb-load-balancer-node-taints=[KEY=VALUE:EFFECT,…] --disable-metal-lb-load-balancer-serialize-image-pulls --metal-lb-load-balancer-registry-burst=METAL_LB_LOAD_BALANCER_REGISTRY_BURST --metal-lb-load-balancer-registry-pull-qps=METAL_LB_LOAD_BALANCER_REGISTRY_PULL_QPS])) ((((--control-plane-node-configs=[labels=LABELS],[node-ip=NODE-IP] : --control-plane-node-labels=[KEY=VALUE,…] --control-plane-node-taints=[KEY=VALUE:EFFECT,…] --control-plane-registry-burst=CONTROL_PLANE_REGISTRY_BURST --control-plane-registry-pull-qps=CONTROL_PLANE_REGISTRY_PULL_QPS --disable-control-plane-serialize-image-pulls))) : --api-server-args=[KEY=VALUE,…]) ((--lvp-node-mounts-config-path=LVP_NODE_MOUNTS_CONFIG_PATH --lvp-node-mounts-config-storage-class=LVP_NODE_MOUNTS_CONFIG_STORAGE_CLASS) ((--lvp-share-path=LVP_SHARE_PATH --lvp-share-storage-class=LVP_SHARE_STORAGE_CLASS) : --shared-path-pv-count=SHARED_PATH_PV_COUNT)) [--admin-users=ADMIN_USERS] [--annotations=[KEY=VALUE,…]] [--async] [--binauthz-evaluation-mode=BINAUTHZ_EVALUATION_MODE] [--description=DESCRIPTION] [--enable-application-logs] [--login-user=LOGIN_USER] [--maintenance-address-cidr-blocks=[MAINTENANCE_ADDRESS_CIDR_BLOCKS,…]] [--upgrade-control-plane=UPGRADE_CONTROL_PLANE] [--validate-only] [--container-runtime=CONTAINER_RUNTIME --max-pods-per-node=MAX_PODS_PER_NODE] [[(--island-mode-pod-address-cidr-blocks=POD_ADDRESS,[POD_ADDRESS,…] --island-mode-service-address-cidr-blocks=SERVICE_ADDRESS,[…]) : --enable-advanced-networking --enable-multi-nic-config --enable-sr-iov-config]] [--uri=URI : --no-proxy=[NO_PROXY,…]] [GCLOUD_WIDE_FLAG]
DESCRIPTION
(ALPHA) Create an Anthos cluster on bare metal.
EXAMPLES
To create a cluster named my-cluster managed in location us-west1, run:
gcloud alpha container bare-metal clusters create my-cluster --location=us-west1
POSITIONAL ARGUMENTS
Cluster resource - 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.

--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;
  • set the property container_bare_metal/location.
REQUIRED FLAGS
--version=VERSION
Anthos cluster on bare metal version for the user cluster resource.
Admin cluster membership resource - membership of the admin cluster. Membership name is the same as the admin cluster name.

Examples:

gcloud alpha container bare-metal clusters create
      --admin-cluster-membership=projects/example-project-12345/locations/us-west1/memberships/example-admin-cluster-name

or

gcloud alpha container bare-metal clusters create
      --admin-cluster-membership-project=example-project-12345
      --admin-cluster-membership-location=us-west1
      --admin-cluster-membership=example-admin-cluster-name
The arguments in this group can be used to specify the attributes of this resource.

This must be specified.

--admin-cluster-membership=ADMIN_CLUSTER_MEMBERSHIP
ID of the admin_cluster_membership or fully qualified identifier for the admin_cluster_membership.

To set the admin_cluster_membership attribute:

  • provide the argument --admin-cluster-membership on the command line.

This flag argument must be specified if any of the other arguments in this group are specified.

--admin-cluster-membership-location=ADMIN_CLUSTER_MEMBERSHIP_LOCATION
Google Cloud location for the admin_cluster_membership.

To set the location attribute:

  • provide the argument --admin-cluster-membership on the command line with a fully specified name;
  • provide the argument --admin-cluster-membership-location on the command line.
--admin-cluster-membership-project=ADMIN_CLUSTER_MEMBERSHIP_PROJECT
Google Cloud project for the admin_cluster_membership.

To set the project attribute:

  • provide the argument --admin-cluster-membership on the command line with a fully specified name;
  • provide the argument --admin-cluster-membership-project on the command line.
Anthos on bare metal cluster load balancer configuration.

This must be specified.

Control plane load balancer port configuration.

This must be specified.

--control-plane-load-balancer-port=CONTROL_PLANE_LOAD_BALANCER_PORT
Control plane load balancer port configuration.
VIPs used by the load balancer.

This must be specified.

--control-plane-vip=CONTROL_PLANE_VIP
VIP for the Kubernetes API of this cluster.

This flag argument must be specified if any of the other arguments in this group are specified.

--ingress-vip=INGRESS_VIP
VIP for ingress traffic into this cluster.

This flag argument must be specified if any of the other arguments in this group are specified.

Populate one of the load balancers.

Exactly one of these must be specified:

Manual load balancer configuration.
--enable-manual-lb
ManualLB typed load balancers configuration.
BGP load balancer configuration.
--bgp-address-pools=[addresses=ADDRESSES],[avoid-buggy-ips=AVOID-BUGGY-IPS],[manual-assign=MANUAL-ASSIGN],[pool=POOL]
BGP load balancer address pools configurations.

Examples:

To specify configurations for two address pools pool1 and pool2,

gcloud alpha container bare-metal clusters create example_cluster
      --bgp-address-pools 'pool=pool1,avoid-buggy-ips=True,manual-assign=True,addresses=192.168.1.1/32;192.168.1.2-192.168.1.3'
      --bgp-address-pools 'pool=pool2,avoid-buggy-ips=False,manual-assign=False,addresses=192.168.2.1/32;192.168.2.2-192.168.2.3'

Use quote around the flag value to escape semicolon in the terminal.

This flag argument must be specified if any of the other arguments in this group are specified.

--bgp-asn=BGP_ASN
BGP autonomous system number (ASN) of the cluster.

This flag argument must be specified if any of the other arguments in this group are specified.

--bgp-peer-configs=[asn=ASN,ip=IP,control-plane-nodes=NODE_IP_1;NODE_IP_2,…]
List of BGP peers that the cluster will connect to. At least one peer must be configured for each control plane node.

Examples:

To specify configurations for two peers of BGP autonomous system number (ASN) 10000 and 20000,

gcloud alpha container bare-metal clusters create example_cluster
      --bgp-peer-configs 'asn=10000,ip=192.168.1.1,control-plane-nodes=192.168.1.2;192.168.1.3'
      --bgp-peer-configs 'asn=20000,ip=192.168.2.1,control-plane-nodes=192.168.2.2;192.168.2.3'

Use quote around the flag value to escape semicolon in the terminal.

This flag argument must be specified if any of the other arguments in this group are specified.

--bgp-load-balancer-node-configs=[node-ip=IP,labels=KEY1=VALUE1;KEY2=VALUE2,…]
BGP load balancer data plane node configurations.

Examples:

To specify configurations for two nodes of IP 192.168.0.1 and 192.168.1.1,

gcloud alpha container bare-metal clusters create example_cluster
      --bgp-load-balancer-node-configs 'node-ip=192.168.0.1,labels=KEY1=VALUE1;KEY2=VALUE2'
      --bgp-load-balancer-node-configs 'node-ip=192.168.1.1,labels=KEY3=VALUE3'

Use quote around the flag value to escape semicolon in the terminal.

This flag argument must be specified if any of the other arguments in this group are specified.

--bgp-load-balancer-node-labels=[KEY=VALUE,…]
Labels assigned to nodes of a BGP node pool.
--bgp-load-balancer-node-taints=[KEY=VALUE:EFFECT,…]
Node taint applied to every Kubernetes node in a node pool.
Modifiable kubelet configurations for bare metal machines.
--bgp-load-balancer-registry-burst=BGP_LOAD_BALANCER_REGISTRY_BURST
Maximum size of bursty pulls, temporarily allow pulls to burst to this number, while still not exceeding registry_pull_qps.
--bgp-load-balancer-registry-pull-qps=BGP_LOAD_BALANCER_REGISTRY_PULL_QPS
Limit of registry pulls per second.
--disable-bgp-load-balancer-serialize-image-pulls
If set, prevent the Kubelet from pulling multiple images at a time.
MetalLB load balancer configuration.
MetalLB address pools configuration.

Exactly one of these must be specified:

--metal-lb-address-pools=[addresses=ADDRESSES],[avoid-buggy-ips=AVOID-BUGGY-IPS],[manual-assign=MANUAL-ASSIGN],[pool=POOL]
MetalLB load balancer configurations.

Examples:

To specify MetalLB load balancer configurations for two address pools pool1 and pool2,

gcloud alpha container bare-metal clusters create example_cluster
      --metal-lb-address-pools 'pool=pool1,avoid-buggy-ips=True,manual-assign=True,addresses=192.168.1.1/32;192.168.1.2-192.168.1.3'
      --metal-lb-address-pools 'pool=pool2,avoid-buggy-ips=False,manual-assign=False,addresses=192.168.2.1/32;192.168.2.2-192.168.2.3'

Use quote around the flag value to escape semicolon in the terminal.

Anthos on bare metal node pool configuration for MetalLB load balancer nodes.
MetalLB Node Pool configuration.
Populate MetalLB load balancer node config.

At most one of these can be specified:

--metal-lb-load-balancer-node-configs=[labels=LABELS],[node-ip=NODE-IP]
MetalLB load balancer node configuration.
--metal-lb-load-balancer-node-labels=[KEY=VALUE,…]
Labels assigned to nodes of a MetalLB node pool.
--metal-lb-load-balancer-node-taints=[KEY=VALUE:EFFECT,…]
Node taint applied to every node in a MetalLB node pool.
Modifiable kubelet configurations for bare metal machines.
--disable-metal-lb-load-balancer-serialize-image-pulls
If set, prevent the Kubelet from pulling multiple images at a time.
--metal-lb-load-balancer-registry-burst=METAL_LB_LOAD_BALANCER_REGISTRY_BURST
Maximum size of bursty pulls, temporarily allow pulls to burst to this number, while still not exceeding registry_pull_qps.
--metal-lb-load-balancer-registry-pull-qps=METAL_LB_LOAD_BALANCER_REGISTRY_PULL_QPS
Limit of registry pulls per second.
Anthos on bare metal cluster control plane configuration.

At least one of these must be specified:

--api-server-args=[KEY=VALUE,…]
API Server argument configuration.
Anthos on bare metal cluster control plane node pool configuration.

This must be specified.

Anthos on bare metal node pool configuration for control plane nodes.

This must be specified.

Anthos on bare metal node configuration for control plane nodes.

This must be specified.

Populate control plane node config.

Exactly one of these must be specified:

--control-plane-node-configs=[labels=LABELS],[node-ip=NODE-IP]
Control plane node configuration.
--control-plane-node-labels=[KEY=VALUE,…]
Labels assigned to nodes of a node pool.
--control-plane-node-taints=[KEY=VALUE:EFFECT,…]
Node taint applied to every Kubernetes node in a node pool.
Modifiable kubelet configurations for bare metal machines.
--control-plane-registry-burst=CONTROL_PLANE_REGISTRY_BURST
Maximum size of bursty pulls, temporarily allow pulls to burst to this number, while still not exceeding registry_pull_qps.
--control-plane-registry-pull-qps=CONTROL_PLANE_REGISTRY_PULL_QPS
Limit of registry pulls per second.
--disable-control-plane-serialize-image-pulls
If set, prevent the Kubelet from pulling multiple images at a time.
Anthos on bare metal cluster storage configuration.

This must be specified.

LVP node mounts class and path used by the storage.

This must be specified.

--lvp-node-mounts-config-path=LVP_NODE_MOUNTS_CONFIG_PATH
Path for the LVP node mounts class.

This flag argument must be specified if any of the other arguments in this group are specified.

--lvp-node-mounts-config-storage-class=LVP_NODE_MOUNTS_CONFIG_STORAGE_CLASS
Storage class for LVP node mounts.

This flag argument must be specified if any of the other arguments in this group are specified.

LVP share configuration.

At least one of these must be specified:

--shared-path-pv-count=SHARED_PATH_PV_COUNT
Number of subdirectories to create under path.
LVP share class and path used by the storage.

This must be specified.

--lvp-share-path=LVP_SHARE_PATH
Path for the LVP share class.

This flag argument must be specified if any of the other arguments in this group are specified.

--lvp-share-storage-class=LVP_SHARE_STORAGE_CLASS
Storage class for LVP share.

This flag argument must be specified if any of the other arguments in this group are specified.

OPTIONAL FLAGS
Anthos on bare metal cluster security configuration.
User cluster authorization configurations to bootstrap onto the admin cluster
--admin-users=ADMIN_USERS
Users that will be granted the cluster-admin role on the cluster, providing full access to the cluster.
--annotations=[KEY=VALUE,…]
Annotations on the Anthos on bare metal resource.
--async
Return immediately, without waiting for the operation in progress to complete.
--binauthz-evaluation-mode=BINAUTHZ_EVALUATION_MODE
Set Binary Authorization evaluation mode for this cluster. BINAUTHZ_EVALUATION_MODE must be one of: DISABLED, PROJECT_SINGLETON_POLICY_ENFORCE.
--description=DESCRIPTION
Description for the resource.
Anthos on bare metal cluster operations configuration.
--enable-application-logs
Whether collection of application logs/metrics should be enabled (in addition to system logs/metrics).
Anthos on bare metal node access related settings for the user cluster.
--login-user=LOGIN_USER
User name used to access node machines.
Anthos on bare metal cluster maintenance configuration.
--maintenance-address-cidr-blocks=[MAINTENANCE_ADDRESS_CIDR_BLOCKS,…]
IPv4 addresses to be placed into maintenance mode.
Upgrade policy for the cluster.
--upgrade-control-plane=UPGRADE_CONTROL_PLANE
If not specified, worker node pools are upgraded with the control plane.

Examples:

To upgrade control plane only and keep node pools version unchanged,
gcloud alpha container bare-metal clusters create --upgrade-control-plane=True
To upgrade both control plane and node pools,
gcloud alpha container bare-metal clusters create --upgrade-control-plane=False
--validate-only
If set, only validate the request, but do not actually perform the operation.
Anthos on bare metal cluster workload node configuration.
--container-runtime=CONTAINER_RUNTIME
Container runtime which will be used in the bare metal user cluster.
--max-pods-per-node=MAX_PODS_PER_NODE
Maximum number of pods a node can run.
Anthos on bare metal cluster network configurations.
--enable-advanced-networking
Enables the use of advanced Anthos networking features, such as Bundled Load Balancing with BGP or the egress NAT gateway.
Multiple networking interfaces cluster configurations.
--enable-multi-nic-config
If set, enable multiple network interfaces for your pods.
SR-IOV networking operator configurations.
--enable-sr-iov-config
If set, install the SR-IOV operator.
Populate one of the network configs.

This must be specified.

Island mode CIDR network configuration.
--island-mode-pod-address-cidr-blocks=POD_ADDRESS,[POD_ADDRESS,…]
IPv4 address range for all pods in the cluster.

This flag argument must be specified if any of the other arguments in this group are specified.

--island-mode-service-address-cidr-blocks=SERVICE_ADDRESS,[…]
IPv4 address range for all services in the cluster.

This flag argument must be specified if any of the other arguments in this group are specified.

Anthos on bare metal cluster proxy configuration.
--uri=URI
Address of the proxy server.

This flag argument must be specified if any of the other arguments in this group are specified.

--no-proxy=[NO_PROXY,…]
List of IPs, hostnames, and domains that should skip the proxy.
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 bare-metal clusters create
gcloud beta container bare-metal clusters create