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)
  },
  "localNamespace": string
}
欄位
name

string

不可變更。Bare metal 使用者叢集資源名稱。

adminClusterMembership

string

這是必要旗標,這個裸機使用者叢集所屬的管理員叢集。這是管理員叢集機群成員的完整資源名稱。

description

string

這個 bare metal 使用者叢集的說明 (使用者可理解)。

bareMetalVersion

string

這是必要旗標,使用者叢集的 Bare Metal 中的 Anthos 叢集版本。

uid

string

僅供輸出。bare metal 使用者叢集的專屬 ID。

state

enum (State)

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

endpoint

string

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

reconciling

boolean

僅供輸出。如果已設定,目前有變更正在套用至 bare metal 使用者叢集。

createTime

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"

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)

叢集升級政策。

localNamespace

string

僅供輸出。叢集的命名空間。

狀態

裸機使用者叢集的生命週期狀態。

列舉
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。在 bare metal 使用者叢集中使用的 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

代表 arg 名稱/值組合。系統僅支援部分自訂旗標。如要瞭解確切格式,請參閱 API 伺服器說明文件

JSON 表示法
{
  "argument": string,
  "value": string
}
欄位
argument

string

這是必要旗標,API 伺服器指令列上顯示的引數名稱,請務必移除開頭的破折號。

value

string

這是必要旗標,arg 的值,會傳遞至 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)

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

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 位址都會進入維護模式。處於維護模式的節點會遭到封鎖和清空。如果這兩項條件都成立,節點資源就會設定「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

代表 bare metal 使用者叢集的維護狀態。

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

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

delete

刪除單一 Bare Metal 叢集。

enroll

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

get

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

list

列出指定專案和位置的裸機叢集。

patch

更新單一 Bare Metal 叢集的參數。

queryVersionConfig

查詢 Bare Metal 使用者叢集版本設定。