- Resource: BareMetalAdminCluster
- State
- BareMetalAdminNetworkConfig
- BareMetalAdminIslandModeCidrConfig
- BareMetalAdminMultipleNetworkInterfacesConfig
- BareMetalAdminControlPlaneConfig
- BareMetalAdminControlPlaneNodePoolConfig
- BareMetalAdminApiServerArgument
- BareMetalAdminLoadBalancerConfig
- BareMetalAdminVipConfig
- BareMetalAdminPortConfig
- BareMetalAdminManualLbConfig
- BareMetalAdminBgpLbConfig
- BareMetalAdminBgpPeerConfig
- BareMetalAdminLoadBalancerAddressPool
- BareMetalAdminLoadBalancerNodePoolConfig
- BareMetalAdminStorageConfig
- BareMetalAdminClusterOperationsConfig
- BareMetalAdminMaintenanceConfig
- BareMetalAdminMaintenanceStatus
- BareMetalAdminMachineDrainStatus
- BareMetalAdminDrainingMachine
- BareMetalAdminDrainedMachine
- BareMetalAdminWorkloadNodeConfig
- BareMetalAdminProxyConfig
- BareMetalAdminSecurityConfig
- BareMetalAdminNodeAccessConfig
- BareMetalAdminOsEnvironmentConfig
- Methods
Resource: BareMetalAdminCluster
Resource that represents a bare metal admin cluster.
| JSON representation |
|---|
{ "name": string, "description": string, "uid": string, "bareMetalVersion": string, "state": enum ( |
| Fields | |
|---|---|
name |
Immutable. The bare metal admin cluster resource name. |
description |
A human readable description of this bare metal admin cluster. |
uid |
Output only. The unique identifier of the bare metal admin cluster. |
bareMetalVersion |
The Anthos clusters on bare metal version for the bare metal admin cluster. |
state |
Output only. The current state of the bare metal admin cluster. |
endpoint |
Output only. The IP address name of bare metal admin cluster's API server. |
reconciling |
Output only. If set, there are currently changes in flight to the bare metal Admin Cluster. |
createTime |
Output only. The time at which this bare metal admin cluster was created. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
updateTime |
Output only. The time at which this bare metal admin cluster was last updated. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
deleteTime |
Output only. The time at which this bare metal admin cluster was deleted. If the resource is not deleted, this must be empty Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
localName |
Output only. The object name of the bare metal cluster custom resource. This field is used to support conflicting names when enrolling existing clusters to the API. When used as a part of cluster enrollment, this field will differ from the ID in the resource name. For new clusters, this field will match the user provided cluster name and be visible in the last component of the resource name. It is not modifiable. All users should use this name to access their cluster using gkectl or kubectl and should expect to see the local name when viewing admin cluster controller logs. |
etag |
This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. Allows clients to perform consistent read-modify-writes through optimistic concurrency control. |
annotations |
Annotations on the bare metal admin cluster. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between. An object containing a list of |
networkConfig |
Network configuration. |
controlPlane |
Control plane configuration. |
loadBalancer |
Load balancer configuration. |
storage |
Storage configuration. |
fleet |
Output only. Fleet configuration for the cluster. |
clusterOperations |
Cluster operations configuration. |
status |
Output only. ResourceStatus representing detailed cluster status. |
maintenanceConfig |
Maintenance configuration. |
maintenanceStatus |
Output only. MaintenanceStatus representing state of maintenance. |
validationCheck |
Output only. ValidationCheck representing the result of the preflight check. |
nodeConfig |
Workload node configuration. |
proxy |
Proxy configuration. |
securityConfig |
Security related configuration. |
nodeAccessConfig |
Node access related configurations. |
osEnvironmentConfig |
OS environment related configurations. |
binaryAuthorization |
Binary Authorization related configurations. |
State
The lifecycle state of the bare metal admin cluster.
| Enums | |
|---|---|
STATE_UNSPECIFIED |
Not set. |
PROVISIONING |
The PROVISIONING state indicates the cluster is being created. |
RUNNING |
The RUNNING state indicates the cluster has been created and is fully usable. |
RECONCILING |
The RECONCILING state indicates that the cluster is being updated. It remains available, but potentially with degraded performance. |
STOPPING |
The STOPPING state indicates the cluster is being deleted. |
ERROR |
The ERROR state indicates the cluster is in a broken unrecoverable state. |
DEGRADED |
The DEGRADED state indicates the cluster requires user action to restore full functionality. |
BareMetalAdminNetworkConfig
BareMetalAdminNetworkConfig specifies the cluster network configuration.
| JSON representation |
|---|
{ "advancedNetworking": boolean, "multipleNetworkInterfacesConfig": { object ( |
| Fields | |
|---|---|
advancedNetworking |
Enables the use of advanced Anthos networking features, such as Bundled Load Balancing with BGP or the egress NAT gateway. Setting configuration for advanced networking features will automatically set this flag. |
multipleNetworkInterfacesConfig |
Configuration for multiple network interfaces. |
Union field cluster_cidr_configuration. The CIDR configuration to be used in the admin cluster. cluster_cidr_configuration can be only one of the following: |
|
islandModeCidr |
Configuration for Island mode CIDR. |
BareMetalAdminIslandModeCidrConfig
BareMetalAdminIslandModeCidrConfig specifies the cluster CIDR configuration while running in island mode.
| JSON representation |
|---|
{ "serviceAddressCidrBlocks": [ string ], "podAddressCidrBlocks": [ string ] } |
| Fields | |
|---|---|
serviceAddressCidrBlocks[] |
Required. All services in the cluster are assigned an RFC1918 IPv4 address from these ranges. This field cannot be changed after creation. |
podAddressCidrBlocks[] |
Required. All pods in the cluster are assigned an RFC1918 IPv4 address from these ranges. This field cannot be changed after creation. |
BareMetalAdminMultipleNetworkInterfacesConfig
Specifies the multiple networking interfaces cluster configuration.
| JSON representation |
|---|
{ "enabled": boolean } |
| Fields | |
|---|---|
enabled |
Whether to enable multiple network interfaces for your pods. When set networkConfig.advanced_networking is automatically set to true. |
BareMetalAdminControlPlaneConfig
BareMetalAdminControlPlaneConfig specifies the control plane configuration.
| JSON representation |
|---|
{ "controlPlaneNodePoolConfig": { object ( |
| Fields | |
|---|---|
controlPlaneNodePoolConfig |
Required. Configures the node pool running the control plane. If specified the corresponding NodePool will be created for the cluster's control plane. The NodePool will have the same name and namespace as the cluster. |
apiServerArgs[] |
Customizes the default API server args. Only a subset of customized flags are supported. Please refer to the API server documentation below to know the exact format: https://kubernetes.io/docs/reference/command-line-tools-reference/kube-apiserver/ |
BareMetalAdminControlPlaneNodePoolConfig
BareMetalAdminControlPlaneNodePoolConfig specifies the control plane node pool configuration. We have a control plane specific node pool config so that we can flexible about supporting control plane specific fields in the future.
| JSON representation |
|---|
{
"nodePoolConfig": {
object ( |
| Fields | |
|---|---|
nodePoolConfig |
Required. The generic configuration for a node pool running the control plane. |
BareMetalAdminApiServerArgument
BareMetalAdminApiServerArgument represents an arg name->value pair. Only a subset of customized flags are supported. Please refer to the API server documentation below to know the exact format: https://kubernetes.io/docs/reference/command-line-tools-reference/kube-apiserver/
| JSON representation |
|---|
{ "argument": string, "value": string } |
| Fields | |
|---|---|
argument |
Required. The argument name as it appears on the API Server command line please make sure to remove the leading dashes. |
value |
Required. The value of the arg as it will be passed to the API Server command line. |
BareMetalAdminLoadBalancerConfig
BareMetalAdminLoadBalancerConfig specifies the load balancer configuration.
| JSON representation |
|---|
{ "vipConfig": { object ( |
| Fields | |
|---|---|
vipConfig |
The VIPs used by the load balancer. |
portConfig |
Configures the ports that the load balancer will listen on. |
Union field load_balancer_configuration. The load balancer configuration to be used in the admin cluster. load_balancer_configuration can be only one of the following: |
|
manualLbConfig |
Manually configured load balancers. |
bgpLbConfig |
Configuration for BGP typed load balancers. |
BareMetalAdminVipConfig
BareMetalAdminVipConfig for bare metal load balancer configurations.
| JSON representation |
|---|
{ "controlPlaneVip": string } |
| Fields | |
|---|---|
controlPlaneVip |
The VIP which you previously set aside for the Kubernetes API of this bare metal admin cluster. |
BareMetalAdminPortConfig
BareMetalAdminPortConfig is the specification of load balancer ports.
| JSON representation |
|---|
{ "controlPlaneLoadBalancerPort": integer } |
| Fields | |
|---|---|
controlPlaneLoadBalancerPort |
The port that control plane hosted load balancers will listen on. |
BareMetalAdminManualLbConfig
BareMetalAdminManualLbConfig represents configuration parameters for a manual load balancer.
| JSON representation |
|---|
{ "enabled": boolean } |
| Fields | |
|---|---|
enabled |
Whether manual load balancing is enabled. |
BareMetalAdminBgpLbConfig
BareMetalAdminBgpLbConfig represents configuration parameters for a Border Gateway Protocol (BGP) load balancer.
| JSON representation |
|---|
{ "asn": string, "bgpPeerConfigs": [ { object ( |
| Fields | |
|---|---|
asn |
Required. BGP autonomous system number (ASN) of the cluster. This field can be updated after cluster creation. |
bgpPeerConfigs[] |
Required. The list of BGP peers that the cluster will connect to. At least one peer must be configured for each control plane node. Control plane nodes will connect to these peers to advertise the control plane VIP. The Services load balancer also uses these peers by default. This field can be updated after cluster creation. |
addressPools[] |
Required. AddressPools is a list of non-overlapping IP pools used by load balancer typed services. All addresses must be routable to load balancer nodes. IngressVIP must be included in the pools. |
loadBalancerNodePoolConfig |
Specifies the node pool running data plane load balancing. L2 connectivity is required among nodes in this pool. If missing, the control plane node pool is used for data plane load balancing. |
BareMetalAdminBgpPeerConfig
BareMetalAdminBgpPeerConfig represents configuration parameters for a Border Gateway Protocol (BGP) peer.
| JSON representation |
|---|
{ "asn": string, "ipAddress": string, "controlPlaneNodes": [ string ] } |
| Fields | |
|---|---|
asn |
Required. BGP autonomous system number (ASN) for the network that contains the external peer device. |
ipAddress |
Required. The IP address of the external peer device. |
controlPlaneNodes[] |
The IP address of the control plane node that connects to the external peer. If you don't specify any control plane nodes, all control plane nodes can connect to the external peer. If you specify one or more IP addresses, only the nodes specified participate in peering sessions. |
BareMetalAdminLoadBalancerAddressPool
Represents an IP pool used by the load balancer.
| JSON representation |
|---|
{ "pool": string, "addresses": [ string ], "avoidBuggyIps": boolean, "manualAssign": boolean } |
| Fields | |
|---|---|
pool |
Required. The name of the address pool. |
addresses[] |
Required. The addresses that are part of this pool. Each address must be either in the CIDR form (1.2.3.0/24) or range form (1.2.3.1-1.2.3.5). |
avoidBuggyIps |
If true, avoid using IPs ending in .0 or .255. This avoids buggy consumer devices mistakenly dropping IPv4 traffic for those special IP addresses. |
manualAssign |
If true, prevent IP addresses from being automatically assigned. |
BareMetalAdminLoadBalancerNodePoolConfig
Specifies the load balancer's node pool configuration.
| JSON representation |
|---|
{
"nodePoolConfig": {
object ( |
| Fields | |
|---|---|
nodePoolConfig |
The generic configuration for a node pool running a load balancer. |
BareMetalAdminStorageConfig
BareMetalAdminStorageConfig specifies the cluster storage configuration.
| JSON representation |
|---|
{ "lvpShareConfig": { object ( |
| Fields | |
|---|---|
lvpShareConfig |
Required. Specifies the config for local PersistentVolumes backed by subdirectories in a shared filesystem. These subdirectores are automatically created during cluster creation. |
lvpNodeMountsConfig |
Required. Specifies the config for local PersistentVolumes backed by mounted node disks. These disks need to be formatted and mounted by the user, which can be done before or after cluster creation. |
BareMetalAdminClusterOperationsConfig
BareMetalAdminClusterOperationsConfig specifies the admin cluster's observability infrastructure.
| JSON representation |
|---|
{ "enableApplicationLogs": boolean } |
| Fields | |
|---|---|
enableApplicationLogs |
Whether collection of application logs/metrics should be enabled (in addition to system logs/metrics). |
BareMetalAdminMaintenanceConfig
BareMetalAdminMaintenanceConfig specifies configurations to put bare metal Admin cluster CRs nodes in and out of maintenance.
| JSON representation |
|---|
{ "maintenanceAddressCidrBlocks": [ string ] } |
| Fields | |
|---|---|
maintenanceAddressCidrBlocks[] |
Required. All IPv4 address from these ranges will be placed into maintenance mode. Nodes in maintenance mode will be cordoned and drained. When both of these are true, the "baremetal.cluster.gke.io/maintenance" annotation will be set on the node resource. |
BareMetalAdminMaintenanceStatus
BareMetalAdminMaintenanceStatus represents the maintenance status for bare metal Admin cluster CR's nodes.
| JSON representation |
|---|
{
"machineDrainStatus": {
object ( |
| Fields | |
|---|---|
machineDrainStatus |
Represents the status of draining and drained machine nodes. This is used to show the progress of cluster upgrade. |
BareMetalAdminMachineDrainStatus
BareMetalAdminMachineDrainStatus represents the status of bare metal node machines that are undergoing drain operations.
| JSON representation |
|---|
{ "drainingMachines": [ { object ( |
| Fields | |
|---|---|
drainingMachines[] |
The list of draning machines. |
drainedMachines[] |
The list of drained machines. |
BareMetalAdminDrainingMachine
BareMetalAdminDrainingMachine represents the machines that are currently draining.
| JSON representation |
|---|
{ "nodeIp": string, "podCount": integer } |
| Fields | |
|---|---|
nodeIp |
Draining machine IP address. |
podCount |
The count of pods yet to drain. |
BareMetalAdminDrainedMachine
BareMetalAdminDrainedMachine represents the machines that are drained.
| JSON representation |
|---|
{ "nodeIp": string } |
| Fields | |
|---|---|
nodeIp |
Drained machine IP address. |
BareMetalAdminWorkloadNodeConfig
BareMetalAdminWorkloadNodeConfig specifies the workload node configurations.
| JSON representation |
|---|
{ "maxPodsPerNode": string } |
| Fields | |
|---|---|
maxPodsPerNode |
The maximum number of pods a node can run. The size of the CIDR range assigned to the node will be derived from this parameter. By default 110 Pods are created per Node. Upper bound is 250 for both HA and non-HA admin cluster. Lower bound is 64 for non-HA admin cluster and 32 for HA admin cluster. |
BareMetalAdminProxyConfig
BareMetalAdminProxyConfig specifies the cluster proxy configuration.
| JSON representation |
|---|
{ "uri": string, "noProxy": [ string ] } |
| Fields | |
|---|---|
uri |
Required. Specifies the address of your proxy server. Examples: WARNING: Do not provide credentials in the format |
noProxy[] |
A list of IPs, hostnames, and domains that should skip the proxy. Examples: ["127.0.0.1", "example.com", ".corp", "localhost"]. |
BareMetalAdminSecurityConfig
Specifies the security related settings for the bare metal admin cluster.
| JSON representation |
|---|
{
"authorization": {
object ( |
| Fields | |
|---|---|
authorization |
Configures user access to the admin cluster. |
BareMetalAdminNodeAccessConfig
Specifies the node access related settings for the bare metal admin cluster.
| JSON representation |
|---|
{ "loginUser": string } |
| Fields | |
|---|---|
loginUser |
Required. LoginUser is the user name used to access node machines. It defaults to "root" if not set. |
BareMetalAdminOsEnvironmentConfig
Specifies operating system operation settings for cluster provisioning.
| JSON representation |
|---|
{ "packageRepoExcluded": boolean } |
| Fields | |
|---|---|
packageRepoExcluded |
Whether the package repo should be added when initializing bare metal machines. |
Methods |
|
|---|---|
|
Creates a new bare metal admin cluster in a given project and location. |
|
Enrolls an existing bare metal admin cluster to the Anthos On-Prem API within a given project and location. |
|
Gets details of a single bare metal admin cluster. |
|
Lists bare metal admin clusters in a given project and location. |
|
Updates the parameters of a single bare metal admin cluster. |
|
Queries the bare metal admin cluster version config. |