* GCVE stage prerequisites * fix gcve prereq * gcve stage first deploy * Updated readme filex * docs updated * some fixes after testing * updated readme files * elia fix * gcve net admin custom role * gcve net admin custom role * elia fix * ven peering deploy * elia fix * added blueprint and stage tests * Edits to Readme files * typo in outputs * clean-up * gcve stage tests fix * readme fix * fix sorting * fix copyrights and readme file * fix test * fix copyright * fixed gcve feature flag cond. * removed validation * fixed typo * fixed typo * fixed gcve tests * fixed typo * fixed typo * fixed sorting * fixed sorting --------- Co-authored-by: Konrad Schieban <kschieban@google.com>
8.1 KiB
Google Cloud VMWare Engine Private Cloud Module
The module manages one or more Google Cloud VMWare Engine Private Clouds.
It can either create a new VMWare engine network shared between the private clouds or it can use an existing one. The module also creates peering connections to users' VPCs or other VMware engine networks.
To understand the limits and to properly configure the vSphere/vSAN subnets CIDR range please refer to the GCVE public documentation.
The deployment might require up to 2 hours, depending on the selected private cloud target zone.
- Limitations
- Basic Private Cloud Creation
- Customize management cluster configs
- Create additional clusters
- Enable cluster Internet access and inbound connectivity
- Variables
- Outputs
Limitations
The module (and the underlying resource) still don't support the creation of stretched (regional) private clouds.
Basic Private Cloud Creation
module "gcve-pc" {
source = "./fabric/modules/gcve-private-cloud"
prefix = "gcve-pc"
project_id = "gcve-test-project"
vmw_network_peerings = {
transit-conn1 = {
peer_network = "projects/test-prj-gcve-01/global/networks/default"
}
}
vmw_private_cloud_configs = {
pcc_one = {
cidr = "192.168.0.0/24"
zone = "europe-west8-a"
}
}
}
# tftest modules=1 resources=3 inventory=basic.yaml
Customize management cluster configs
You can customize the management cluster of each VMware engine private cloud.
module "gcve-pc" {
source = "./fabric/modules/gcve-private-cloud"
prefix = "gcve-pc"
project_id = "gcve-test-project"
vmw_network_peerings = {
transit-conn1 = {
peer_network = "projects/test-prj-gcve-01/global/networks/default"
}
}
vmw_private_cloud_configs = {
pcc_one = {
cidr = "192.168.0.0/24"
management_cluster_config = {
node_type_id = "standard-72"
node_count = 6
custom_core_count = 28
}
zone = "europe-west8-a"
}
}
}
# tftest modules=1 resources=3 inventory=custom-management.yaml
Create additional clusters
You can optionally create additional clusters in each VMware engine private cloud.
module "gcve-pc" {
source = "./fabric/modules/gcve-private-cloud"
prefix = "gcve-pc"
project_id = "gcve-test-project"
vmw_network_peerings = {
transit-conn1 = {
peer_network = "projects/test-prj-gcve-01/global/networks/default"
}
}
vmw_private_cloud_configs = {
pcc_one = {
cidr = "192.168.0.0/24"
additional_cluster_configs = {
test-cluster-one = {
node_type_id = "standard-72"
node_count = 6
custom_core_count = 28
}
test-cluster-two = {
node_type_id = "standard-72"
node_count = 4
custom_core_count = 28
}
}
zone = "europe-west8-a"
}
}
}
# tftest modules=1 resources=5 inventory=additional-clusters.yaml
Enable cluster Internet access and inbound connectivity
module "gcve-pc" {
source = "./fabric/modules/gcve-private-cloud"
prefix = "gcve-pc"
project_id = "gcve-test-project"
vmw_network_config = {
network_policies = {
ew8 = {
edge_services_cidr = "192.168.100.0/26"
region = "europe-west8"
expose_on_internet = true
outbound_internet_access = true
}
}
}
vmw_private_cloud_configs = {
pcc_one = {
cidr = "192.168.0.0/24"
zone = "europe-west8-a"
}
}
}
# tftest modules=1 resources=3 inventory=network-policy.yaml
Variables
| name | description | type | required | default |
|---|---|---|---|---|
| prefix | Resources name prefix. | string |
✓ | |
| project_id | Project id. | string |
✓ | |
| vmw_network_config | VMware Engine network configuration. | object({…}) |
{} |
|
| vmw_network_peerings | The network peerings towards users' VPCs or other VMware Engine networks. The key is the peering name suffix. | map(object({…})) |
{} |
|
| vmw_private_cloud_configs | The VMware private cloud configurations. The key is the unique private cloud name suffix. | map(object({…})) |
{…} |
Outputs
| name | description | sensitive |
|---|---|---|
| vmw_engine_network_config | VMware engine network configuration. | |
| vmw_engine_network_peerings | The peerings created towards the user VPC or other VMware engine networks. | |
| vmw_engine_network_policies | The network policies associated to the VMware engine network. | |
| vmw_engine_private_clouds | VMware engine private cloud resources. | |
| vmw_private_cloud_network | VMware engine network. |