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,
  "enableAdvancedCluster": 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 不同。如果是新叢集,這個欄位會與使用者提供的叢集名稱相符,並顯示在資源名稱的最後一個元件中。無法修改。

所有使用者都應使用這個名稱,透過 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)

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

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

啟用 Controlplane V2。預設值為 false。

binaryAuthorization

object (BinaryAuthorization)

二進位授權相關設定。

upgradePolicy

object (VmwareClusterUpgradePolicy)

指定叢集的升級政策。

disableBundledIngress

boolean

停用隨附 Ingress。

enableAdvancedCluster

boolean

啟用進階叢集。

狀態

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)

每個管理員叢集節點的記憶體容量 (以 MB 為單位),管理員叢集節點會用來當做這個 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 Datastore。

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)

Controlplane V2 模式的設定。

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

object (VmwareStaticIpConfig)

靜態 IP 設定的配置設定。

dhcpIpConfig

object (VmwareDhcpIpConfig)

DHCP IP 設定的設定。

VmwareControlPlaneV2Config

指定 Controlplane 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。管理員叢集中的 Ingress 服務會實作 NodePort 類型的服務 (例如 32527)。

ingressHttpsNodePort

integer

Ingress 服務 HTTPS 的 NodePort。管理員叢集中的 Ingress 服務會實作 NodePort 類型的服務 (例如 30139)。

controlPlaneNodePort

integer

控制層服務的 NodePort。管理員叢集中的 Kubernetes API 伺服器會實作 NodePort 類型的 Service (例如 30968)。

konnectivityServerNodePort

integer

在每個 kube-apiserver Pod 中以 Sidecar 形式執行的 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-[clusterName]。

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

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

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 使用者叢集版本設定。