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

必需。用户集群的 Anthos clusters on VMware 版本。

uid

string

仅限输出。VMware 用户集群的唯一标识符。

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

启用虚拟机跟踪。

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)

与 Binary Authorization 相关的配置。

upgradePolicy

object (VmwareClusterUpgradePolicy)

指定集群的升级政策。

disableBundledIngress

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)

用作此 VMware 用户集群控制平面的各管理员集群节点的 CPU 数。(默认: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 类型的 Service(例如 32527)。

ingressHttpsNodePort

integer

用于 ingress 服务的 https 的 NodePort。管理员集群中的入站服务实现为 NodePort 类型的 Service(例如 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 创建 Secret 资源。此密钥将包含您的 Seesaw 凭据的副本。Secret 必须命名为“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

启用两个负载平衡器虚拟机,以实现高可用性 Seesaw 负载平衡器。

vms[]

string

为此 Seesaw 群组创建的虚拟机的名称。

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 的配置,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 用户集群版本配置。