- Resource: VmwareCluster
- State
- VmwareControlPlaneNodeConfig
- VmwareControlPlaneVsphereConfig
- VmwareStorageConfig
- VmwareNetworkConfig
- VmwareControlPlaneV2Config
- VmwareLoadBalancerConfig
- VmwareVipConfig
- VmwareF5BigIpConfig
- VmwareManualLbConfig
- VmwareSeesawConfig
- VmwareMetalLbConfig
- VmwareAddressPool
- VmwareVCenterConfig
- VmwareDataplaneV2Config
- VmwareClusterUpgradePolicy
- Methods
Resource: VmwareCluster
Resource that represents a VMware user cluster.
##
JSON representation |
---|
{ "name": string, "adminClusterMembership": string, "description": string, "onPremVersion": string, "uid": string, "state": enum ( |
Fields | |
---|---|
name |
Immutable. The VMware user cluster resource name. |
adminClusterMembership |
Required. The admin cluster this VMware user cluster belongs to. This is the full resource name of the admin cluster's fleet membership. In the future, references to other resource types might be allowed if admin clusters are modeled as their own resources. |
description |
A human readable description of this VMware user cluster. |
onPremVersion |
Required. The Anthos clusters on the VMware version for your user cluster. |
uid |
Output only. The unique identifier of the VMware user cluster. |
state |
Output only. The current state of VMware user cluster. |
endpoint |
Output only. The DNS name of VMware user cluster's API server. |
reconciling |
Output only. If set, there are currently changes in flight to the VMware user cluster. |
createTime |
Output only. The time at which VMware user cluster was created. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: |
updateTime |
Output only. The time at which VMware user cluster was last updated. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: |
localName |
Output only. The object name of the VMware OnPremUserCluster custom resource on the associated admin cluster. This field is used to support conflicting names when enrolling existing clusters to the API. When used as a part of cluster enrollment, this field will differ from the ID in the resource name. For new clusters, this field will match the user provided cluster name and be visible in the last component of the resource name. It is not modifiable. All users should use this name to access their cluster using gkectl or kubectl and should expect to see the local name when viewing admin cluster controller logs. |
etag |
This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. Allows clients to perform consistent read-modify-writes through optimistic concurrency control. |
annotations |
Annotations on the VMware user cluster. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between. An object containing a list of |
controlPlaneNode |
VMware user cluster control plane nodes must have either 1 or 3 replicas. |
antiAffinityGroups |
AAGConfig specifies whether to spread VMware user cluster nodes across at least three physical hosts in the datacenter. |
storage |
Storage configuration. |
networkConfig |
The VMware user cluster network configuration. |
loadBalancer |
Load balancer configuration. |
vcenter |
VmwareVCenterConfig specifies vCenter config for the user cluster. If unspecified, it is inherited from the admin cluster. |
status |
Output only. ResourceStatus representing detailed cluster state. |
dataplaneV2 |
VmwareDataplaneV2Config specifies configuration for Dataplane V2. |
vmTrackingEnabled |
Enable VM tracking. |
autoRepairConfig |
Configuration for auto repairing. |
fleet |
Output only. Fleet configuration for the cluster. |
authorization |
RBAC policy that will be applied and managed by the Anthos On-Prem API. |
deleteTime |
Output only. The time at which VMware user cluster was deleted. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: |
validationCheck |
Output only. ValidationCheck represents the result of the preflight check job. |
adminClusterName |
Output only. The resource name of the VMware admin cluster hosting this user cluster. |
enableControlPlaneV2 |
Enable control plane V2. Default to false. |
upgradePolicy |
Specifies upgrade policy for the cluster. |
disableBundledIngress |
Disable bundled ingress. |
State
The lifecycle state of the VMware user cluster.
Enums | |
---|---|
STATE_UNSPECIFIED |
Not set. |
PROVISIONING |
The PROVISIONING state indicates the cluster is being created. |
RUNNING |
The RUNNING state indicates the cluster has been created and is fully usable. |
RECONCILING |
The RECONCILING state indicates that the cluster is being updated. It remains available, but potentially with degraded performance. |
STOPPING |
The STOPPING state indicates the cluster is being deleted. |
ERROR |
The ERROR state indicates the cluster is in a broken unrecoverable state. |
DEGRADED |
The DEGRADED state indicates the cluster requires user action to restore full functionality. |
VmwareControlPlaneNodeConfig
Specifies control plane node config for the VMware user cluster.
JSON representation |
---|
{ "cpus": string, "memory": string, "replicas": string, "autoResizeConfig": { object ( |
Fields | |
---|---|
cpus |
The number of CPUs for each admin cluster node that serve as control planes for this VMware user cluster. (default: 4 CPUs) |
memory |
The megabytes of memory for each admin cluster node that serves as a control plane for this VMware user cluster (default: 8192 MB memory). |
replicas |
The number of control plane nodes for this VMware user cluster. (default: 1 replica). |
autoResizeConfig |
AutoResizeConfig provides auto resizing configurations. |
vsphereConfig |
Vsphere-specific config. |
VmwareControlPlaneVsphereConfig
Specifies control plane node config.
JSON representation |
---|
{ "datastore": string, "storagePolicyName": string } |
Fields | |
---|---|
datastore |
The Vsphere datastore used by the control plane Node. |
storagePolicyName |
The Vsphere storage policy used by the control plane Node. |
VmwareStorageConfig
Specifies vSphere CSI components deployment config in the VMware user cluster.
JSON representation |
---|
{ "vsphereCsiDisabled": boolean } |
Fields | |
---|---|
vsphereCsiDisabled |
Whether or not to deploy vSphere CSI components in the VMware user cluster. Enabled by default. |
VmwareNetworkConfig
Specifies network config for the VMware user cluster.
JSON representation |
---|
{ "serviceAddressCidrBlocks": [ string ], "podAddressCidrBlocks": [ string ], "vcenterNetwork": string, "hostConfig": { object ( |
Fields | |
---|---|
serviceAddressCidrBlocks[] |
Required. All services in the cluster are assigned an RFC1918 IPv4 address from these ranges. Only a single range is supported. This field cannot be changed after creation. |
podAddressCidrBlocks[] |
Required. All pods in the cluster are assigned an RFC1918 IPv4 address from these ranges. Only a single range is supported. This field cannot be changed after creation. |
vcenterNetwork |
Output only. vcenterNetwork specifies vCenter network name. Inherited from the admin cluster. |
hostConfig |
Represents common network settings irrespective of the host's IP address. |
controlPlaneV2Config |
Configuration for control plane V2 mode. |
Union field ip_configuration . The type of IP configuration used by the VMware user cluster. ip_configuration can be only one of the following: |
|
staticIpConfig |
Configuration settings for a static IP configuration. |
dhcpIpConfig |
Configuration settings for a DHCP IP configuration. |
VmwareControlPlaneV2Config
Specifies control plane V2 config.
JSON representation |
---|
{
"controlPlaneIpBlock": {
object ( |
Fields | |
---|---|
controlPlaneIpBlock |
Static IP addresses for the control plane nodes. |
VmwareLoadBalancerConfig
Specifies the locad balancer config for the VMware user cluster.
JSON representation |
---|
{ "vipConfig": { object ( |
Fields | |
---|---|
vipConfig |
The VIPs used by the load balancer. |
Union field load_balancer_configuration . The load balancer configuration to be used in the user cluster. load_balancer_configuration can be only one of the following: |
|
f5Config |
Configuration for F5 Big IP typed load balancers. |
manualLbConfig |
Manually configured load balancers. |
seesawConfig |
Output only. Configuration for Seesaw typed load balancers. |
metalLbConfig |
Configuration for MetalLB typed load balancers. |
VmwareVipConfig
Specifies the VIP config for the VMware user cluster load balancer.
JSON representation |
---|
{ "controlPlaneVip": string, "ingressVip": string } |
Fields | |
---|---|
controlPlaneVip |
The VIP which you previously set aside for the Kubernetes API of this cluster. |
ingressVip |
The VIP which you previously set aside for ingress traffic into this cluster. |
VmwareF5BigIpConfig
Represents configuration parameters for an F5 BIG-IP load balancer.
JSON representation |
---|
{ "address": string, "partition": string, "snatPool": string } |
Fields | |
---|---|
address |
The load balancer's IP address. |
partition |
The preexisting partition to be used by the load balancer. This partition is usually created for the admin cluster for example: 'my-f5-admin-partition'. |
snatPool |
The pool name. Only necessary, if using SNAT. |
VmwareManualLbConfig
Represents configuration parameters for an already existing manual load balancer. Given the nature of manual load balancers it is expected that said load balancer will be fully managed by users.
IMPORTANT: Please note that the Anthos On-Prem API will not generate or update ManualLB configurations it can only bind a pre-existing configuration to a new VMware user cluster.
JSON representation |
---|
{ "ingressHttpNodePort": integer, "ingressHttpsNodePort": integer, "controlPlaneNodePort": integer, "konnectivityServerNodePort": integer } |
Fields | |
---|---|
ingressHttpNodePort |
NodePort for ingress service's http. The ingress service in the admin cluster is implemented as a Service of type NodePort (ex. 32527). |
ingressHttpsNodePort |
NodePort for ingress service's https. The ingress service in the admin cluster is implemented as a Service of type NodePort (ex. 30139). |
controlPlaneNodePort |
NodePort for control plane service. The Kubernetes API server in the admin cluster is implemented as a Service of type NodePort (ex. 30968). |
konnectivityServerNodePort |
NodePort for konnectivity server service running as a sidecar in each kube-apiserver pod (ex. 30564). |
VmwareSeesawConfig
VmwareSeesawConfig represents configuration parameters for an already existing Seesaw load balancer.
IMPORTANT: Please note that the Anthos On-Prem API will not generate or update Seesaw configurations it can only bind a pre-existing configuration to a new user cluster.
IMPORTANT: When attempting to create a user cluster with a pre-existing Seesaw load balancer you will need to follow some preparation steps before calling the 'vmwareClusters.create' API method. First you will need to create the user cluster's namespace via kubectl. The namespace will need to use the following naming convention :
JSON representation |
---|
{
"group": string,
"masterIp": string,
"ipBlocks": [
{
object ( |
Fields | |
---|---|
group |
Required. In general the following format should be used for the Seesaw group name: seesaw-for-[clusterName]. |
masterIp |
Required. MasterIP is the IP announced by the master of Seesaw group. |
ipBlocks[] |
Required. The IP Blocks to be used by the Seesaw load balancer |
enableHa |
Enable two load balancer VMs to achieve a highly-available Seesaw load balancer. |
vms[] |
Names of the VMs created for this Seesaw group. |
stackdriverName |
Name to be used by Stackdriver. |
VmwareMetalLbConfig
Represents configuration parameters for the MetalLB load balancer.
JSON representation |
---|
{
"addressPools": [
{
object ( |
Fields | |
---|---|
addressPools[] |
Required. AddressPools is a list of non-overlapping IP pools used by load balancer typed services. All addresses must be routable to load balancer nodes. IngressVIP must be included in the pools. |
VmwareAddressPool
Represents an IP pool used by the load balancer.
JSON representation |
---|
{ "pool": string, "addresses": [ string ], "avoidBuggyIps": boolean, "manualAssign": boolean } |
Fields | |
---|---|
pool |
Required. The name of the address pool. |
addresses[] |
Required. The addresses that are part of this pool. Each address must be either in the CIDR form (1.2.3.0/24) or range form (1.2.3.1-1.2.3.5). |
avoidBuggyIps |
If true, avoid using IPs ending in .0 or .255. This avoids buggy consumer devices mistakenly dropping IPv4 traffic for those special IP addresses. |
manualAssign |
If true, prevent IP addresses from being automatically assigned. |
VmwareVCenterConfig
Represents configuration for the VMware VCenter for the user cluster.
JSON representation |
---|
{ "resourcePool": string, "datastore": string, "datacenter": string, "cluster": string, "folder": string, "caCertData": string, "address": string, "storagePolicyName": string } |
Fields | |
---|---|
resourcePool |
The name of the vCenter resource pool for the user cluster. |
datastore |
The name of the vCenter datastore for the user cluster. |
datacenter |
The name of the vCenter datacenter for the user cluster. |
cluster |
The name of the vCenter cluster for the user cluster. |
folder |
The name of the vCenter folder for the user cluster. |
caCertData |
Contains the vCenter CA certificate public key for SSL verification. |
address |
Output only. The vCenter IP address. |
storagePolicyName |
The name of the vCenter storage policy for the user cluster. |
VmwareDataplaneV2Config
Contains configurations for Dataplane V2, which is optimized dataplane for Kubernetes networking. For more information, see: https://cloud.google.com/kubernetes-engine/docs/concepts/dataplane-v2
JSON representation |
---|
{ "dataplaneV2Enabled": boolean, "windowsDataplaneV2Enabled": boolean, "advancedNetworking": boolean } |
Fields | |
---|---|
dataplaneV2Enabled |
Enables Dataplane V2. |
windowsDataplaneV2Enabled |
Enable Dataplane V2 for clusters with Windows nodes. |
advancedNetworking |
Enable advanced networking which requires dataplaneV2Enabled to be set true. |
VmwareClusterUpgradePolicy
VmwareClusterUpgradePolicy defines the cluster upgrade policy.
JSON representation |
---|
{ "controlPlaneOnly": boolean } |
Fields | |
---|---|
controlPlaneOnly |
Controls whether the upgrade applies to the control plane only. |
Methods |
|
---|---|
|
Creates a new VMware user cluster in a given project and location. |
|
Deletes a single VMware Cluster. |
|
Enrolls an existing VMware user cluster and its node pools to the Anthos On-Prem API within a given project and location. |
|
Gets details of a single VMware Cluster. |
|
Lists VMware Clusters in a given project and location. |
|
Updates the parameters of a single VMware cluster. |
|
Queries the VMware user cluster version config. |