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 叢集。

uid

string

僅供輸出。Bare Metal 使用者叢集的專屬 ID。

state

enum (State)

僅供輸出。裸機使用者叢集的目前狀態。

endpoint

string

僅供輸出。裸機使用者叢集 API 伺服器的 IP 位址。

reconciling

boolean

僅供輸出。如果已設定,表示目前正在對 bare metal 使用者叢集進行變更。

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)

僅供輸出。Bare Metal 使用者叢集上次更新的時間。

使用 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)

Proxy 設定。

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)

OS 環境相關設定。

binaryAuthorization

object (BinaryAuthorization)

二進位授權相關設定。

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 的 Bundled Load Balancing 或出口 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 Server 指令列中顯示的引數名稱,請務必移除開頭的破折號。

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。bare metal 使用者叢集的負載平衡器設定。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

指定 bare metal 使用者叢集的負載平衡器埠。

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。服務負載平衡器也會在預設情況下使用這些對等端。

叢集建立後,您可以更新這個欄位。

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)

這是必要旗標,指定共用檔案系統中子目錄所支援的本機 PersistentVolumes 設定。系統會在建立叢集時自動建立這些子目錄。

lvpNodeMountsConfig

object (BareMetalLvpConfig)

這是必要旗標,指定已掛接節點磁碟所支援的本機 PersistentVolume 設定。這些磁碟必須由使用者進行格式化和掛接,使用者可以在建立叢集之前或之後完成作業。

BareMetalProxyConfig

指定叢集 Proxy 設定。

JSON 表示法
{
  "uri": string,
  "noProxy": [
    string
  ]
}
欄位
uri

string

這是必要旗標,指定 Proxy 伺服器的地址。例如:http://domain

請勿以 http://(username:password@)domain 格式提供憑證,否則會遭到伺服器拒絕。

noProxy[]

string

應略過 Proxy 的 IP、主機名稱和網域清單。例如:["127.0.0.1"、"example.com"、".corp"、"localhost"]。

BareMetalClusterOperationsConfig

指定裸機使用者叢集的可觀察性基礎架構。

JSON 表示法
{
  "enableApplicationLogs": boolean
}
欄位
enableApplicationLogs

boolean

是否應啟用應用程式記錄檔/指標收集功能 (除了系統記錄檔/指標)。

BareMetalMaintenanceConfig

指定要將裸機節點置於維護狀態或退出維護狀態的設定。

JSON 表示法
{
  "maintenanceAddressCidrBlocks": [
    string
  ]
}
欄位
maintenanceAddressCidrBlocks[]

string

這是必要旗標,這些範圍內的所有 IPv4 位址都會進入維護模式。處於維護模式的節點會被封鎖和清空。如果兩者皆為 True,節點資源就會設定「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

指定 worker 節點集區的升級政策。

列舉
NODE_POOL_POLICY_UNSPECIFIED 未選取任何升級政策。
SERIAL 依序升級 worker 節點集區。
CONCURRENT 平行升級所有 worker 節點集區。

方法

create

在指定的專案和地點中建立新的 Bare Metal 叢集。

delete

刪除單一裸機叢集。

enroll

將現有的裸機使用者叢集和其節點資源池,註冊至特定專案和位置的 Anthos On-Prem API。

get

取得單一裸機叢集的詳細資料。

list

列出指定專案和地點的裸機叢集。

patch

更新單一裸機叢集的參數。

queryVersionConfig

查詢裸機使用者叢集版本設定。