REST Resource: projects.locations.vmwareClusters

資源:VmwareCluster

表示 VMware 使用者叢集的資源。

##

JSON 表示法
{
  "name": string,
  "adminClusterMembership": string,
  "description": string,
  "onPremVersion": string,
  "uid": string,
  "state": enum (State),
  "endpoint": string,
  "reconciling": boolean,
  "createTime": string,
  "updateTime": string,
  "localName": string,
  "etag": string,
  "annotations": {
    string: string,
    ...
  },
  "controlPlaneNode": {
    object (VmwareControlPlaneNodeConfig)
  },
  "antiAffinityGroups": {
    object (VmwareAAGConfig)
  },
  "storage": {
    object (VmwareStorageConfig)
  },
  "networkConfig": {
    object (VmwareNetworkConfig)
  },
  "loadBalancer": {
    object (VmwareLoadBalancerConfig)
  },
  "vcenter": {
    object (VmwareVCenterConfig)
  },
  "status": {
    object (ResourceStatus)
  },
  "dataplaneV2": {
    object (VmwareDataplaneV2Config)
  },
  "vmTrackingEnabled": boolean,
  "autoRepairConfig": {
    object (VmwareAutoRepairConfig)
  },
  "fleet": {
    object (Fleet)
  },
  "authorization": {
    object (Authorization)
  },
  "deleteTime": string,
  "validationCheck": {
    object (ValidationCheck)
  },
  "adminClusterName": string,
  "enableControlPlaneV2": boolean,
  "binaryAuthorization": {
    object (BinaryAuthorization)
  },
  "upgradePolicy": {
    object (VmwareClusterUpgradePolicy)
  },
  "disableBundledIngress": boolean
}
欄位
name

string

不可變動。VMware 使用者叢集資源名稱。

adminClusterMembership

string

這是必要旗標,這個 VMware 使用者叢集所屬的管理員叢集。這是管理員叢集機群成員的完整資源名稱。日後,如果管理員叢集以自身資源的形式建模,系統可能會允許參照其他資源類型。

description

string

這個 VMware 使用者叢集的使用者可讀說明。

onPremVersion

string

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

uid

string

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

state

enum (State)

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

endpoint

string

僅供輸出。VMware 使用者叢集 API 伺服器的 DNS 名稱。

reconciling

boolean

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

createTime

string (Timestamp format)

僅供輸出。VMware 使用者叢集建立的時間。

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

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

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

僅供輸出。相關聯管理員叢集中 VMware OnPremUserCluster 自訂資源的物件名稱。這個欄位可用於在將現有叢集註冊至 API 時,支援有衝突的名稱。當這個欄位用於叢集註冊時,其 ID 會與資源名稱中的 ID 不同。對於新叢集,這個欄位會與使用者提供的叢集名稱相符,並顯示在資源名稱的最後一個元件中。且無法修改。

所有使用者都應使用這個名稱,透過 gkectl 或 kubectl 存取叢集,並在查看管理叢集控制器記錄時,查看本機名稱。

etag

string

伺服器會根據其他欄位的值計算此總和檢查碼,並可能在更新和刪除要求中傳送,以確保用戶端在繼續操作前擁有最新的值。允許用戶端透過樂觀並行控制,執行一致的讀取-修改-寫入作業。

annotations

map (key: string, value: string)

VMware 使用者叢集上的註解。這個欄位與 Kubernetes 註解具有相同的限制。所有鍵值組合的總大小上限為 256k。索引鍵可包含 2 個部分:前置字串 (選填) 和名稱 (必填),兩者須以正斜線 (/) 分隔。前置字串必須是 DNS 子網域。名稱長度不得超過 63 個字元,開頭和結尾須為英數字元,中間須包含連字號 (-)、底線 (_)、點號 (.) 和英數字元。

包含 "key": value 組合清單的物件。範例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

controlPlaneNode

object (VmwareControlPlaneNodeConfig)

VMware 使用者叢集控制層節點必須有 1 或 3 個備用資源。

antiAffinityGroups

object (VmwareAAGConfig)

AAGConfig 會指定是否要將 VMware 使用者叢集節點分散至資料中心內至少三個實體主機。

storage

object (VmwareStorageConfig)

儲存空間設定。

networkConfig

object (VmwareNetworkConfig)

VMware 使用者叢集網路設定。

loadBalancer

object (VmwareLoadBalancerConfig)

負載平衡器設定。

vcenter

object (VmwareVCenterConfig)

VmwareVCenterConfig 會指定使用者叢集的 vCenter 設定。如未指定,系統會沿用管理員叢集的值。

status

object (ResourceStatus)

僅供輸出。代表詳細叢集狀態的 ResourceStatus。

dataplaneV2

object (VmwareDataplaneV2Config)

VmwareDataplaneV2Config 會指定 Dataplane V2 的設定。

vmTrackingEnabled

boolean

啟用 VM 追蹤。

autoRepairConfig

object (VmwareAutoRepairConfig)

自動修復的設定。

fleet

object (Fleet)

僅供輸出。叢集的機群設定。

authorization

object (Authorization)

由 Anthos On-Prem API 套用及管理的 RBAC 政策。

deleteTime

string (Timestamp format)

僅供輸出。刪除 VMware 使用者叢集的時間。

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

validationCheck

object (ValidationCheck)

僅供輸出。ValidationCheck 代表預檢查詢作業的結果。

adminClusterName

string

僅供輸出。代管此使用者叢集的 VMware 管理員叢集資源名稱。

enableControlPlaneV2

boolean

啟用控制層 V2。預設值為 false。

binaryAuthorization

object (BinaryAuthorization)

二進位授權相關設定。

upgradePolicy

object (VmwareClusterUpgradePolicy)

指定叢集的升級政策。

disableBundledIngress

boolean

停用隨附 Ingress。

狀態

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

列舉
STATE_UNSPECIFIED 未設定。
PROVISIONING PROVISIONING 狀態表示系統正在建立叢集。
RUNNING RUNNING 狀態表示叢集已建立完成,可完全使用。
RECONCILING RECONCILING 狀態表示叢集正在更新。仍可使用,但效能可能會降低。
STOPPING STOPPING 狀態表示叢集正在刪除。
ERROR ERROR 狀態表示叢集處於無法復原的故障狀態。
DEGRADED 「DEGRADED」狀態表示叢集需要使用者採取行動,才能恢復完整功能。

VmwareControlPlaneNodeConfig

指定 VMware 使用者叢集的控制層節點設定。

JSON 表示法
{
  "cpus": string,
  "memory": string,
  "replicas": string,
  "autoResizeConfig": {
    object (VmwareAutoResizeConfig)
  },
  "vsphereConfig": {
    object (VmwareControlPlaneVsphereConfig)
  }
}
欄位
cpus

string (int64 format)

每個管理員叢集節點的 CPU 數量,管理員叢集節點會用來當做這個 VMware 使用者叢集的控制層。(預設值:4 個 CPU)

memory

string (int64 format)

做為這個 VMware 使用者叢集控制層的每個管理員叢集節點記憶體容量 (預設:8192 MB 記憶體)。

replicas

string (int64 format)

這個 VMware 使用者叢集的控制層節點數量。(預設值:1 個複本)。

autoResizeConfig

object (VmwareAutoResizeConfig)

AutoResizeConfig 提供自動調整大小設定。

vsphereConfig

object (VmwareControlPlaneVsphereConfig)

Vsphere 專屬設定。

VmwareControlPlaneVsphereConfig

指定控制層節點設定。

JSON 表示法
{
  "datastore": string,
  "storagePolicyName": string
}
欄位
datastore

string

控制層節點使用的 Vsphere 資料儲存庫。

storagePolicyName

string

控制層節點使用的 Vsphere 儲存空間政策。

VmwareStorageConfig

指定 VMware 使用者叢集中的 vSphere CSI 元件部署設定。

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

boolean

是否要在 VMware 使用者叢集中部署 vSphere CSI 元件。(預設為啟用)。

VmwareNetworkConfig

指定 VMware 使用者叢集的網路設定。

JSON 表示法
{
  "serviceAddressCidrBlocks": [
    string
  ],
  "podAddressCidrBlocks": [
    string
  ],
  "vcenterNetwork": string,
  "hostConfig": {
    object (VmwareHostConfig)
  },
  "controlPlaneV2Config": {
    object (VmwareControlPlaneV2Config)
  },

  // Union field ip_configuration can be only one of the following:
  "staticIpConfig": {
    object (VmwareStaticIpConfig)
  },
  "dhcpIpConfig": {
    object (VmwareDhcpIpConfig)
  }
  // End of list of possible types for union field ip_configuration.
}
欄位
serviceAddressCidrBlocks[]

string

這是必要旗標,系統會為叢集中的所有服務指派這些範圍內的 RFC1918 IPv4 位址。僅支援單一範圍。建立後即無法變更。

podAddressCidrBlocks[]

string

這是必要旗標,系統會為叢集中的所有 Pod 指派這些範圍內的 RFC1918 IPv4 位址。僅支援單一範圍。建立後即無法變更。

vcenterNetwork

string

vcenterNetwork 會指定 vCenter 網路名稱。沿用自管理員叢集。

hostConfig

object (VmwareHostConfig)

代表一般網路設定,不受主機 IP 位址影響。

controlPlaneV2Config

object (VmwareControlPlaneV2Config)

控制層 V2 模式的設定。

聯集欄位 ip_configuration。VMware 使用者叢集使用的 IP 設定類型。ip_configuration 只能是下列其中一項:
staticIpConfig

object (VmwareStaticIpConfig)

靜態 IP 設定的配置設定。

dhcpIpConfig

object (VmwareDhcpIpConfig)

DHCP IP 設定的設定。

VmwareControlPlaneV2Config

指定控制層 V2 設定。

JSON 表示法
{
  "controlPlaneIpBlock": {
    object (VmwareIpBlock)
  }
}
欄位
controlPlaneIpBlock

object (VmwareIpBlock)

控制層節點的靜態 IP 位址。

VmwareLoadBalancerConfig

指定 VMware 使用者叢集的負載平衡器設定。

JSON 表示法
{
  "vipConfig": {
    object (VmwareVipConfig)
  },

  // Union field load_balancer_configuration can be only one of the following:
  "f5Config": {
    object (VmwareF5BigIpConfig)
  },
  "manualLbConfig": {
    object (VmwareManualLbConfig)
  },
  "seesawConfig": {
    object (VmwareSeesawConfig)
  },
  "metalLbConfig": {
    object (VmwareMetalLbConfig)
  }
  // End of list of possible types for union field load_balancer_configuration.
}
欄位
vipConfig

object (VmwareVipConfig)

負載平衡器使用的 VIP。

聯集欄位 load_balancer_configuration。在使用者叢集中使用的負載平衡器設定。load_balancer_configuration 只能是下列其中一項:
f5Config

object (VmwareF5BigIpConfig)

F5 Big IP 類型負載平衡器的設定。

manualLbConfig

object (VmwareManualLbConfig)

手動設定的負載平衡器。

seesawConfig

object (VmwareSeesawConfig)

僅供輸出。Seesaw 類型的負載平衡器設定。

metalLbConfig

object (VmwareMetalLbConfig)

MetalLB 型負載平衡器的設定。

VmwareVipConfig

指定 VMware 使用者叢集負載平衡器的 VIP 設定。

JSON 表示法
{
  "controlPlaneVip": string,
  "ingressVip": string
}
欄位
controlPlaneVip

string

您先前為此叢集的 Kubernetes API 所設定的 VIP。

ingressVip

string

您先前為此叢集輸入流量設定的 VIP。

VmwareF5BigIpConfig

代表 F5 BIG-IP 負載平衡器的設定參數。

JSON 表示法
{
  "address": string,
  "partition": string,
  "snatPool": string
}
欄位
address

string

負載平衡器的 IP 位址。

partition

string

負載平衡器要使用的現有分區。這個分區通常會為管理員叢集建立,例如:'my-f5-admin-partition'。

snatPool

string

集區名稱。僅在使用 SNAT 時需要。

VmwareManualLbConfig

代表現有手動負載平衡器的設定參數。考量手動負載平衡器的特性,使用者應可完全管理該負載平衡器。

重要事項:請注意,Anthos On-Prem API 不會產生或更新 ManualLB 設定,只能將現有設定繫結至新的 VMware 使用者叢集。

JSON 表示法
{
  "ingressHttpNodePort": integer,
  "ingressHttpsNodePort": integer,
  "controlPlaneNodePort": integer,
  "konnectivityServerNodePort": integer
}
欄位
ingressHttpNodePort

integer

ingress 服務的 HTTP 適用的 NodePort。管理員叢集中的輸入服務會導入為 NodePort 類型的服務 (例如32527)。

ingressHttpsNodePort

integer

ingress 服務的 HTTPS 專用 NodePort。管理員叢集中的輸入服務會導入為 NodePort 類型的服務 (例如30139)。

controlPlaneNodePort

integer

控制平面服務的 NodePort。管理員叢集中的 Kubernetes API 伺服器會導入為 NodePort 類型的服務 (例如30968)。

konnectivityServerNodePort

integer

在每個 kube-apiserver pod 中,以側載的方式運作 konnectivity 伺服器服務的 NodePort (例如30564)。

VmwareSeesawConfig

VmwareSeesawConfig 代表現有 Seesaw 負載平衡器的設定參數。

重要事項:請注意,Anthos On-Prem API 不會產生或更新 Seesaw 設定,只能將現有設定繫結至新的使用者叢集。

重要事項:嘗試使用現有的 Seesaw 負載平衡器建立使用者叢集時,您必須先執行一些準備步驟,才能呼叫 'vmwareClusters.create' API 方法。首先,您必須透過 kubectl 建立使用者叢集的命名空間。命名空間必須使用以下命名慣例:-gke-onprem-mgmt 或 -gke-onprem-mgmt,具體取決於您是否使用「VmwareCluster.local_name」來區分衝突;如需更多資訊,請參閱「VmwareCluster.local_name」的說明文件。命名空間建立完成後,您必須透過 kubectl 建立密鑰資源。這個密鑰會包含 Seesaw 憑證的副本。密鑰必須命名為「user-cluster-creds」,並包含 Seesaw 的 SSH 和憑證憑證。憑證必須以以下名稱命名:'seesaw-ssh-private-key'、'seesaw-ssh-public-key'、'seesaw-ssh-ca-key'、'seesaw-ssh-ca-cert'。

JSON 表示法
{
  "group": string,
  "masterIp": string,
  "ipBlocks": [
    {
      object (VmwareIpBlock)
    }
  ],
  "enableHa": boolean,
  "vms": [
    string
  ],
  "stackdriverName": string
}
欄位
group

string

這是必要旗標,一般來說,Seesaw 群組名稱應採用以下格式:seesaw-for-[叢集名稱]。

masterIp

string

這是必要旗標,MasterIP 是 Seesaw 群組主控台宣告的 IP。

ipBlocks[]

object (VmwareIpBlock)

這是必要旗標,Seesaw 負載平衡器要使用的 IP 區塊

enableHa

boolean

啟用兩個負載平衡器 VM,以便提供高可用性的 Seesaw 負載平衡器。

vms[]

string

為這個 Seesaw 群組建立的 VM 名稱。

stackdriverName

string

Stackdriver 要使用的名稱。

VmwareMetalLbConfig

代表 MetalLB 負載平衡器的設定參數。

JSON 表示法
{
  "addressPools": [
    {
      object (VmwareAddressPool)
    }
  ]
}
欄位
addressPools[]

object (VmwareAddressPool)

這是必要旗標,AddressPools 是負載平衡器類型服務使用的非重疊 IP 集區清單。所有位址都必須可路由至負載平衡器節點。集區中必須包含 IngressVIP。

VmwareAddressPool

代表負載平衡器使用的 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 位址。

VmwareVCenterConfig

代表使用者叢集的 VMware VCenter 設定。

JSON 表示法
{
  "resourcePool": string,
  "datastore": string,
  "datacenter": string,
  "cluster": string,
  "folder": string,
  "caCertData": string,
  "address": string,
  "storagePolicyName": string
}
欄位
resourcePool

string

使用者叢集的 vCenter 資源集區名稱。

datastore

string

使用者叢集的 vCenter 資料儲存庫名稱。

datacenter

string

使用者叢集的 vCenter 資料中心名稱。

cluster

string

使用者叢集的 vCenter 叢集名稱。

folder

string

使用者叢集的 vCenter 資料夾名稱。

caCertData

string

包含 vCenter CA 憑證公開金鑰,用於 SSL 驗證。

address

string

僅供輸出。vCenter IP 位址。

storagePolicyName

string

使用者叢集的 vCenter 儲存空間政策名稱。

VmwareDataplaneV2Config

包含 Dataplane V2 的設定,這是針對 Kubernetes 網路最佳化的資料層。詳情請參閱:https://cloud.google.com/kubernetes-engine/docs/concepts/dataplane-v2

JSON 表示法
{
  "dataplaneV2Enabled": boolean,
  "windowsDataplaneV2Enabled": boolean,
  "advancedNetworking": boolean,
  "forwardMode": string
}
欄位
dataplaneV2Enabled

boolean

啟用 Dataplane V2。

windowsDataplaneV2Enabled

boolean

為含有 Windows 節點的叢集啟用 Dataplane V2。

advancedNetworking

boolean

啟用進階網路,但必須將 dataplaneV2Enabled 設為 true。

forwardMode

string

為 Dataplane v2 設定 ForwardMode。

VmwareClusterUpgradePolicy

VmwareClusterUpgradePolicy 會定義叢集升級政策。

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

boolean

控制升級作業是否只套用至控制層。

方法

create

在指定專案和地點中建立新的 VMware 使用者叢集。

delete

刪除單一 VMware 叢集。

enroll

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

get

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

list

列出指定專案和位置中的 VMware 叢集。

patch

更新單一 VMware 叢集的參數。

queryVersionConfig

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