- 資源: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 |
不可變更。Bare metal 使用者叢集資源名稱。 |
adminClusterMembership |
這是必要旗標,這個裸機使用者叢集所屬的管理員叢集。這是管理員叢集機群成員的完整資源名稱。 |
description |
這個 bare metal 使用者叢集的說明 (使用者可理解)。 |
bareMetalVersion |
這是必要旗標,使用者叢集的 Bare Metal 中的 Anthos 叢集版本。 |
uid |
僅供輸出。bare metal 使用者叢集的專屬 ID。 |
state |
僅供輸出。裸機使用者叢集的目前狀態。 |
endpoint |
僅供輸出。裸機使用者叢集 API 伺服器的 IP 位址。 |
reconciling |
僅供輸出。如果已設定,目前有變更正在套用至 bare metal 使用者叢集。 |
createTime |
僅供輸出。建立 bare metal 使用者叢集的時間。 使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 個小數位數。系統也接受「Z」以外的偏移量。例如: |
updateTime |
僅供輸出。上次更新 bare metal 使用者叢集的時間。 使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 個小數位數。系統也接受「Z」以外的偏移量。例如: |
deleteTime |
僅供輸出。裸機使用者叢集遭到刪除的時間。如果資源未刪除,這個欄位必須為空白 使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 個小數位數。系統也接受「Z」以外的偏移量。例如: |
localName |
僅供輸出。相關聯管理員叢集上,裸機使用者叢集自訂資源的物件名稱。將現有叢集註冊至 API 時,如果名稱衝突,系統會使用這個欄位。做為叢集註冊的一部分時,這個欄位會與資源名稱中的名稱不同。如果是新叢集,這個欄位會與使用者提供的叢集名稱相符,並顯示在資源名稱的最後一個元件中。無法修改。 如果本機名稱和叢集名稱不同,管理叢集控制器記錄會使用本機名稱。使用 bmctl 和 kubectl 存取叢集時,會用到叢集名稱。 |
etag |
僅供輸出。這個檢查碼是由伺服器根據其他欄位的值計算得出,並可能會在更新和刪除要求中傳送,確保用戶端在繼續操作前擁有最新值。允許用戶端透過開放式並行控制執行一致的讀取-修改-寫入作業。 |
annotations |
裸機使用者叢集的註解。這個欄位與 Kubernetes 註解具有相同的限制。所有鍵值組合的總大小不得超過 256k。索引鍵可包含 2 個部分:前置字串 (選填) 和名稱 (必填),兩者須以正斜線 (/) 分隔。前置字串必須是 DNS 子網域。名稱長度不得超過 63 個字元,開頭和結尾須為英數字元,中間須包含連字號 (-)、底線 (_)、點號 (.) 和英數字元。 包含 |
networkConfig |
這是必要旗標,網路設定。 |
controlPlane |
這是必要旗標,控制層設定。 |
loadBalancer |
這是必要旗標,負載平衡器設定。 |
storage |
這是必要旗標,儲存空間設定。 |
proxy |
Proxy 設定。 |
clusterOperations |
叢集作業設定。 |
maintenanceConfig |
維護設定。 |
nodeConfig |
工作負載節點設定。 |
fleet |
僅供輸出。叢集的機群設定。 |
status |
僅供輸出。叢集詳細狀態。 |
validationCheck |
僅供輸出。預檢結果。 |
securityConfig |
設定安全性相關設定。 |
maintenanceStatus |
僅供輸出。正在進行的維護工作狀態。 |
adminClusterName |
僅供輸出。管理這個使用者叢集的裸機管理員叢集資源名稱。 |
nodeAccessConfig |
與節點存取權相關的設定。 |
osEnvironmentConfig |
與 OS 環境相關的設定。 |
binaryAuthorization |
二進位授權相關設定。 |
upgradePolicy |
叢集升級政策。 |
localNamespace |
僅供輸出。叢集的命名空間。 |
狀態
裸機使用者叢集的生命週期狀態。
列舉 | |
---|---|
STATE_UNSPECIFIED |
未設定。 |
PROVISIONING |
「PROVISIONING」狀態表示叢集正在建立中。 |
RUNNING |
RUNNING 狀態表示叢集已建立完成,可完全使用。 |
RECONCILING |
「RECONCILING」狀態表示叢集正在更新。但效能可能會降低。 |
STOPPING |
「STOPPING」狀態表示叢集正在刪除。 |
ERROR |
「ERROR」狀態表示叢集已損毀,無法復原。 |
DEGRADED |
「DEGRADED」狀態表示叢集需要使用者採取行動,才能恢復完整功能。 |
BareMetalNetworkConfig
指定叢集網路設定。
JSON 表示法 |
---|
{ "advancedNetworking": boolean, "multipleNetworkInterfacesConfig": { object ( |
欄位 | |
---|---|
advancedNetworking |
啟用進階 Anthos 網路功能,例如搭配 BGP 的組合式負載平衡或輸出 NAT 閘道。設定進階網路功能時,系統會自動設定這個旗標。 |
multipleNetworkInterfacesConfig |
多個網路介面的設定。 |
srIovConfig |
SR-IOV 的設定。 |
聯集欄位 cluster_cidr_configuration 。在 bare metal 使用者叢集中使用的 CIDR 設定。cluster_cidr_configuration 只能是下列其中一項: |
|
islandModeCidr |
島嶼模式 CIDR 的設定。在孤島模式網路中,節點有專屬 IP 位址,但 Pod 在叢集間沒有專屬位址。這不會造成問題,因為一個叢集中的 Pod 絕不會直接與另一個叢集中的 Pod 通訊。而是透過閘道,在一個叢集中的 Pod 和另一個叢集中的 Pod 之間進行中介。 |
BareMetalIslandModeCidrConfig
在孤島模式下執行時,指定叢集 CIDR 設定。
JSON 表示法 |
---|
{ "serviceAddressCidrBlocks": [ string ], "podAddressCidrBlocks": [ string ] } |
欄位 | |
---|---|
serviceAddressCidrBlocks[] |
這是必要旗標,系統會為叢集中的所有服務指派這些範圍內的 RFC1918 IPv4 位址;從 1.15 版開始,這個欄位在建立後可以變更。 |
podAddressCidrBlocks[] |
這是必要旗標,系統會為叢集中的所有 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 ( |
欄位 | |
---|---|
controlPlaneNodePoolConfig |
這是必要旗標,設定執行控制層的節點集區。 |
apiServerArgs[] |
自訂預設 API 伺服器引數。系統僅支援部分自訂旗標。如要瞭解確切格式,請參閱 API 伺服器說明文件。 |
BareMetalControlPlaneNodePoolConfig
指定控制層節點集區設定。
JSON 表示法 |
---|
{
"nodePoolConfig": {
object ( |
欄位 | |
---|---|
nodePoolConfig |
這是必要旗標,執行控制層的節點集區一般設定。 |
BareMetalApiServerArgument
代表 arg 名稱/值組合。系統僅支援部分自訂旗標。如要瞭解確切格式,請參閱 API 伺服器說明文件。
JSON 表示法 |
---|
{ "argument": string, "value": string } |
欄位 | |
---|---|
argument |
這是必要旗標,API 伺服器指令列上顯示的引數名稱,請務必移除開頭的破折號。 |
value |
這是必要旗標,arg 的值,會傳遞至 API 伺服器指令列。 |
BareMetalLoadBalancerConfig
指定負載平衡器設定。
JSON 表示法 |
---|
{ "vipConfig": { object ( |
欄位 | |
---|---|
vipConfig |
負載平衡器使用的 VIP。 |
portConfig |
設定負載平衡器監聽的連接埠。 |
聯集欄位 load_balancer_configuration 。bare metal 使用者叢集的負載平衡器設定。load_balancer_configuration 只能是下列其中一項: |
|
metalLbConfig |
MetalLB 負載平衡器的設定。 |
manualLbConfig |
手動設定的負載平衡器。 |
bgpLbConfig |
BGP 型負載平衡器的設定。 設定 networkConfig.advanced_networking 時,系統會自動將其設為 true。 |
BareMetalVipConfig
指定裸機負載平衡器的 VIP 設定。
JSON 表示法 |
---|
{ "controlPlaneVip": string, "ingressVip": string } |
欄位 | |
---|---|
controlPlaneVip |
您先前為這個裸機使用者叢集的 Kubernetes API 保留的 VIP。 |
ingressVip |
先前為這個裸機使用者叢集的輸入流量預留的 VIP。 |
BareMetalPortConfig
指定 bare metal 使用者叢集的負載平衡器連接埠。
JSON 表示法 |
---|
{ "controlPlaneLoadBalancerPort": integer } |
欄位 | |
---|---|
controlPlaneLoadBalancerPort |
控制層代管負載平衡器會監聽的通訊埠。 |
BareMetalMetalLbConfig
代表 MetalLB 負載平衡器的設定參數。
JSON 表示法 |
---|
{ "addressPools": [ { object ( |
欄位 | |
---|---|
addressPools[] |
這是必要旗標,AddressPools 是負載平衡器類型服務使用的非重疊 IP 集區清單。所有位址都必須可路由至負載平衡器節點。集區必須包含 IngressVIP。 |
loadBalancerNodePoolConfig |
指定執行負載平衡器的節點集區。這個集區中的節點必須具備 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)。 |
avoidBuggyIps |
如為 true,請避免使用結尾為 .0 或 .255 的 IP。這樣可避免發生錯誤的消費型裝置誤將這些特殊 IP 位址的 IPv4 流量捨棄。 |
manualAssign |
如設為 true,則禁止自動指派 IP 位址。 |
BareMetalLoadBalancerNodePoolConfig
指定負載平衡器的節點集區設定。
JSON 表示法 |
---|
{
"nodePoolConfig": {
object ( |
欄位 | |
---|---|
nodePoolConfig |
執行負載平衡器的節點集區一般設定。 |
BareMetalManualLbConfig
代表手動負載平衡器的設定參數。
JSON 表示法 |
---|
{ "enabled": boolean } |
欄位 | |
---|---|
enabled |
是否啟用手動負載平衡。 |
BareMetalBgpLbConfig
BareMetalBgpLbConfig 代表邊界閘道通訊協定 (BGP) 負載平衡器的設定參數。
JSON 表示法 |
---|
{ "asn": string, "bgpPeerConfigs": [ { object ( |
欄位 | |
---|---|
asn |
這是必要旗標,叢集的 BGP 自治系統編號 (ASN)。叢集建立後仍可更新這個欄位。 |
bgpPeerConfigs[] |
這是必要旗標,叢集要連線的 BGP 對等互連清單。每個控制層節點至少須設定一個對等互連。 控制層節點會連線至這些對等互連,以宣傳控制層 VIP。服務負載平衡器預設也會使用這些對等互連。 叢集建立後仍可更新這個欄位。 |
addressPools[] |
這是必要旗標,AddressPools 是負載平衡器類型服務使用的非重疊 IP 集區清單。所有位址都必須可路由至負載平衡器節點。集區必須包含 IngressVIP。 |
loadBalancerNodePoolConfig |
指定執行資料層負載平衡的節點集區。這個集區中的節點必須具備 L2 連線能力。如果缺少這個標記,系統會使用控制層節點集區進行資料層負載平衡。 |
BareMetalBgpPeerConfig
BareMetalBgpPeerConfig 代表邊界閘道通訊協定 (BGP) 對等互連的設定參數。
JSON 表示法 |
---|
{ "asn": string, "ipAddress": string, "controlPlaneNodes": [ string ] } |
欄位 | |
---|---|
asn |
這是必要旗標,包含外部對等互連裝置的網路 BGP 自治系統編號 (ASN)。 |
ipAddress |
這是必要旗標,外部對等互連裝置的 IP 位址。 |
controlPlaneNodes[] |
連線至外部對等的控制層節點 IP 位址。如未指定任何控制層節點,所有控制層節點都能連線至外部對等互連。如果您指定一或多個 IP 位址,只有指定的節點會參與對等互連工作階段。 |
BareMetalStorageConfig
BareMetalStorageConfig 會指定叢集儲存空間設定。
JSON 表示法 |
---|
{ "lvpShareConfig": { object ( |
欄位 | |
---|---|
lvpShareConfig |
這是必要旗標,指定共用檔案系統中子目錄所支援的本機 PersistentVolumes 設定。系統會在建立叢集時自動建立這些子目錄。 |
lvpNodeMountsConfig |
這是必要旗標,指定已掛接節點磁碟所支援的本機 PersistentVolumes 設定。這些磁碟必須由使用者進行格式化和掛接,使用者可以在建立叢集之前或之後完成作業。 |
BareMetalProxyConfig
指定叢集 Proxy 設定。
JSON 表示法 |
---|
{ "uri": string, "noProxy": [ string ] } |
欄位 | |
---|---|
uri |
這是必要旗標,指定 Proxy 伺服器的位址。例如: 請勿以 |
noProxy[] |
應略過 Proxy 的 IP、主機名稱和網域清單。例如:["127.0.0.1", "example.com", ".corp", "localhost"]。 |
BareMetalClusterOperationsConfig
指定裸機使用者叢集的可觀測性基礎架構。
JSON 表示法 |
---|
{ "enableApplicationLogs": boolean } |
欄位 | |
---|---|
enableApplicationLogs |
是否應啟用應用程式記錄/指標的收集功能 (系統記錄/指標除外)。 |
BareMetalMaintenanceConfig
指定要將裸機節點納入或排除維護作業的設定。
JSON 表示法 |
---|
{ "maintenanceAddressCidrBlocks": [ string ] } |
欄位 | |
---|---|
maintenanceAddressCidrBlocks[] |
這是必要旗標,這些範圍內的所有 IPv4 位址都會進入維護模式。處於維護模式的節點會遭到封鎖和清空。如果這兩項條件都成立,節點資源就會設定「baremetal.cluster.gke.io/maintenance」註解。 |
BareMetalWorkloadNodeConfig
指定工作負載節點設定。
JSON 表示法 |
---|
{
"maxPodsPerNode": string,
"containerRuntime": enum ( |
欄位 | |
---|---|
maxPodsPerNode |
節點可執行的 Pod 數量上限。指派給節點的 CIDR 範圍大小會衍生自這個參數。 |
containerRuntime |
指定要使用的容器執行階段。 |
ContainerRuntime
用於在這個使用者叢集中執行容器的執行階段。
列舉 | |
---|---|
CONTAINER_RUNTIME_UNSPECIFIED |
未選取任何容器執行階段。 |
CONTAINERD |
Containerd 執行階段。 |
BareMetalSecurityConfig
指定裸機使用者叢集的安全性相關設定。
JSON 表示法 |
---|
{
"authorization": {
object ( |
欄位 | |
---|---|
authorization |
設定使用者叢集的使用者存取權。 |
BareMetalMaintenanceStatus
代表 bare metal 使用者叢集的維護狀態。
JSON 表示法 |
---|
{
"machineDrainStatus": {
object ( |
欄位 | |
---|---|
machineDrainStatus |
節點機器的維護狀態。 |
BareMetalMachineDrainStatus
代表正在進行清空作業的節點機器狀態。
JSON 表示法 |
---|
{ "drainingMachines": [ { object ( |
欄位 | |
---|---|
drainingMachines[] |
正在排空的機器清單。 |
drainedMachines[] |
電力耗盡的機器清單。 |
BareMetalDrainingMachine
代表目前正在排水的機器。
JSON 表示法 |
---|
{ "nodeIp": string, "podCount": integer } |
欄位 | |
---|---|
nodeIp |
排空機器的 IP 位址。 |
podCount |
尚未排空的 Pod 數量。 |
BareMetalDrainedMachine
代表目前已耗盡電力的裝置。
JSON 表示法 |
---|
{ "nodeIp": string } |
欄位 | |
---|---|
nodeIp |
已排空的機器 IP 位址。 |
BareMetalNodeAccessConfig
指定裸機使用者叢集的節點存取權相關設定。
JSON 表示法 |
---|
{ "loginUser": string } |
欄位 | |
---|---|
loginUser |
LoginUser 是用來存取節點機器的使用者名稱。如果未設定,預設值為「root」。 |
BareMetalOsEnvironmentConfig
指定叢集佈建的作業系統設定。
JSON 表示法 |
---|
{ "packageRepoExcluded": boolean } |
欄位 | |
---|---|
packageRepoExcluded |
是否要在初始化不含作業系統的機器時,排除套件存放區。 |
BareMetalClusterUpgradePolicy
BareMetalClusterUpgradePolicy 會定義叢集升級政策。
JSON 表示法 |
---|
{
"policy": enum ( |
欄位 | |
---|---|
policy |
指定要使用的升級政策。 |
pause |
僅供輸出。「暫停」用於顯示升級暫停狀態。目前只能查看。 |
NodePoolPolicy
指定工作站節點集區的升級政策。
列舉 | |
---|---|
NODE_POOL_POLICY_UNSPECIFIED |
未選取任何升級政策。 |
SERIAL |
依序升級工作站節點集區。 |
CONCURRENT |
平行升級所有工作站節點集區。 |
方法 |
|
---|---|
|
在指定專案和位置中建立新的 Bare Metal 叢集。 |
|
刪除單一 Bare Metal 叢集。 |
|
將現有的裸機使用者叢集及其節點集區,註冊至特定專案和位置的 Anthos On-Prem API。 |
|
取得單一裸機叢集的詳細資料。 |
|
列出指定專案和位置的裸機叢集。 |
|
更新單一 Bare Metal 叢集的參數。 |
|
查詢 Bare Metal 使用者叢集版本設定。 |