Create a VMware Engine single node private cloud
This document describes how to create a single node private cloud. Single node private clouds help you get started with your Google Cloud VMware Engine experience with non-production usage such as pilots and proof-of-concept evaluations. Single node private clouds contain only one node and one cluster. You can expand your single node private cloud to three nodes at any time to convert it to a standard private cloud.
See Single node private clouds for conceptual information about single node private clouds.
Google Cloud CLI and API requirements
To use the gcloud
command line tool or the API to manage your VMware Engine
resources, we recommend configuring the tools as described below.
gcloud
-
Set your default project ID:
gcloud config set project PROJECT_ID -
Set a default region and zone:
gcloud config set compute/region REGIONgcloud config set compute/zone ZONE
For more information on the gcloud vmware
tool, see the Cloud SDK reference docs
.
API
API examples in this documentation set use the cURL
command-line tool to
query the API. A valid access token is required as part of the cURL
request. There are many ways to get a valid access token; the following
steps use the gcloud
tool to generate a access token:
-
Login to Google Cloud:
gcloud auth login
-
Generate access token and export to TOKEN:
export TOKEN=`gcloud auth print-access-token`
-
Verify that TOKEN is set properly:
echo $TOKEN
Now, use the authorization token in your requests to the API. For example:
curl -X GET -H "Authorization: Bearer \"$TOKEN\"" -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/ PROJECT_ID /locations
Python
Python code samples in this documentation use the VMware Engine library to communicate with the API. To be able to use this approach, the library needs to be installed and the Application Default Credentials should be configured.
-
Download and install the Python library:
pip install google-cloud-vmwareengine
-
Configure the ADC information by executing those command in your shell:
gcloud auth application-default login
Or, use a Service Account key file:
export GOOGLE_APPLICATION_CREDENTIALS=" FILE_PATH "
For more information about the library, visit the reference page or view code samples on GitHub .
Before you begin
- Create a VMware Engine network if you haven't done so already.
Create a single node private cloud
Create a single node private cloud with the following instructions.
Console
-
In the Google Cloud console, go to the Private cloudspage.
-
Click Select a projectand then select the organization, folder, or project
where you want to create the single node private cloud. -
Click Create.
-
Select Standard private cloud.
-
Select a location where you want the private cloud deployed.
-
Select the node type for your primary cluster.
-
Select Single nodeto create a single node private cloud.
-
Fill out the rest of the details of your private cloud and click Save.
gcloud
To create a single node private cloud using the gcloud CLI:
-
Optional: If you don't know the names of available regions and zones for your project, you can list them by running the
gcloud vmware locations listcommand :gcloud vmware locations list
-
To create a single node private cloud, which expires after 60 days, use the
gcloud vmware private-clouds createcommand :gcloud vmware private-clouds create PRIVATE_CLOUD_ID \ --description= "" \ --location= ZONE \ --cluster=" CLUSTER_ID " \ --node-type-config=type=standard-72, count=1 \ --management-range= IP_ADDRESS \ --vmware-engine-network=" REGION " \ --type=TIME_LIMITED
Replace the following:
-
PRIVATE_CLOUD_ID: the name for this private cloud. -
CLUSTER_ID: the cluster ID for this request -
ZONE: the zone for this private cloud -
IP_ADDRESS: the IP address and range for this private cloud, for example192.168.1.0/24 -
REGION: the region for this private cloud
Output example:
Create in progress for private cloud [projects/ PROJECT_ID /locations/ ZONE /operations/ OPERATION_ID ].
-
-
Optional: If you want to check the status of the private cloud creation, use the
gcloud vmware operations describeandgcloud vmware private-clouds listcommands.gcloud vmware operations describe OPERATION_ID \ --location= ZONE
gcloud vmware private-clouds list \ --location= ZONEThe output is similar to the following:
NAME PROJECT LOCATION CREATE_TIME STATE VCENTER_FQDN PRIVATE_CLOUD_ID PROJECT_ID ZONE 2023-03-01T13:08:21.507Z CREATING VCENTER_FQDN
-
Optional: If you want to check the details of the private cloud, run the
gcloud vmware private-clouds describecommand :gcloud vmware private-clouds describe PRIVATE_CLOUD_ID \ --location= ZONE
-
Get the vCenter and NSX credentials, respectively, by running
gcloud vmware private-clouds credentials describecommand :gcloud vmware private-clouds vcenter credentials describe PRIVATE_CLOUD_ID \ --location= ZONE
gcloud vmware private-clouds nsx credentials describe PRIVATE_CLOUD_ID \ --location= ZONE
REST
To create a single node private cloud using the VMware Engine API, do the following:
-
Create a single node private cloud (expires after 60 days) by making a
POSTrequest:POST https://vmwareengine.googleapis.com/v1/projects/ PROJECT_ID /locations/ ZONE /privateClouds?private_cloud_id= PRIVATE_CLOUD_ID { "description": "my private cloud", "network_config": { "vmware_engine_network": "projects/ PROJECT_ID /locations/ REGION /vmwareEngineNetworks/ REGION -default", "management_cidr": "192.168.0.0/24" }, "management_cluster": { "cluster_id": " CLUSTER_ID ", "node_type_configs": { "standard-72": { "node_count": 1 } } }, "type": "TIME_LIMITED" }
Replace the following:
-
PROJECT_ID: the project for this request -
ZONE: the zone for this private cloud -
PRIVATE_CLOUD_ID: the private cloud name for this request -
REGION: the region for this private cloud -
CLUSTER_ID: the cluster ID for this request
-
-
Optional: Check the status of the private cloud creation (may take up to two hours) by making a
POSTrequest to the operation:POST "https://vmwareengine.googleapis.com/v1/projects/ PROJECT_ID /locations/ ZONE /operations/ OPERATION_ID
List the private clouds in a zone by making a
POSTrequest:POST "https://vmwareengine.googleapis.com/v1/projects/ PROJECT_ID /locations/ ZONE /privateClouds
Replace the following:
-
PROJECT_ID: the ID for this request -
ZONE: the zone for this private cloud -
OPERATION_ID: the operation ID for this private cloud
-
-
Optional: Get details of the private cloud by making a
GETrequest:GET https://vmwareengine.googleapis.com/v1/projects/ PROJECT_ID /locations/ ZONE /privateClouds/ PRIVATE_CLOUD_ID
-
PROJECT_ID: the ID for this project -
PRIVATE_CLOUD_ID: the ID for this private cloud -
ZONE: the zone for this private cloud
-
-
Get the vCenter and NSX credentials, respectively, by making separate
GETrequests:GET https://vmwareengine.googleapis.com/v1/projects/ PROJECT_ID /locations/ ZONE /privateClouds/ PRIVATE_CLOUD_ID :showVcenterCredentials
GET https://vmwareengine.googleapis.com/v1/projects/ PROJECT_ID /locations/ ZONE /privateClouds/ PRIVATE_CLOUD_ID :showNsxCredentials
It takes approximately 30 minutes to 2 hours for VMware Engine to create your private cloud and make it available for access from the Google Cloud console.

