- 资源:BareMetalCluster
- 状态
- 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
- 方法
资源:BareMetalCluster
表示裸金属用户集群的资源。
JSON 表示法 |
---|
{ "name": string, "adminClusterMembership": string, "description": string, "bareMetalVersion": string, "uid": string, "state": enum ( |
字段 | |
---|---|
name |
不可变。裸机用户集群资源名称。 |
admin |
必需。此裸金属用户集群所属的管理员集群。这是管理员集群的舰队成员资格的完整资源名称。 |
description |
此裸机用户集群的人类可读说明。 |
bare |
必需。用户集群的 Anthos clusters on Bare Metal 版本。 |
uid |
仅限输出。裸机用户集群的唯一标识符。 |
state |
仅限输出。裸金属用户集群的当前状态。 |
endpoint |
仅限输出。Bare Metal 用户集群的 API 服务器的 IP 地址。 |
reconciling |
仅限输出。如果设置了此字段,则当前正在对裸机用户集群进行更改。 |
create |
仅限输出。裸金属用户集群的创建时间。 采用 RFC 3339 标准,生成的输出将始终在末尾带 Z,并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
update |
仅限输出。上次更新裸金属用户集群的时间。 采用 RFC 3339 标准,生成的输出将始终在末尾带 Z,并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
delete |
仅限输出。裸机用户集群的删除时间。如果资源未被删除,此字段必须为空 采用 RFC 3339 标准,生成的输出将始终在末尾带 Z,并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
local |
仅限输出。关联的管理员集群中裸金属用户集群自定义资源的对象名称。在将现有集群注册到 API 时,此字段用于支持有冲突的名称。在集群注册过程中使用时,此字段将与资源名称中的名称不同。对于新集群,此字段将与用户提供的集群名称匹配,并显示在资源名称的最后一个组件中。此值不可修改。 如果本地名称与集群名称不同,管理员集群控制器日志中会使用本地名称。使用 bmctl 和 kubectl 访问集群时,您需要使用集群名称。 |
etag |
仅限输出。此校验和由服务器根据其他字段的值计算得出,可在遇到更新和删除请求时发送,以确保客户端在继续操作之前具有最新值。允许客户端通过乐观并发控制执行一致的“读取-修改-写入”操作。 |
annotations |
裸金属用户集群上的注解。此字段的限制与 Kubernetes 注解相同。所有键和值的总大小不得超过 256k。键可以包含 2 个部分:前缀(可选)和名称(必需),以斜杠 (/) 分隔。前缀必须是 DNS 子网域。名称不得超过 63 个字符,以字母数字字符开头和结尾,中间可以使用短划线 (-)、下划线 (_)、点 (.) 和字母数字字符。 包含一系列 |
network |
必需。网络配置。 |
control |
必需。控制平面配置。 |
load |
必需。负载平衡器配置。 |
storage |
必需。存储配置。 |
proxy |
代理配置。 |
cluster |
集群操作配置。 |
maintenance |
维护配置。 |
node |
工作负载节点配置。 |
fleet |
仅限输出。集群的舰队配置。 |
status |
仅限输出。详细的集群状态。 |
validation |
仅限输出。预检检查的结果。 |
security |
与安全相关的设置配置。 |
maintenance |
仅限输出。正在进行的维护任务的状态。 |
admin |
仅限输出。管理此用户集群的裸金属管理员集群的资源名称。 |
node |
与节点访问权限相关的配置。 |
os |
与操作系统环境相关的配置。 |
binary |
与 Binary Authorization 相关的配置。 |
upgrade |
集群升级政策。 |
州
裸机用户集群的生命周期状态。
枚举 | |
---|---|
STATE_UNSPECIFIED |
未设置。 |
PROVISIONING |
“PROVISIONING”状态表示正在创建集群。 |
RUNNING |
“RUNNING”状态表示集群已创建并且完全可用。 |
RECONCILING |
“RECONCILING”状态表示集群正在更新。该节点池仍可使用,但性能可能会降低。 |
STOPPING |
“STOPPING”状态表示集群正在被删除。 |
ERROR |
“ERROR”状态表示集群处于不可恢复的损坏状态。 |
DEGRADED |
“DEGRADED”状态表示集群需要用户执行操作才能恢复全部功能。 |
BareMetalNetworkConfig
指定集群网络配置。
JSON 表示法 |
---|
{ "advancedNetworking": boolean, "multipleNetworkInterfacesConfig": { object ( |
字段 | |
---|---|
advanced |
启用高级 Anthos 网络功能,例如使用 BGP 的捆绑式负载均衡或出站 NAT 网关。为高级网络功能设置配置后,系统会自动设置此标志。 |
multiple |
多个网络接口的配置。 |
sr |
SR-IOV 的配置。 |
联合字段 cluster_cidr_configuration 。要在裸机用户集群中使用的 CIDR 配置。cluster_cidr_configuration 只能是下列其中一项: |
|
island |
孤岛模式 CIDR 的配置。在孤岛模式网络中,节点具有唯一的 IP 地址,但 pod 在集群中没有唯一的地址。这不会引起问题,因为一个集群中的 pod 绝不会直接与另一个集群中的 pod 通信。而是存在一些在一个集群中的 pod 与另一个集群中的 pod 之间进行协调的网关。 |
BareMetalIslandModeCidrConfig
在岛模式下运行时,指定集群 CIDR 配置。
JSON 表示法 |
---|
{ "serviceAddressCidrBlocks": [ string ], "podAddressCidrBlocks": [ string ] } |
字段 | |
---|---|
service |
必需。集群中的所有服务都会分配到一个这些范围内的 RFC1918 IPv4 地址。从 1.15 版开始,此字段在创建后可变。 |
pod |
必需。集群中的所有 pod 都会分配到一个这些范围内的 RFC1918 IPv4 地址。此字段一经创建便无法更改。 |
BareMetalMultipleNetworkInterfacesConfig
指定多个网络接口集群配置。
JSON 表示法 |
---|
{ "enabled": boolean } |
字段 | |
---|---|
enabled |
是否为 pod 启用多个网络接口。 设置后,networkConfig.advanced_networking 会自动设置为 true。 |
BareMetalSrIovConfig
指定 SR-IOV 网络运算符配置。
JSON 表示法 |
---|
{ "enabled": boolean } |
字段 | |
---|---|
enabled |
是否安装 SR-IOV 运算符。 |
BareMetalControlPlaneConfig
指定控制平面配置。
JSON 表示法 |
---|
{ "controlPlaneNodePoolConfig": { object ( |
字段 | |
---|---|
control |
必需。配置运行控制平面的节点池。 |
api |
自定义默认 API 服务器参数。仅支持部分自定义标志。如需了解确切格式,请参阅 API 服务器文档。 |
BareMetalControlPlaneNodePoolConfig
指定控制平面节点池配置。
JSON 表示法 |
---|
{
"nodePoolConfig": {
object ( |
字段 | |
---|---|
node |
必需。运行控制平面的节点池的通用配置。 |
BareMetalApiServerArgument
表示实参名称-值对。仅支持部分自定义标志。如需了解确切格式,请参阅 API 服务器文档。
JSON 表示法 |
---|
{ "argument": string, "value": string } |
字段 | |
---|---|
argument |
必需。API 服务器命令行中显示的参数名称,请务必移除前面的短划线。 |
value |
必需。参数的值,将传递给 API 服务器命令行。 |
BareMetalLoadBalancerConfig
指定负载平衡器配置。
JSON 表示法 |
---|
{ "vipConfig": { object ( |
字段 | |
---|---|
vip |
负载平衡器使用的 VIP。 |
port |
配置负载平衡器将监听的端口。 |
联合字段 load_balancer_configuration 。裸机用户集群的负载平衡器配置。load_balancer_configuration 只能是下列其中一项: |
|
metal |
MetalLB 负载平衡器的配置。 |
manual |
手动配置的负载平衡器。 |
bgp |
BGP 类型负载平衡器的配置。 设置后,networkConfig.advanced_networking 会自动设置为 true。 |
BareMetalVipConfig
为裸机负载平衡器指定 VIP 配置。
JSON 表示法 |
---|
{ "controlPlaneVip": string, "ingressVip": string } |
字段 | |
---|---|
control |
您之前为此裸机用户集群的 Kubernetes API 预留的 VIP。 |
ingress |
您之前为此裸金属用户集群中的入站流量预留的 VIP。 |
BareMetalPortConfig
为裸机用户集群指定负载平衡器端口。
JSON 表示法 |
---|
{ "controlPlaneLoadBalancerPort": integer } |
字段 | |
---|---|
control |
控制平面托管的负载平衡器将监听的端口。 |
BareMetalMetalLbConfig
表示 MetalLB 负载平衡器的配置参数。
JSON 表示法 |
---|
{ "addressPools": [ { object ( |
字段 | |
---|---|
address |
必需。AddressPools 是负载平衡器类型服务使用的非重叠 IP 池列表。所有地址都必须可路由到负载平衡器节点。池中必须包含 IngressVIP。 |
load |
指定运行负载平衡器的节点池。此池中的节点之间必须有 L2 连接。如果缺少,系统会将控制平面节点池用作负载平衡器池。 |
BareMetalLoadBalancerAddressPool
表示负载平衡器使用的 IP 池。
JSON 表示法 |
---|
{ "pool": string, "addresses": [ string ], "avoidBuggyIps": boolean, "manualAssign": boolean } |
字段 | |
---|---|
pool |
必需。地址池的名称。 |
addresses[] |
必需。此池中的地址。每个地址都必须采用 CIDR 格式 (1.2.3.0/24) 或范围格式 (1.2.3.1-1.2.3.5)。 |
avoid |
如果为 true,请避免使用以 .0 或 .255 结尾的 IP。这样可以避免有问题的用户设备错误地丢弃这些特殊 IP 地址的 IPv4 流量。 |
manual |
如果为 true,则阻止自动分配 IP 地址。 |
BareMetalLoadBalancerNodePoolConfig
指定负载平衡器的节点池配置。
JSON 表示法 |
---|
{
"nodePoolConfig": {
object ( |
字段 | |
---|---|
node |
运行负载平衡器的节点池的通用配置。 |
BareMetalManualLbConfig
表示手动负载平衡器的配置参数。
JSON 表示法 |
---|
{ "enabled": boolean } |
字段 | |
---|---|
enabled |
是否启用了手动负载均衡。 |
BareMetalBgpLbConfig
BareMetalBgpLbConfig 表示边界网关协议 (BGP) 负载平衡器的配置参数。
JSON 表示法 |
---|
{ "asn": string, "bgpPeerConfigs": [ { object ( |
字段 | |
---|---|
asn |
必需。集群的 BGP 自治系统编号 (ASN)。集群创建后,此字段可以更新。 |
bgp |
必需。集群将连接到的 BGP 对等节点的列表。必须为每个控制平面节点配置至少一个对等节点。 控制平面节点将连接到这些对等方,以通告控制平面 VIP。默认情况下,Service 负载平衡器也会使用这些对等方。 创建集群后,可以更新此字段。 |
address |
必需。AddressPools 是负载平衡器类型服务使用的非重叠 IP 池列表。所有地址都必须可路由到负载平衡器节点。池中必须包含 IngressVIP。 |
load |
指定运行数据平面负载均衡的节点池。此池中的节点之间必须有 L2 连接。如果缺少,则系统会使用控制平面节点池进行数据平面负载均衡。 |
BareMetalBgpPeerConfig
BareMetalBgpPeerConfig 表示边界网关协议 (BGP) 对等的配置参数。
JSON 表示法 |
---|
{ "asn": string, "ipAddress": string, "controlPlaneNodes": [ string ] } |
字段 | |
---|---|
asn |
必需。外部对等设备所属网络的 BGP 自治系统编号 (ASN)。 |
ip |
必需。外部对等设备的 IP 地址。 |
control |
连接到外部对等体的控制平面节点的 IP 地址。如果未指定任何控制平面节点,则所有控制平面节点都可以连接到外部对等体。如果指定一个或多个 IP 地址,则只有指定的节点会参与对等互连会话。 |
BareMetalStorageConfig
BareMetalStorageConfig 用于指定集群存储配置。
JSON 表示法 |
---|
{ "lvpShareConfig": { object ( |
字段 | |
---|---|
lvp |
必需。指定共享文件系统中的子目录所支持的本地 PersistentVolume 的配置。创建集群时,系统会自动创建这些子目录。 |
lvp |
必需。指定由已装载节点磁盘支持的本地 PersistentVolume 的配置。这些磁盘需要由用户进行格式化并装载,这些操作可在集群创建之前或之后完成。 |
BareMetalProxyConfig
指定集群代理配置。
JSON 表示法 |
---|
{ "uri": string, "noProxy": [ string ] } |
字段 | |
---|---|
uri |
必需。指定代理服务器的地址。示例: 请勿以 |
no |
应跳过代理的 IP、主机名和域名的列表。示例:["127.0.0.1", "example.com", ".corp", "localhost"]。 |
BareMetalClusterOperationsConfig
指定裸金属用户集群的可观测性基础架构。
JSON 表示法 |
---|
{ "enableApplicationLogs": boolean } |
字段 | |
---|---|
enable |
是否应启用应用日志/指标(以及系统日志/指标)的收集。 |
BareMetalMaintenanceConfig
指定用于将裸机节点置于维护模式和退出维护模式的配置。
JSON 表示法 |
---|
{ "maintenanceAddressCidrBlocks": [ string ] } |
字段 | |
---|---|
maintenance |
必需。这些范围内的所有 IPv4 地址都将被置于维护模式。处于维护模式的节点将被封锁并排空。如果这两个条件都成立,系统会在节点资源上设置“baremetal.cluster.gke.io/maintenance”注解。 |
BareMetalWorkloadNodeConfig
指定工作负载节点配置。
JSON 表示法 |
---|
{
"maxPodsPerNode": string,
"containerRuntime": enum ( |
字段 | |
---|---|
max |
节点可以运行的 pod 数上限。分配给节点的 CIDR 范围的大小将根据此参数派生。 |
container |
指定要使用的容器运行时。 |
ContainerRuntime
用于在此用户集群中运行容器的运行时。
枚举 | |
---|---|
CONTAINER_RUNTIME_UNSPECIFIED |
未选择任何容器运行时。 |
CONTAINERD |
containerd 运行时。 |
BareMetalSecurityConfig
为裸机用户集群指定安全相关设置。
JSON 表示法 |
---|
{
"authorization": {
object ( |
字段 | |
---|---|
authorization |
配置用户对用户集群的访问权限。 |
BareMetalMaintenanceStatus
表示裸机用户集群的维护状态。
JSON 表示法 |
---|
{
"machineDrainStatus": {
object ( |
字段 | |
---|---|
machine |
节点机器的维护状态。 |
BareMetalMachineDrainStatus
表示正在进行排空操作的节点机器的状态。
JSON 表示法 |
---|
{ "drainingMachines": [ { object ( |
字段 | |
---|---|
draining |
排水机的列表。 |
drained |
已耗尽流量的机器列表。 |
BareMetalDrainingMachine
表示当前正在排空的机器。
JSON 表示法 |
---|
{ "nodeIp": string, "podCount": integer } |
字段 | |
---|---|
node |
排空机器 IP 地址。 |
pod |
尚未耗尽的 Pod 数量。 |
BareMetalDrainedMachine
表示当前正在排空的机器。
JSON 表示法 |
---|
{ "nodeIp": string } |
字段 | |
---|---|
node |
已耗尽流量的机器 IP 地址。 |
BareMetalNodeAccessConfig
指定裸机用户集群的节点访问权限相关设置。
JSON 表示法 |
---|
{ "loginUser": string } |
字段 | |
---|---|
login |
LoginUser 是用于访问节点机器的用户名。如果未设置,则默认为“root”。 |
BareMetalOsEnvironmentConfig
指定集群预配的操作系统设置。
JSON 表示法 |
---|
{ "packageRepoExcluded": boolean } |
字段 | |
---|---|
package |
在初始化裸机时是否不应添加软件包代码库。 |
BareMetalClusterUpgradePolicy
BareMetalClusterUpgradePolicy 定义了集群升级政策。
JSON 表示法 |
---|
{
"policy": enum ( |
字段 | |
---|---|
policy |
指定要使用的升级政策。 |
pause |
仅限输出。“暂停”用于显示升级暂停状态。目前只能查看。 |
NodePoolPolicy
指定工作器节点池的升级政策。
枚举 | |
---|---|
NODE_POOL_POLICY_UNSPECIFIED |
未选择任何升级政策。 |
SERIAL |
按顺序升级工作器节点池。 |
CONCURRENT |
并行升级所有工作器节点池。 |
方法 |
|
---|---|
|
在给定的项目和位置中创建新的裸金属集群。 |
|
删除单个裸机集群。 |
|
将现有裸金属用户集群及其节点池注册到给定项目和位置中的 Anthos On-Prem API。 |
|
获取单个裸机集群的详细信息。 |
|
列出给定项目和位置中的裸金属集群。 |
|
更新单个裸机集群的参数。 |
|
查询 Bare Metal 用户集群版本配置。 |