REST Resource: projects.locations.bareMetalClusters

资源:BareMetalCluster

表示裸金属用户集群的资源。

JSON 表示法
{
  "name": string,
  "adminClusterMembership": string,
  "description": string,
  "bareMetalVersion": string,
  "uid": string,
  "state": enum (State),
  "endpoint": string,
  "reconciling": boolean,
  "createTime": string,
  "updateTime": string,
  "deleteTime": string,
  "localName": string,
  "etag": string,
  "annotations": {
    string: string,
    ...
  },
  "networkConfig": {
    object (BareMetalNetworkConfig)
  },
  "controlPlane": {
    object (BareMetalControlPlaneConfig)
  },
  "loadBalancer": {
    object (BareMetalLoadBalancerConfig)
  },
  "storage": {
    object (BareMetalStorageConfig)
  },
  "proxy": {
    object (BareMetalProxyConfig)
  },
  "clusterOperations": {
    object (BareMetalClusterOperationsConfig)
  },
  "maintenanceConfig": {
    object (BareMetalMaintenanceConfig)
  },
  "nodeConfig": {
    object (BareMetalWorkloadNodeConfig)
  },
  "fleet": {
    object (Fleet)
  },
  "status": {
    object (ResourceStatus)
  },
  "validationCheck": {
    object (ValidationCheck)
  },
  "securityConfig": {
    object (BareMetalSecurityConfig)
  },
  "maintenanceStatus": {
    object (BareMetalMaintenanceStatus)
  },
  "adminClusterName": string,
  "nodeAccessConfig": {
    object (BareMetalNodeAccessConfig)
  },
  "osEnvironmentConfig": {
    object (BareMetalOsEnvironmentConfig)
  },
  "binaryAuthorization": {
    object (BinaryAuthorization)
  },
  "upgradePolicy": {
    object (BareMetalClusterUpgradePolicy)
  }
}
字段
name

string

不可变。裸机用户集群资源名称。

adminClusterMembership

string

必需。此裸金属用户集群所属的管理员集群。这是管理员集群的舰队成员资格的完整资源名称。

description

string

此裸机用户集群的人类可读说明。

bareMetalVersion

string

必需。用户集群的 Anthos clusters on Bare Metal 版本。

uid

string

仅限输出。裸机用户集群的唯一标识符。

state

enum (State)

仅限输出。裸金属用户集群的当前状态。

endpoint

string

仅限输出。Bare Metal 用户集群的 API 服务器的 IP 地址。

reconciling

boolean

仅限输出。如果设置了此字段,则当前正在对裸机用户集群进行更改。

createTime

string (Timestamp format)

仅限输出。裸金属用户集群的创建时间。

采用 RFC 3339 标准,生成的输出将始终在末尾带 Z,并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

updateTime

string (Timestamp format)

仅限输出。上次更新裸金属用户集群的时间。

采用 RFC 3339 标准,生成的输出将始终在末尾带 Z,并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

deleteTime

string (Timestamp format)

仅限输出。裸机用户集群的删除时间。如果资源未被删除,此字段必须为空

采用 RFC 3339 标准,生成的输出将始终在末尾带 Z,并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

localName

string

仅限输出。关联的管理员集群中裸金属用户集群自定义资源的对象名称。在将现有集群注册到 API 时,此字段用于支持有冲突的名称。在集群注册过程中使用时,此字段将与资源名称中的名称不同。对于新集群,此字段将与用户提供的集群名称匹配,并显示在资源名称的最后一个组件中。此值不可修改。

如果本地名称与集群名称不同,管理员集群控制器日志中会使用本地名称。使用 bmctl 和 kubectl 访问集群时,您需要使用集群名称。

etag

string

仅限输出。此校验和由服务器根据其他字段的值计算得出,可在遇到更新和删除请求时发送,以确保客户端在继续操作之前具有最新值。允许客户端通过乐观并发控制执行一致的“读取-修改-写入”操作。

annotations

map (key: string, value: string)

裸金属用户集群上的注解。此字段的限制与 Kubernetes 注解相同。所有键和值的总大小不得超过 256k。键可以包含 2 个部分:前缀(可选)和名称(必需),以斜杠 (/) 分隔。前缀必须是 DNS 子网域。名称不得超过 63 个字符,以字母数字字符开头和结尾,中间可以使用短划线 (-)、下划线 (_)、点 (.) 和字母数字字符。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

networkConfig

object (BareMetalNetworkConfig)

必需。网络配置。

controlPlane

object (BareMetalControlPlaneConfig)

必需。控制平面配置。

loadBalancer

object (BareMetalLoadBalancerConfig)

必需。负载平衡器配置。

storage

object (BareMetalStorageConfig)

必需。存储配置。

proxy

object (BareMetalProxyConfig)

代理配置。

clusterOperations

object (BareMetalClusterOperationsConfig)

集群操作配置。

maintenanceConfig

object (BareMetalMaintenanceConfig)

维护配置。

nodeConfig

object (BareMetalWorkloadNodeConfig)

工作负载节点配置。

fleet

object (Fleet)

仅限输出。集群的舰队配置。

status

object (ResourceStatus)

仅限输出。详细的集群状态。

validationCheck

object (ValidationCheck)

仅限输出。预检检查的结果。

securityConfig

object (BareMetalSecurityConfig)

与安全相关的设置配置。

maintenanceStatus

object (BareMetalMaintenanceStatus)

仅限输出。正在进行的维护任务的状态。

adminClusterName

string

仅限输出。管理此用户集群的裸金属管理员集群的资源名称。

nodeAccessConfig

object (BareMetalNodeAccessConfig)

与节点访问权限相关的配置。

osEnvironmentConfig

object (BareMetalOsEnvironmentConfig)

与操作系统环境相关的配置。

binaryAuthorization

object (BinaryAuthorization)

与 Binary Authorization 相关的配置。

upgradePolicy

object (BareMetalClusterUpgradePolicy)

集群升级政策。

裸机用户集群的生命周期状态。

枚举
STATE_UNSPECIFIED 未设置。
PROVISIONING “PROVISIONING”状态表示正在创建集群。
RUNNING “RUNNING”状态表示集群已创建并且完全可用。
RECONCILING “RECONCILING”状态表示集群正在更新。该节点池仍可使用,但性能可能会降低。
STOPPING “STOPPING”状态表示集群正在被删除。
ERROR “ERROR”状态表示集群处于不可恢复的损坏状态。
DEGRADED “DEGRADED”状态表示集群需要用户执行操作才能恢复全部功能。

BareMetalNetworkConfig

指定集群网络配置。

JSON 表示法
{
  "advancedNetworking": boolean,
  "multipleNetworkInterfacesConfig": {
    object (BareMetalMultipleNetworkInterfacesConfig)
  },
  "srIovConfig": {
    object (BareMetalSrIovConfig)
  },

  // Union field cluster_cidr_configuration can be only one of the following:
  "islandModeCidr": {
    object (BareMetalIslandModeCidrConfig)
  }
  // End of list of possible types for union field cluster_cidr_configuration.
}
字段
advancedNetworking

boolean

启用高级 Anthos 网络功能,例如使用 BGP 的捆绑式负载均衡或出站 NAT 网关。为高级网络功能设置配置后,系统会自动设置此标志。

multipleNetworkInterfacesConfig

object (BareMetalMultipleNetworkInterfacesConfig)

多个网络接口的配置。

srIovConfig

object (BareMetalSrIovConfig)

SR-IOV 的配置。

联合字段 cluster_cidr_configuration。要在裸机用户集群中使用的 CIDR 配置。cluster_cidr_configuration 只能是下列其中一项:
islandModeCidr

object (BareMetalIslandModeCidrConfig)

孤岛模式 CIDR 的配置。在孤岛模式网络中,节点具有唯一的 IP 地址,但 pod 在集群中没有唯一的地址。这不会引起问题,因为一个集群中的 pod 绝不会直接与另一个集群中的 pod 通信。而是存在一些在一个集群中的 pod 与另一个集群中的 pod 之间进行协调的网关。

BareMetalIslandModeCidrConfig

在岛模式下运行时,指定集群 CIDR 配置。

JSON 表示法
{
  "serviceAddressCidrBlocks": [
    string
  ],
  "podAddressCidrBlocks": [
    string
  ]
}
字段
serviceAddressCidrBlocks[]

string

必需。集群中的所有服务都会分配到一个这些范围内的 RFC1918 IPv4 地址。从 1.15 版开始,此字段在创建后可变。

podAddressCidrBlocks[]

string

必需。集群中的所有 pod 都会分配到一个这些范围内的 RFC1918 IPv4 地址。此字段一经创建便无法更改。

BareMetalMultipleNetworkInterfacesConfig

指定多个网络接口集群配置。

JSON 表示法
{
  "enabled": boolean
}
字段
enabled

boolean

是否为 pod 启用多个网络接口。

设置后,networkConfig.advanced_networking 会自动设置为 true。

BareMetalSrIovConfig

指定 SR-IOV 网络运算符配置。

JSON 表示法
{
  "enabled": boolean
}
字段
enabled

boolean

是否安装 SR-IOV 运算符。

BareMetalControlPlaneConfig

指定控制平面配置。

JSON 表示法
{
  "controlPlaneNodePoolConfig": {
    object (BareMetalControlPlaneNodePoolConfig)
  },
  "apiServerArgs": [
    {
      object (BareMetalApiServerArgument)
    }
  ]
}
字段
controlPlaneNodePoolConfig

object (BareMetalControlPlaneNodePoolConfig)

必需。配置运行控制平面的节点池。

apiServerArgs[]

object (BareMetalApiServerArgument)

自定义默认 API 服务器参数。仅支持部分自定义标志。如需了解确切格式,请参阅 API 服务器文档

BareMetalControlPlaneNodePoolConfig

指定控制平面节点池配置。

JSON 表示法
{
  "nodePoolConfig": {
    object (BareMetalNodePoolConfig)
  }
}
字段
nodePoolConfig

object (BareMetalNodePoolConfig)

必需。运行控制平面的节点池的通用配置。

BareMetalApiServerArgument

表示实参名称-值对。仅支持部分自定义标志。如需了解确切格式,请参阅 API 服务器文档

JSON 表示法
{
  "argument": string,
  "value": string
}
字段
argument

string

必需。API 服务器命令行中显示的参数名称,请务必移除前面的短划线。

value

string

必需。参数的值,将传递给 API 服务器命令行。

BareMetalLoadBalancerConfig

指定负载平衡器配置。

JSON 表示法
{
  "vipConfig": {
    object (BareMetalVipConfig)
  },
  "portConfig": {
    object (BareMetalPortConfig)
  },

  // Union field load_balancer_configuration can be only one of the following:
  "metalLbConfig": {
    object (BareMetalMetalLbConfig)
  },
  "manualLbConfig": {
    object (BareMetalManualLbConfig)
  },
  "bgpLbConfig": {
    object (BareMetalBgpLbConfig)
  }
  // End of list of possible types for union field load_balancer_configuration.
}
字段
vipConfig

object (BareMetalVipConfig)

负载平衡器使用的 VIP。

portConfig

object (BareMetalPortConfig)

配置负载平衡器将监听的端口。

联合字段 load_balancer_configuration。裸机用户集群的负载平衡器配置。load_balancer_configuration 只能是下列其中一项:
metalLbConfig

object (BareMetalMetalLbConfig)

MetalLB 负载平衡器的配置。

manualLbConfig

object (BareMetalManualLbConfig)

手动配置的负载平衡器。

bgpLbConfig

object (BareMetalBgpLbConfig)

BGP 类型负载平衡器的配置。

设置后,networkConfig.advanced_networking 会自动设置为 true。

BareMetalVipConfig

为裸机负载平衡器指定 VIP 配置。

JSON 表示法
{
  "controlPlaneVip": string,
  "ingressVip": string
}
字段
controlPlaneVip

string

您之前为此裸机用户集群的 Kubernetes API 预留的 VIP。

ingressVip

string

您之前为此裸金属用户集群中的入站流量预留的 VIP。

BareMetalPortConfig

为裸机用户集群指定负载平衡器端口。

JSON 表示法
{
  "controlPlaneLoadBalancerPort": integer
}
字段
controlPlaneLoadBalancerPort

integer

控制平面托管的负载平衡器将监听的端口。

BareMetalMetalLbConfig

表示 MetalLB 负载平衡器的配置参数。

JSON 表示法
{
  "addressPools": [
    {
      object (BareMetalLoadBalancerAddressPool)
    }
  ],
  "loadBalancerNodePoolConfig": {
    object (BareMetalLoadBalancerNodePoolConfig)
  }
}
字段
addressPools[]

object (BareMetalLoadBalancerAddressPool)

必需。AddressPools 是负载平衡器类型服务使用的非重叠 IP 池列表。所有地址都必须可路由到负载平衡器节点。池中必须包含 IngressVIP。

loadBalancerNodePoolConfig

object (BareMetalLoadBalancerNodePoolConfig)

指定运行负载平衡器的节点池。此池中的节点之间必须有 L2 连接。如果缺少,系统会将控制平面节点池用作负载平衡器池。

BareMetalLoadBalancerAddressPool

表示负载平衡器使用的 IP 池。

JSON 表示法
{
  "pool": string,
  "addresses": [
    string
  ],
  "avoidBuggyIps": boolean,
  "manualAssign": boolean
}
字段
pool

string

必需。地址池的名称。

addresses[]

string

必需。此池中的地址。每个地址都必须采用 CIDR 格式 (1.2.3.0/24) 或范围格式 (1.2.3.1-1.2.3.5)。

avoidBuggyIps

boolean

如果为 true,请避免使用以 .0 或 .255 结尾的 IP。这样可以避免有问题的用户设备错误地丢弃这些特殊 IP 地址的 IPv4 流量。

manualAssign

boolean

如果为 true,则阻止自动分配 IP 地址。

BareMetalLoadBalancerNodePoolConfig

指定负载平衡器的节点池配置。

JSON 表示法
{
  "nodePoolConfig": {
    object (BareMetalNodePoolConfig)
  }
}
字段
nodePoolConfig

object (BareMetalNodePoolConfig)

运行负载平衡器的节点池的通用配置。

BareMetalManualLbConfig

表示手动负载平衡器的配置参数。

JSON 表示法
{
  "enabled": boolean
}
字段
enabled

boolean

是否启用了手动负载均衡。

BareMetalBgpLbConfig

BareMetalBgpLbConfig 表示边界网关协议 (BGP) 负载平衡器的配置参数。

JSON 表示法
{
  "asn": string,
  "bgpPeerConfigs": [
    {
      object (BareMetalBgpPeerConfig)
    }
  ],
  "addressPools": [
    {
      object (BareMetalLoadBalancerAddressPool)
    }
  ],
  "loadBalancerNodePoolConfig": {
    object (BareMetalLoadBalancerNodePoolConfig)
  }
}
字段
asn

string (int64 format)

必需。集群的 BGP 自治系统编号 (ASN)。集群创建后,此字段可以更新。

bgpPeerConfigs[]

object (BareMetalBgpPeerConfig)

必需。集群将连接到的 BGP 对等节点的列表。必须为每个控制平面节点配置至少一个对等节点。

控制平面节点将连接到这些对等方,以通告控制平面 VIP。默认情况下,Service 负载平衡器也会使用这些对等方。

创建集群后,可以更新此字段。

addressPools[]

object (BareMetalLoadBalancerAddressPool)

必需。AddressPools 是负载平衡器类型服务使用的非重叠 IP 池列表。所有地址都必须可路由到负载平衡器节点。池中必须包含 IngressVIP。

loadBalancerNodePoolConfig

object (BareMetalLoadBalancerNodePoolConfig)

指定运行数据平面负载均衡的节点池。此池中的节点之间必须有 L2 连接。如果缺少,则系统会使用控制平面节点池进行数据平面负载均衡。

BareMetalBgpPeerConfig

BareMetalBgpPeerConfig 表示边界网关协议 (BGP) 对等的配置参数。

JSON 表示法
{
  "asn": string,
  "ipAddress": string,
  "controlPlaneNodes": [
    string
  ]
}
字段
asn

string (int64 format)

必需。外部对等设备所属网络的 BGP 自治系统编号 (ASN)。

ipAddress

string

必需。外部对等设备的 IP 地址。

controlPlaneNodes[]

string

连接到外部对等体的控制平面节点的 IP 地址。如果未指定任何控制平面节点,则所有控制平面节点都可以连接到外部对等体。如果指定一个或多个 IP 地址,则只有指定的节点会参与对等互连会话。

BareMetalStorageConfig

BareMetalStorageConfig 用于指定集群存储配置。

JSON 表示法
{
  "lvpShareConfig": {
    object (BareMetalLvpShareConfig)
  },
  "lvpNodeMountsConfig": {
    object (BareMetalLvpConfig)
  }
}
字段
lvpShareConfig

object (BareMetalLvpShareConfig)

必需。指定共享文件系统中的子目录所支持的本地 PersistentVolume 的配置。创建集群时,系统会自动创建这些子目录。

lvpNodeMountsConfig

object (BareMetalLvpConfig)

必需。指定由已装载节点磁盘支持的本地 PersistentVolume 的配置。这些磁盘需要由用户进行格式化并装载,这些操作可在集群创建之前或之后完成。

BareMetalProxyConfig

指定集群代理配置。

JSON 表示法
{
  "uri": string,
  "noProxy": [
    string
  ]
}
字段
uri

string

必需。指定代理服务器的地址。示例:http://domain

请勿以 http://(username:password@)domain 格式提供凭据,否则服务器会拒绝这些凭据。

noProxy[]

string

应跳过代理的 IP、主机名和域名的列表。示例:["127.0.0.1", "example.com", ".corp", "localhost"]。

BareMetalClusterOperationsConfig

指定裸金属用户集群的可观测性基础架构。

JSON 表示法
{
  "enableApplicationLogs": boolean
}
字段
enableApplicationLogs

boolean

是否应启用应用日志/指标(以及系统日志/指标)的收集。

BareMetalMaintenanceConfig

指定用于将裸机节点置于维护模式和退出维护模式的配置。

JSON 表示法
{
  "maintenanceAddressCidrBlocks": [
    string
  ]
}
字段
maintenanceAddressCidrBlocks[]

string

必需。这些范围内的所有 IPv4 地址都将被置于维护模式。处于维护模式的节点将被封锁并排空。如果这两个条件都成立,系统会在节点资源上设置“baremetal.cluster.gke.io/maintenance”注解。

BareMetalWorkloadNodeConfig

指定工作负载节点配置。

JSON 表示法
{
  "maxPodsPerNode": string,
  "containerRuntime": enum (ContainerRuntime)
}
字段
maxPodsPerNode

string (int64 format)

节点可以运行的 pod 数上限。分配给节点的 CIDR 范围的大小将根据此参数派生。

containerRuntime

enum (ContainerRuntime)

指定要使用的容器运行时。

ContainerRuntime

用于在此用户集群中运行容器的运行时。

枚举
CONTAINER_RUNTIME_UNSPECIFIED 未选择任何容器运行时。
CONTAINERD containerd 运行时。

BareMetalSecurityConfig

为裸机用户集群指定安全相关设置。

JSON 表示法
{
  "authorization": {
    object (Authorization)
  }
}
字段
authorization

object (Authorization)

配置用户对用户集群的访问权限。

BareMetalMaintenanceStatus

表示裸机用户集群的维护状态。

JSON 表示法
{
  "machineDrainStatus": {
    object (BareMetalMachineDrainStatus)
  }
}
字段
machineDrainStatus

object (BareMetalMachineDrainStatus)

节点机器的维护状态。

BareMetalMachineDrainStatus

表示正在进行排空操作的节点机器的状态。

JSON 表示法
{
  "drainingMachines": [
    {
      object (BareMetalDrainingMachine)
    }
  ],
  "drainedMachines": [
    {
      object (BareMetalDrainedMachine)
    }
  ]
}
字段
drainingMachines[]

object (BareMetalDrainingMachine)

排水机的列表。

drainedMachines[]

object (BareMetalDrainedMachine)

已耗尽流量的机器列表。

BareMetalDrainingMachine

表示当前正在排空的机器。

JSON 表示法
{
  "nodeIp": string,
  "podCount": integer
}
字段
nodeIp

string

排空机器 IP 地址。

podCount

integer

尚未耗尽的 Pod 数量。

BareMetalDrainedMachine

表示当前正在排空的机器。

JSON 表示法
{
  "nodeIp": string
}
字段
nodeIp

string

已耗尽流量的机器 IP 地址。

BareMetalNodeAccessConfig

指定裸机用户集群的节点访问权限相关设置。

JSON 表示法
{
  "loginUser": string
}
字段
loginUser

string

LoginUser 是用于访问节点机器的用户名。如果未设置,则默认为“root”。

BareMetalOsEnvironmentConfig

指定集群预配的操作系统设置。

JSON 表示法
{
  "packageRepoExcluded": boolean
}
字段
packageRepoExcluded

boolean

在初始化裸机时是否不应添加软件包代码库。

BareMetalClusterUpgradePolicy

BareMetalClusterUpgradePolicy 定义了集群升级政策。

JSON 表示法
{
  "policy": enum (NodePoolPolicy),
  "pause": boolean
}
字段
policy

enum (NodePoolPolicy)

指定要使用的升级政策。

pause

boolean

仅限输出。“暂停”用于显示升级暂停状态。目前只能查看。

NodePoolPolicy

指定工作器节点池的升级政策。

枚举
NODE_POOL_POLICY_UNSPECIFIED 未选择任何升级政策。
SERIAL 按顺序升级工作器节点池。
CONCURRENT 并行升级所有工作器节点池。

方法

create

在给定的项目和位置中创建新的裸金属集群。

delete

删除单个裸机集群。

enroll

将现有裸金属用户集群及其节点池注册到给定项目和位置中的 Anthos On-Prem API。

get

获取单个裸机集群的详细信息。

list

列出给定项目和位置中的裸金属集群。

patch

更新单个裸机集群的参数。

queryVersionConfig

查询 Bare Metal 用户集群版本配置。