REST Resource: projects.locations.vmwareAdminClusters

資源:VmwareAdminCluster

代表 VMware 管理員叢集的資源。

JSON 表示法
{
  "name": string,
  "description": string,
  "uid": string,
  "etag": string,
  "createTime": string,
  "updateTime": string,
  "annotations": {
    string: string,
    ...
  },
  "state": enum (State),
  "endpoint": string,
  "reconciling": boolean,
  "localName": string,
  "bootstrapClusterMembership": string,
  "onPremVersion": string,
  "fleet": {
    object (Fleet)
  },
  "imageType": string,
  "vcenter": {
    object (VmwareAdminVCenterConfig)
  },
  "networkConfig": {
    object (VmwareAdminNetworkConfig)
  },
  "loadBalancer": {
    object (VmwareAdminLoadBalancerConfig)
  },
  "controlPlaneNode": {
    object (VmwareAdminControlPlaneNodeConfig)
  },
  "addonNode": {
    object (VmwareAdminAddonNodeConfig)
  },
  "antiAffinityGroups": {
    object (VmwareAAGConfig)
  },
  "autoRepairConfig": {
    object (VmwareAutoRepairConfig)
  },
  "status": {
    object (ResourceStatus)
  },
  "platformConfig": {
    object (VmwarePlatformConfig)
  },
  "preparedSecrets": {
    object (VmwareAdminPreparedSecretsConfig)
  },
  "authorization": {
    object (VmwareAdminAuthorizationConfig)
  },
  "validationCheck": {
    object (ValidationCheck)
  },
  "privateRegistryConfig": {
    object (VmwareAdminPrivateRegistryConfig)
  },
  "enableAdvancedCluster": boolean
}
欄位
name

string

不可變更。VMware 管理員叢集資源名稱。

description

string

這個 VMware 管理員叢集的使用者可理解說明。

uid

string

僅供輸出。VMware 管理員叢集的專屬 ID。

etag

string

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

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"

annotations

map (key: string, value: string)

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

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

state

enum (State)

僅供輸出。VMware 管理員叢集的目前狀態。

endpoint

string

僅供輸出。VMware 管理員叢集 API 伺服器的 DNS 名稱。

reconciling

boolean

僅供輸出。如果已設定,表示目前 VMware 管理員叢集正在進行變更。

localName

string

僅供輸出。VMware OnPremAdminCluster 自訂資源的物件名稱。將現有叢集註冊至 API 時,如果名稱衝突,系統會使用這個欄位。當做叢集註冊的一部分使用時,這個欄位會與資源名稱中的 ID 不同。如果是新叢集,這個欄位會與使用者提供的叢集名稱相符,並顯示在資源名稱的最後一個元件中。無法修改。

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

bootstrapClusterMembership

string

這個 VMware 管理員叢集所屬的啟動叢集。

onPremVersion

string

管理員叢集的 VMware 版 Anthos 叢集版本。

fleet

object (Fleet)

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

imageType

string

VMware 管理員叢集的 OS 映像檔類型。

vcenter

object (VmwareAdminVCenterConfig)

VMware 管理員叢集 VCenter 設定。

networkConfig

object (VmwareAdminNetworkConfig)

VMware 管理員叢集網路設定。

loadBalancer

object (VmwareAdminLoadBalancerConfig)

VMware 管理員叢集負載平衡器設定。

controlPlaneNode

object (VmwareAdminControlPlaneNodeConfig)

VMware 管理員叢集控制層節點設定。

addonNode

object (VmwareAdminAddonNodeConfig)

VMware 管理員叢集附加元件節點設定。

antiAffinityGroups

object (VmwareAAGConfig)

VMware 管理員叢集反相依性群組設定。

autoRepairConfig

object (VmwareAutoRepairConfig)

VMware 管理員叢集的自動修復設定。

status

object (ResourceStatus)

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

platformConfig

object (VmwarePlatformConfig)

VMware 平台設定。

preparedSecrets

object (VmwareAdminPreparedSecretsConfig)

僅供輸出。VMware 管理員叢集已準備好密鑰設定。這項功能應一律由 Central API 啟用,而不是讓使用者設定。

authorization

object (VmwareAdminAuthorizationConfig)

VMware 管理員叢集授權設定。

validationCheck

object (ValidationCheck)

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

privateRegistryConfig

object (VmwareAdminPrivateRegistryConfig)

登錄檔的設定。

enableAdvancedCluster

boolean

啟用進階叢集。

狀態

VMware 管理員叢集的生命週期狀態。

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

VmwareAdminVCenterConfig

VmwareAdminVCenterConfig 包含 VMware 管理員叢集的 VCenter 設定。

JSON 表示法
{
  "resourcePool": string,
  "datastore": string,
  "datacenter": string,
  "cluster": string,
  "folder": string,
  "caCertData": string,
  "address": string,
  "dataDisk": 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 位址。

dataDisk

string

管理員叢集的虛擬機器磁碟 (VMDK) 名稱。

storagePolicyName

string

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

VmwareAdminNetworkConfig

VmwareAdminNetworkConfig 包含 VMware 管理員叢集的網路設定。

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

  // 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 位址無關。

haControlPlaneConfig

object (VmwareAdminHAControlPlaneConfig)

高可用性管理員叢集控制層的設定。

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

object (VmwareStaticIpConfig)

靜態 IP 設定的配置設定。

dhcpIpConfig

object (VmwareDhcpIpConfig)

DHCP IP 設定的設定。

VmwareAdminHAControlPlaneConfig

指定高可用性管理員控制層設定。

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

object (VmwareIpBlock)

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

VmwareAdminLoadBalancerConfig

VmwareAdminLoadBalancerConfig 包含 VMware 管理員叢集的負載平衡器設定。

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

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

object (VmwareAdminVipConfig)

負載平衡器使用的 VIP。

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

object (VmwareAdminF5BigIpConfig)

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

manualLbConfig

object (VmwareAdminManualLbConfig)

手動設定的負載平衡器。

metalLbConfig

object (VmwareAdminMetalLbConfig)

MetalLB 負載平衡器。

seesawConfig

object (VmwareAdminSeesawConfig)

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

VmwareAdminVipConfig

VMware 負載平衡器設定的 VmwareAdminVipConfig。

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

string

您先前為管理員叢集的 Kubernetes API 保留的 VIP。

addonsVip

string

設定外掛程式負載平衡器的 VIP。

VmwareAdminF5BigIpConfig

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

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

string

負載平衡器的 IP 位址。

partition

string

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

snatPool

string

集區名稱。如果使用 SNAT,則為必要項目。

VmwareAdminManualLbConfig

JSON 表示法
{
  "ingressHttpNodePort": integer,
  "ingressHttpsNodePort": integer,
  "controlPlaneNodePort": integer,
  "konnectivityServerNodePort": integer,
  "addonsNodePort": 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)。

addonsNodePort

integer

管理員叢集中外掛程式伺服器的 NodePort。

VmwareAdminMetalLbConfig

VmwareAdminMetalLbConfig 代表 MetalLB 負載平衡器的設定參數。如果是管理員叢集,目前不需要任何設定。

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

boolean

是否啟用 MetalLB。

VmwareAdminSeesawConfig

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 要使用的名稱。

VmwareAdminControlPlaneNodeConfig

VmwareAdminControlPlaneNodeConfig 包含 VMware 管理員叢集的控制層節點設定。

JSON 表示法
{
  "cpus": string,
  "memory": string,
  "replicas": string
}
欄位
cpus

string (int64 format)

管理員叢集控制層節點的 vCPU 數量。

memory

string (int64 format)

管理員叢集控制層節點的記憶體容量 (以 MiB 為單位)。

replicas

string (int64 format)

這個 VMware 管理員叢集的控制層節點數量。(預設值:1 個副本)。

VmwareAdminAddonNodeConfig

VmwareAdminAddonNodeConfig 包含 VMware 管理員叢集的附加元件節點設定。

JSON 表示法
{
  "autoResizeConfig": {
    object (VmwareAutoResizeConfig)
  }
}
欄位
autoResizeConfig

object (VmwareAutoResizeConfig)

VmwareAutoResizeConfig 設定會指定自動調整大小設定。

VmwarePlatformConfig

VmwarePlatformConfig 代表 VMware 平台的設定。

JSON 表示法
{
  "requiredPlatformVersion": string,
  "platformVersion": string,
  "bundles": [
    {
      object (VmwareBundleConfig)
    }
  ],
  "status": {
    object (ResourceStatus)
  }
}
欄位
requiredPlatformVersion

string

僅限輸入。必要平台版本,例如 1.13.1。如果目前的平台版本低於目標版本,平台版本就會更新至目標版本。如果平台未安裝目標版本 (套件版本),請下載目標版本套件。

platformVersion

string

僅供輸出。平台版本,例如 1.13.2。

bundles[]

object (VmwareBundleConfig)

僅供輸出。管理員叢集中安裝的套件組合清單。

status

object (ResourceStatus)

僅供輸出。平台的資源狀態。

VmwareBundleConfig

VmwareBundleConfig 代表套件的設定。

JSON 表示法
{
  "version": string,
  "status": {
    object (ResourceStatus)
  }
}
欄位
version

string

軟體包版本。

status

object (ResourceStatus)

僅供輸出。套裝組合的資源狀態。

VmwareAdminPreparedSecretsConfig

VmwareAdminPreparedSecretsConfig 代表管理員叢集準備的 Secret 設定。

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

boolean

是否啟用預先準備的密鑰。

VmwareAdminAuthorizationConfig

VmwareAdminAuthorizationConfig 代表管理員叢集授權的設定。

JSON 表示法
{
  "viewerUsers": [
    {
      object (ClusterUser)
    }
  ]
}
欄位
viewerUsers[]

object (ClusterUser)

如果是 VMware 管理員叢集,使用者會獲得叢集的叢集檢視者角色。

VmwareAdminPrivateRegistryConfig

VmwareAdminPrivateRegistryConfig 代表管理員叢集登錄檔的設定。

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

string

登錄地址。

caCert

string

當容器執行階段從私人登錄檔提取映像檔時,登錄檔必須出示憑證來證明身分。登錄檔的憑證是由憑證授權單位 (CA) 簽署。容器執行階段會使用 CA 的憑證驗證登錄檔的憑證。

方法

create

在指定專案和位置建立新的 VMware 管理員叢集。

enroll

在指定專案和位置內,將現有的 VMware 管理員叢集註冊至 Anthos On-Prem API。

get

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

list

列出指定專案和位置的 VMware 管理員叢集。

patch

更新單一 VMware 管理員叢集的參數。