- Resource: BareMetalCluster
- State
- BareMetalNetworkConfig
- BareMetalIslandModeCidrConfig
- BareMetalMultipleNetworkInterfacesConfig
- BareMetalSrIovConfig
- BareMetalControlPlaneConfig
- BareMetalControlPlaneNodePoolConfig
- BareMetalApiServerArgument
- BareMetalLoadBalancerConfig
- BareMetalVipConfig
- BareMetalPortConfig
- BareMetalMetalLbConfig
- BareMetalLoadBalancerAddressPool
- BareMetalLoadBalancerNodePoolConfig
- BareMetalManualLbConfig
- BareMetalBgpLbConfig
- BareMetalBgpPeerConfig
- BareMetalStorageConfig
- BareMetalProxyConfig
- BareMetalClusterOperationsConfig
- BareMetalMaintenanceConfig
- BareMetalWorkloadNodeConfig
- ContainerRuntime
- BareMetalSecurityConfig
- BareMetalMaintenanceStatus
- BareMetalMachineDrainStatus
- BareMetalDrainingMachine
- BareMetalDrainedMachine
- BareMetalNodeAccessConfig
- BareMetalOsEnvironmentConfig
- BareMetalClusterUpgradePolicy
- NodePoolPolicy
- Methods
Resource: BareMetalCluster
Resource that represents a bare metal user cluster.
JSON representation |
---|
{ "name": string, "adminClusterMembership": string, "description": string, "bareMetalVersion": string, "uid": string, "state": enum ( |
Fields | |
---|---|
name |
Immutable. The bare metal user cluster resource name. |
adminClusterMembership |
Required. The admin cluster this bare metal user cluster belongs to. This is the full resource name of the admin cluster's fleet membership. |
description |
A human readable description of this bare metal user cluster. |
bareMetalVersion |
Required. The Anthos clusters on bare metal version for your user cluster. |
uid |
Output only. The unique identifier of the bare metal user cluster. |
state |
Output only. The current state of the bare metal user cluster. |
endpoint |
Output only. The IP address of the bare metal user cluster's API server. |
reconciling |
Output only. If set, there are currently changes in flight to the bare metal user cluster. |
createTime |
Output only. The time when the bare metal user cluster was created. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: |
updateTime |
Output only. The time when the bare metal user cluster was last updated. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: |
deleteTime |
Output only. The time when the bare metal user cluster was deleted. If the resource is not deleted, this must be empty A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: |
localName |
Output only. The object name of the bare metal user cluster custom resource on the associated admin cluster. 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 name 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. When the local name and cluster name differ, the local name is used in the admin cluster controller logs. You use the cluster name when accessing the cluster using bmctl and kubectl. |
etag |
Output only. 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 user 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 |
Required. Network configuration. |
controlPlane |
Required. Control plane configuration. |
loadBalancer |
Required. Load balancer configuration. |
storage |
Required. Storage configuration. |
proxy |
Proxy configuration. |
clusterOperations |
Cluster operations configuration. |
maintenanceConfig |
Maintenance configuration. |
nodeConfig |
Workload node configuration. |
fleet |
Output only. Fleet configuration for the cluster. |
status |
Output only. Detailed cluster status. |
validationCheck |
Output only. The result of the preflight check. |
securityConfig |
Security related setting configuration. |
maintenanceStatus |
Output only. Status of on-going maintenance tasks. |
adminClusterName |
Output only. The resource name of the bare metal admin cluster managing this user cluster. |
nodeAccessConfig |
Node access related configurations. |
osEnvironmentConfig |
OS environment related configurations. |
binaryAuthorization |
Binary Authorization related configurations. |
upgradePolicy |
The cluster upgrade policy. |
State
The lifecycle state of the bare metal user 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. |
BareMetalNetworkConfig
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. |
srIovConfig |
Configuration for SR-IOV. |
Union field cluster_cidr_configuration . The CIDR configuration to be used in the bare metal user cluster. cluster_cidr_configuration can be only one of the following: |
|
islandModeCidr |
Configuration for island mode CIDR. In an island-mode network, nodes have unique IP addresses, but pods don't have unique addresses across clusters. This doesn't cause problems because pods in one cluster never directly communicate with pods in another cluster. Instead, there are gateways that mediate between a pod in one cluster and a pod in another cluster. |
BareMetalIslandModeCidrConfig
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 is mutable after creation starting with version 1.15. |
podAddressCidrBlocks[] |
Required. All pods in the cluster are assigned an RFC1918 IPv4 address from these ranges. This field cannot be changed after creation. |
BareMetalMultipleNetworkInterfacesConfig
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. |
BareMetalSrIovConfig
Specifies the SR-IOV networking operator config.
JSON representation |
---|
{ "enabled": boolean } |
Fields | |
---|---|
enabled |
Whether to install the SR-IOV operator. |
BareMetalControlPlaneConfig
Specifies the control plane configuration.
JSON representation |
---|
{ "controlPlaneNodePoolConfig": { object ( |
Fields | |
---|---|
controlPlaneNodePoolConfig |
Required. Configures the node pool running the control plane. |
apiServerArgs[] |
Customizes the default API server args. Only a subset of customized flags are supported. For the exact format, refer to the API server documentation. |
BareMetalControlPlaneNodePoolConfig
Specifies the control plane node pool configuration.
JSON representation |
---|
{
"nodePoolConfig": {
object ( |
Fields | |
---|---|
nodePoolConfig |
Required. The generic configuration for a node pool running the control plane. |
BareMetalApiServerArgument
Represents an arg name->value pair. Only a subset of customized flags are supported. For the exact format, refer to the API server documentation.
JSON representation |
---|
{ "argument": string, "value": string } |
Fields | |
---|---|
argument |
Required. The argument name as it appears on the API Server command line, 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. |
BareMetalLoadBalancerConfig
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 for the bare metal user cluster. load_balancer_configuration can be only one of the following: |
|
metalLbConfig |
Configuration for MetalLB load balancers. |
manualLbConfig |
Manually configured load balancers. |
bgpLbConfig |
Configuration for BGP typed load balancers. When set networkConfig.advanced_networking is automatically set to true. |
BareMetalVipConfig
Specifies the VIP config for the bare metal load balancer.
JSON representation |
---|
{ "controlPlaneVip": string, "ingressVip": string } |
Fields | |
---|---|
controlPlaneVip |
The VIP which you previously set aside for the Kubernetes API of this bare metal user cluster. |
ingressVip |
The VIP which you previously set aside for ingress traffic into this bare metal user cluster. |
BareMetalPortConfig
Specifies load balancer ports for the bare metal user cluster.
JSON representation |
---|
{ "controlPlaneLoadBalancerPort": integer } |
Fields | |
---|---|
controlPlaneLoadBalancerPort |
The port that control plane hosted load balancers will listen on. |
BareMetalMetalLbConfig
Represents configuration parameters for a MetalLB load balancer.
JSON representation |
---|
{ "addressPools": [ { object ( |
Fields | |
---|---|
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 the load balancer. L2 connectivity is required among nodes in this pool. If missing, the control plane node pool is used as the load balancer pool. |
BareMetalLoadBalancerAddressPool
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. |
BareMetalLoadBalancerNodePoolConfig
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. |
BareMetalManualLbConfig
Represents configuration parameters for a manual load balancer.
JSON representation |
---|
{ "enabled": boolean } |
Fields | |
---|---|
enabled |
Whether manual load balancing is enabled. |
BareMetalBgpLbConfig
BareMetalBgpLbConfig 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. |
BareMetalBgpPeerConfig
BareMetalBgpPeerConfig 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. |
BareMetalStorageConfig
BareMetalStorageConfig 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. |
BareMetalProxyConfig
Specifies the cluster proxy configuration.
JSON representation |
---|
{ "uri": string, "noProxy": [ string ] } |
Fields | |
---|---|
uri |
Required. Specifies the address of your proxy server. Examples: 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"]. |
BareMetalClusterOperationsConfig
Specifies the bare metal user 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). |
BareMetalMaintenanceConfig
Specifies configurations to put bare metal 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. |
BareMetalWorkloadNodeConfig
Specifies the workload node configurations.
JSON representation |
---|
{
"maxPodsPerNode": string,
"containerRuntime": enum ( |
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. |
containerRuntime |
Specifies which container runtime will be used. |
ContainerRuntime
The runtime used to run containers in a this user cluster.
Enums | |
---|---|
CONTAINER_RUNTIME_UNSPECIFIED |
No container runtime selected. |
CONTAINERD |
Containerd runtime. |
BareMetalSecurityConfig
Specifies the security related settings for the bare metal user cluster.
JSON representation |
---|
{
"authorization": {
object ( |
Fields | |
---|---|
authorization |
Configures user access to the user cluster. |
BareMetalMaintenanceStatus
Represents the maintenance status of the bare metal user cluster.
JSON representation |
---|
{
"machineDrainStatus": {
object ( |
Fields | |
---|---|
machineDrainStatus |
The maintenance status of node machines. |
BareMetalMachineDrainStatus
Represents the status of node machines that are undergoing drain operations.
JSON representation |
---|
{ "drainingMachines": [ { object ( |
Fields | |
---|---|
drainingMachines[] |
The list of draning machines. |
drainedMachines[] |
The list of drained machines. |
BareMetalDrainingMachine
Represents a machine that is currently draining.
JSON representation |
---|
{ "nodeIp": string, "podCount": integer } |
Fields | |
---|---|
nodeIp |
Draining machine IP address. |
podCount |
The count of pods yet to drain. |
BareMetalDrainedMachine
Represents a machine that is currently drained.
JSON representation |
---|
{ "nodeIp": string } |
Fields | |
---|---|
nodeIp |
Drained machine IP address. |
BareMetalNodeAccessConfig
Specifies the node access related settings for the bare metal user cluster.
JSON representation |
---|
{ "loginUser": string } |
Fields | |
---|---|
loginUser |
LoginUser is the user name used to access node machines. It defaults to "root" if not set. |
BareMetalOsEnvironmentConfig
Specifies operating system settings for cluster provisioning.
JSON representation |
---|
{ "packageRepoExcluded": boolean } |
Fields | |
---|---|
packageRepoExcluded |
Whether the package repo should not be included when initializing bare metal machines. |
BareMetalClusterUpgradePolicy
BareMetalClusterUpgradePolicy defines the cluster upgrade policy.
JSON representation |
---|
{
"policy": enum ( |
Fields | |
---|---|
policy |
Specifies which upgrade policy to use. |
NodePoolPolicy
Specifies the upgrade policy for worker node pools.
Enums | |
---|---|
NODE_POOL_POLICY_UNSPECIFIED |
No upgrade policy selected. |
SERIAL |
Upgrade worker node pools sequentially. |
CONCURRENT |
Upgrade all worker node pools in parallel. |
Methods |
|
---|---|
|
Creates a new bare metal cluster in a given project and location. |
|
Deletes a single bare metal Cluster. |
|
Enrolls an existing bare metal user cluster and its node pools to the Anthos On-Prem API within a given project and location. |
|
Gets details of a single bare metal Cluster. |
|
Lists bare metal clusters in a given project and location. |
|
Updates the parameters of a single bare metal Cluster. |
|
Queries the bare metal user cluster version config. |