Creating a VMware Engine stretched private cloud

A Google Cloud VMware Engine stretched private cloud is a private cloud that is stretched across two data zones and a witness zone, all within the same Google Cloud region. Stretched private clouds provide compute, storage and network infrastructure that is fault tolerant to zone level failures in a given region.

Stretched private clouds use vSphere and vSAN stretched clusters to provide compute and storage high availability against zone-level failures. All clusters of a stretched private cloud are considered VMware Engine stretched clusters, including the primary cluster.

Before you begin

The steps in this document assume that you first do the following:

The vSphere/vSAN subnet address space must not overlap with any network that will communicate with the private cloud, such as on-premises networks and Google Cloud Virtual Private Cloud (VPC) networks. For more information about vSphere or vSAN subnets, see VLANs and subnets on VMware Engine.

Create a stretched private cloud

Console

To create a stretched private cloud using the Google Cloud console, follow these steps:

  1. In the Google Cloud console, go to the Private clouds page.

    Go to Private clouds

  2. Click Create.

  3. Click Stretched private cloud.

  4. Enter your primary hosting location and select your secondary zone.

  5. Select the node type for your primary cluster.

  6. Select the number of nodes per zone for the stretched private cloud. Create your stretched private cloud with a minimum of 3 nodes per zone.

  7. Optional: Click the Customize Cores toggle if you want to reduce the number of available cores for each node in the management cluster. For details, see Custom core counts.

  8. Enter a CIDR range for the VMware management network. Make sure that the CIDR range doesn't overlap with any of your on-premises or cloud subnets.

  9. Click Review and create.

  10. Review the settings. To change any settings, click Back.

  11. Click Create to begin creating the stretched private cloud.

  12. Optional: If you want to list stretched private cloud details and cluster data to confirm the creation of the new stretched private cloud, start on the Private clouds details page. This page contains private cloud details. Clicking the Clusters tab displays cluster data in the table.

The following list describes each field during private cloud creation in more detail:

  • Name: Permanent unique identifier of the private cloud.
  • Description: Additional information that's visible on the details page of the private cloud.
  • Region: Geographical region where VMware Engine hosts your private cloud.
  • Preferred Zone: Subset of a region physically isolated from other zones in the same region. The preferred zone is the preferred single failure domain within a region.
  • Secondary Zone: Subset of a region physically isolated from other zones in the same region. The secondary zone is the secondary single failure domain within a region.
  • Primary cluster name: Name given to the initial vSphere cluster in your private cloud. VMware management appliances of your private cloud run on this cluster.
  • Node type: Hardware configuration of nodes in your primary cluster.
  • Nodes: Number of nodes in your primary cluster, minimum of 6 nodes.

  • VMware Engine network: Network resource that handles private cloud connections according to a network policy. You and resources connected to this VMware Engine network can access the private cloud from within Google Cloud.
  • Management IP address range: IP address range used for vCenter Server, NSX Manager, ESXi hosts, and other parts of the private cloud's infrastructure. This range is not used for workload VMs and must not overlap with any part of your VPC network or any other network which you plan to connect your private cloud to.

gcloud

To create a stretched private cloud using the Google Cloud CLI, do the following:

  1. Create a stretched private cloud by entering the gcloud vmware private-clouds create command:

    gcloud vmware private-clouds create PRIVATE_CLOUD_ID \
      --description="DESCRIPTION" \
      --location="REGION" \
      --cluster="CLUSTER_ID" \
      --node-type-config=type=standard-72,count="NODE_COUNT" \
      --management-range="MANAGEMENT_RANGE" \
      --vmware-engine-network="NETWORK_ID" \
      --preferred-zone=projects/PROJECT_ID/locations/PREFERRED_ZONE \
      --secondary-zone=projects/PROJECT_ID/locations/SECONDARY_ZONE \
      --type=STRETCHED

    Replace the following:

    • PRIVATE_CLOUD_ID: the private cloud ID for this request.
    • DESCRIPTION: a description for this stretched private cloud.
    • REGION: the region for this request.
    • CLUSTER_ID: the cluster ID for this request.
    • NODE_COUNT: the total number of nodes in the cluster, an even number, for this request.
    • MANAGEMENT_RANGE: the IP address and range, for example, 192.168.1.0/23, for this request.
    • NETWORK_ID: the network ID for this request.
    • PROJECT_ID: the project ID for this request.
    • PREFERRED_ZONE: the preferred zone for this request.
    • SECONDARY_ZONE: the secondary zone for this request.
  2. Optional: If you want to list stretched private cloud details and cluster data to confirm the creation of the new stretched private cloud, use the gcloud vmware private-clouds list command:

    gcloud vmware private-clouds list \
      --location=REGION

    Replace the following:

    • REGION: the region for this request.

API

To create a stretched private cloud using the VMware Engine API, do the following:

  1. Create a stretched private cloud by making a POST request:

      POST "https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/privateClouds?private_cloud_id=PRIVATE_CLOUD_ID"
      -d '{
        "network_config": {
          "vmware_engine_network": "projects//locations/REGION/vmwareEngineNetworks/NETWORK_ID",
            "management_cidr": "MANAGEMENT_CIDR"
        },
        "management_cluster": {
          "cluster_id": "CLUSTER_ID",
          "node_type_configs": {
            "standard-72": {
              "node_count": "NODE_COUNT"
            }
          },
          "stretched_cluster_config": {
            "preferred_location": "projects/PROJECT_ID/locations/PREFERRED_ZONE",
            "secondary_location": "projects/PROJECT_ID/locations/SECONDARY_ZONE"
          }
        },
        "type": "STRETCHED"
      }'
    

    Replace the following:

    • PROJECT_ID: the project for this request.
    • PREFERRED_ZONE: the preferred zone for this request.
    • SECONDARY_ZONE: the secondary zone for this request.
    • PRIVATE_CLOUD_ID: the private cloud ID for this request.
    • REGION: the region for this request.

    • MANAGEMENT_CIDR: the IP address and range, for example, 192.168.1.0/23, for this request.

    • CLUSTER_ID: the cluster ID for this request.

    • NODE_COUNT: the total number of nodes in the cluster, an even number, for this request.

  2. Optional: If you want to list stretched private cloud details and cluster data to confirm the creation of the new stretched private cloud, make a GET request:

      GET https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/privateClouds/PRIVATE_CLOUD_ID"
    

    Replace the following:

    • PROJECT_ID: the project for this request.
    • REGION: the region for this request.
    • PRIVATE_CLOUD_ID: the private cloud ID for this request.
  3. Optional: If you want to list stretched private cloud details and cluster data to confirm the creation of the new stretched private cloud, make a GET request:

      GET https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/privateClouds/PRIVATE_CLOUD_ID"
    

    Replace the following:

    • PROJECT_ID: the project for this request.
    • REGION: the region for this request.
    • PRIVATE_CLOUD_ID: the private cloud ID for this request.

As VMware Engine creates your new stretched private cloud, it deploys a number of VMware components and divides the provided IP address range into subnets. Stretched private cloud creation can take 30 minutes to 2 hours. After the provisioning is complete, you receive an email.

What's next