Creating a Cluster
Last Updated December 16, 2024

If your environment includes a vCenter Server and multiple ESXi hosts, you can create a cluster by calling the
Folder.CreateClusterEx
method. You pass in a name for the new cluster and a
ClusterConfigSpecEx
data object. In the data object, you can specify the following properties:
  • VMware DRS
    • drsConfig
      property in the
      ClusterDrsConfigInfo
      data object contains configuration information for the VMware DRS service. Properties in this object specify the cluster-wide (default) behavior for virtual machine and the threshold for generating cluster recommendations. You can enable and disable VMware DRS with the
      ClusterDrsConfigInfo.enabled
      property.
    • drsVmConfigSpec
      property in the
      ClusterDrsVMConfigSpec
      data object points to a
      ClusterDrsVmConfigInfo
      data object that specifies the DRS configuration for a single virtual machine.
      ClusterDrsVmConfigInfo
      overrides the default DRS configuration for an individual virtual machine and allows you to specify the DRS behavior and whether DRS can perform migration or recommend initial placement for a virtual machine.
      To update a DRS configuration, you call
      ComputeResource.ReconfigureComputeResource_Task
      and pass in a
      ClusterConfigSpecEx
      object. In the
      ClusterConfigSpecEx.drsVmConfigSpec
      property, you can specify an array of
      ClusterDrsVMConfigSpec
      objects that define the configuration for individual virtual machines.
    • rulesSpec
      property in the
      ClusterRuleSpec
      data object points a
      ClusterRuleInfo
      data object that specifies the affinity and antiaffinity rules DRS should use. See the
      vSphere API Reference
      entry for
      ClusterRuleInfo
      .
  • VMware HA – distributed availability service (DAS)
    • dasConfig
      property in the
      ClusterDasConfigInfo
      data object specifies HA service on the cluster. Properties in this object determine whether strict admission control is enabled, what the default virtual machine settings in this cluster are, whether VMware HA restarts virtual machines after host failure, and so on. See the
      vSphere API Reference
      .
    • dasVMConfigSpec
      property in
      ClusterDasVMConfigSpec
      object, where the
      info
      property is a
      ClusterDasVmConfigInfo
      data object that specifies the HA configuration for a single virtual machine. You can apply different settings to different virtual machines, or use the default specified in the
      dasConfig
      property for all virtual machines in the cluster.
  • VMware HCI
    • The
      ClusterComputeResourceHCIConfigInfo
      data object contains properties to capture the configured hosts, virtual distributed switch settings, host configurations, and HCI workflow state. The HCI cluster includes vSphere facilities for DRS, HA, vMotion, and vSAN.
    • The
      ClusterComputeResourceHCIConfigSpec
      data object specifies the virtual distributed switch settings, host configurations, enhanced vMotion capability, and vSAN configuration.
    • Once configurations are specified, you create an HCI cluster with the
      ConfigureHCI_Task
      method, and reconfigure an HCI cluster with the
      ExtendHCI_Task
      method.