VMware Cluster Args
Example Usage
Gkeonprem Vmware Cluster Basic
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.gkeonprem.VMwareCluster;
import com.pulumi.gcp.gkeonprem.VMwareClusterArgs;
import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterNetworkConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterNetworkConfigDhcpIpConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterControlPlaneNodeArgs;
import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterLoadBalancerArgs;
import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterLoadBalancerVipConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterLoadBalancerMetalLbConfigArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var cluster_basic = new VMwareCluster("cluster-basic", VMwareClusterArgs.builder()
.location("us-west1")
.adminClusterMembership("projects/870316890899/locations/global/memberships/gkeonprem-terraform-test")
.description("test cluster")
.onPremVersion("1.13.1-gke.35")
.annotations()
.networkConfig(VMwareClusterNetworkConfigArgs.builder()
.serviceAddressCidrBlocks("10.96.0.0/12")
.podAddressCidrBlocks("192.168.0.0/16")
.dhcpIpConfig(VMwareClusterNetworkConfigDhcpIpConfigArgs.builder()
.enabled(true)
.build())
.build())
.controlPlaneNode(VMwareClusterControlPlaneNodeArgs.builder()
.cpus(4)
.memory(8192)
.replicas(1)
.build())
.loadBalancer(VMwareClusterLoadBalancerArgs.builder()
.vipConfig(VMwareClusterLoadBalancerVipConfigArgs.builder()
.controlPlaneVip("10.251.133.5")
.ingressVip("10.251.135.19")
.build())
.metalLbConfig(VMwareClusterLoadBalancerMetalLbConfigArgs.builder()
.addressPools(
VMwareClusterLoadBalancerMetalLbConfigAddressPoolArgs.builder()
.pool("ingress-ip")
.manualAssign("true")
.addresses("10.251.135.19")
.avoidBuggyIps(true)
.build(),
VMwareClusterLoadBalancerMetalLbConfigAddressPoolArgs.builder()
.pool("lb-test-ip")
.manualAssign("true")
.addresses("10.251.135.19")
.avoidBuggyIps(true)
.build())
.build())
.build())
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
}
}
Gkeonprem Vmware Cluster F5lb
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.gkeonprem.VMwareCluster;
import com.pulumi.gcp.gkeonprem.VMwareClusterArgs;
import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterNetworkConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterNetworkConfigDhcpIpConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterNetworkConfigControlPlaneV2ConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterNetworkConfigControlPlaneV2ConfigControlPlaneIpBlockArgs;
import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterControlPlaneNodeArgs;
import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterControlPlaneNodeAutoResizeConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterLoadBalancerArgs;
import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterLoadBalancerVipConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterLoadBalancerF5ConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterDataplaneV2Args;
import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterAuthorizationArgs;
import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterAntiAffinityGroupsArgs;
import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterAutoRepairConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterStorageArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var cluster_f5lb = new VMwareCluster("cluster-f5lb", VMwareClusterArgs.builder()
.location("us-west1")
.adminClusterMembership("projects/870316890899/locations/global/memberships/gkeonprem-terraform-test")
.description("test cluster")
.onPremVersion("1.13.1-gke.35")
.annotations()
.networkConfig(VMwareClusterNetworkConfigArgs.builder()
.serviceAddressCidrBlocks("10.96.0.0/12")
.podAddressCidrBlocks("192.168.0.0/16")
.dhcpIpConfig(VMwareClusterNetworkConfigDhcpIpConfigArgs.builder()
.enabled(true)
.build())
.controlPlaneV2Config(VMwareClusterNetworkConfigControlPlaneV2ConfigArgs.builder()
.controlPlaneIpBlock(VMwareClusterNetworkConfigControlPlaneV2ConfigControlPlaneIpBlockArgs.builder()
.ips(VMwareClusterNetworkConfigControlPlaneV2ConfigControlPlaneIpBlockIpArgs.builder()
.hostname("test-hostname")
.ip("10.0.0.1")
.build())
.netmask("10.0.0.1/32")
.gateway("test-gateway")
.build())
.build())
.build())
.controlPlaneNode(VMwareClusterControlPlaneNodeArgs.builder()
.cpus(4)
.memory(8192)
.replicas(1)
.autoResizeConfig(VMwareClusterControlPlaneNodeAutoResizeConfigArgs.builder()
.enabled(true)
.build())
.build())
.loadBalancer(VMwareClusterLoadBalancerArgs.builder()
.vipConfig(VMwareClusterLoadBalancerVipConfigArgs.builder()
.controlPlaneVip("10.251.133.5")
.ingressVip("10.251.135.19")
.build())
.f5Config(VMwareClusterLoadBalancerF5ConfigArgs.builder()
.address("10.0.0.1")
.partition("test-partition")
.snatPool("test-snap-pool")
.build())
.build())
.dataplaneV2(VMwareClusterDataplaneV2Args.builder()
.dataplaneV2Enabled(true)
.windowsDataplaneV2Enabled(true)
.advancedNetworking(true)
.build())
.vmTrackingEnabled(true)
.enableControlPlaneV2(true)
.authorization(VMwareClusterAuthorizationArgs.builder()
.adminUsers(VMwareClusterAuthorizationAdminUserArgs.builder()
.username("testuser@gmail.com")
.build())
.build())
.antiAffinityGroups(VMwareClusterAntiAffinityGroupsArgs.builder()
.aagConfigDisabled(true)
.build())
.autoRepairConfig(VMwareClusterAutoRepairConfigArgs.builder()
.enabled(true)
.build())
.storage(VMwareClusterStorageArgs.builder()
.vsphereCsiDisabled(true)
.build())
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
}
}
Gkeonprem Vmware Cluster Manuallb
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.gkeonprem.VMwareCluster;
import com.pulumi.gcp.gkeonprem.VMwareClusterArgs;
import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterNetworkConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterNetworkConfigHostConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterNetworkConfigStaticIpConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterControlPlaneNodeArgs;
import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterControlPlaneNodeAutoResizeConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterLoadBalancerArgs;
import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterLoadBalancerVipConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterLoadBalancerManualLbConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterDataplaneV2Args;
import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterUpgradePolicyArgs;
import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterAuthorizationArgs;
import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterAntiAffinityGroupsArgs;
import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterAutoRepairConfigArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var cluster_manuallb = new VMwareCluster("cluster-manuallb", VMwareClusterArgs.builder()
.location("us-west1")
.adminClusterMembership("projects/870316890899/locations/global/memberships/gkeonprem-terraform-test")
.description("test cluster")
.onPremVersion("1.13.1-gke.35")
.annotations()
.networkConfig(VMwareClusterNetworkConfigArgs.builder()
.serviceAddressCidrBlocks("10.96.0.0/12")
.podAddressCidrBlocks("192.168.0.0/16")
.hostConfig(VMwareClusterNetworkConfigHostConfigArgs.builder()
.dnsServers("10.254.41.1")
.ntpServers("216.239.35.8")
.dnsSearchDomains("test-domain")
.build())
.staticIpConfig(VMwareClusterNetworkConfigStaticIpConfigArgs.builder()
.ipBlocks(VMwareClusterNetworkConfigStaticIpConfigIpBlockArgs.builder()
.netmask("255.255.252.0")
.gateway("10.251.31.254")
.ips(
VMwareClusterNetworkConfigStaticIpConfigIpBlockIpArgs.builder()
.ip("10.251.30.153")
.hostname("test-hostname1")
.build(),
VMwareClusterNetworkConfigStaticIpConfigIpBlockIpArgs.builder()
.ip("10.251.31.206")
.hostname("test-hostname2")
.build(),
VMwareClusterNetworkConfigStaticIpConfigIpBlockIpArgs.builder()
.ip("10.251.31.193")
.hostname("test-hostname3")
.build(),
VMwareClusterNetworkConfigStaticIpConfigIpBlockIpArgs.builder()
.ip("10.251.30.230")
.hostname("test-hostname4")
.build())
.build())
.build())
.build())
.controlPlaneNode(VMwareClusterControlPlaneNodeArgs.builder()
.cpus(4)
.memory(8192)
.replicas(1)
.autoResizeConfig(VMwareClusterControlPlaneNodeAutoResizeConfigArgs.builder()
.enabled(true)
.build())
.build())
.loadBalancer(VMwareClusterLoadBalancerArgs.builder()
.vipConfig(VMwareClusterLoadBalancerVipConfigArgs.builder()
.controlPlaneVip("10.251.133.5")
.ingressVip("10.251.135.19")
.build())
.manualLbConfig(VMwareClusterLoadBalancerManualLbConfigArgs.builder()
.ingressHttpNodePort(30005)
.ingressHttpsNodePort(30006)
.controlPlaneNodePort(30007)
.konnectivityServerNodePort(30008)
.build())
.build())
.dataplaneV2(VMwareClusterDataplaneV2Args.builder()
.dataplaneV2Enabled(true)
.windowsDataplaneV2Enabled(true)
.advancedNetworking(true)
.build())
.vmTrackingEnabled(true)
.enableControlPlaneV2(true)
.upgradePolicy(VMwareClusterUpgradePolicyArgs.builder()
.controlPlaneOnly(true)
.build())
.authorization(VMwareClusterAuthorizationArgs.builder()
.adminUsers(VMwareClusterAuthorizationAdminUserArgs.builder()
.username("testuser@gmail.com")
.build())
.build())
.antiAffinityGroups(VMwareClusterAntiAffinityGroupsArgs.builder()
.aagConfigDisabled(true)
.build())
.autoRepairConfig(VMwareClusterAutoRepairConfigArgs.builder()
.enabled(true)
.build())
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
}
}
Import
VmwareCluster can be imported using any of these accepted formats
$ pulumi import gcp:gkeonprem/vMwareCluster:VMwareCluster default projects/{{project}}/locations/{{location}}/vmwareClusters/{{name}}
$ pulumi import gcp:gkeonprem/vMwareCluster:VMwareCluster default {{project}}/{{location}}/{{name}}
$ pulumi import gcp:gkeonprem/vMwareCluster:VMwareCluster default {{location}}/{{name}}
Constructors
Properties
The admin cluster this VMware User Cluster belongs to. This is the full resource name of the admin cluster's hub membership. In the future, references to other resource types might be allowed if admin clusters are modeled as their own resources.
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.
AAGConfig specifies whether to spread VMware User Cluster nodes across at least three physical hosts in the datacenter. Structure is documented below.
RBAC policy that will be applied and managed by GKE On-Prem. Structure is documented below.
Configuration for auto repairing. Structure is documented below.
VMware User Cluster control plane nodes must have either 1 or 3 replicas. Structure is documented below.
VmwareDataplaneV2Config specifies configuration for Dataplane V2. Structure is documented below.
A human readable description of this VMware User Cluster.
Enable control plane V2. Default to false.
Load Balancer configuration. Structure is documented below.
The VMware User Cluster network configuration. Structure is documented below.
The Anthos clusters on the VMware version for your user cluster.
Storage configuration. Structure is documented below.
Specifies upgrade policy for the cluster. Structure is documented below.
Enable VM tracking.