vSphere multi-node cluster

After completing the pre-deployment preparations, follow the instructions below to set up the necessary infrastructure and deploy the Plixer ML Engine in Azure.

Additional prerequisites for vSphere deployment

  • The Plixer ML Engine template must be available in vSphere. Note the path to the template as it will need to be entered when deploying the engine.

  • The deployment process will require credentials for a vSphere user with permissions to create VMs and resource groups.

Note

The Plixer ML VM template includes all software prerequisites (Docker, Terraform, etc.).

Deploying the Plixer ML Engine

Follow these instructions to set up the necessary infrastructure and deploy the Plixer ML Engine:

  1. Log in to the Plixer ML VM image using plixer:plixer.

  2. Accept the EULA, and then configure network settings for the host.

  3. SSH to the Plixer ML VM image using the plixer credentials set in step 2, and then wait for the setup wizard/scripts to start automatically.

  4. Enter the infrastructure deployment parameters as prompted.

    Note

    The requested details are automatically saved to /home/plixer/common/kubernetes/vsphere.tfvars, which also contains other default parameters for deploying the Plixer ML Engine Kubernetes cluster. If there are issues with the infrastructure deployment, contact Plixer Technical Support for assistance before making changes to the file.

  5. Wait as the Kubernetes cluster is deployed (may take several minutes), and then enter the Plixer Scrutinizer SSH credentials when prompted.

After the scripts complete running, navigate to Admin > Resources > ML Engines and wait for the engine to show as Deployed under its Deploy Status. Refresh the page if the status has not updated after a few minutes.

Terraform configuration

The following table lists all required and optional variables in /home/plixer/common/kubernetes/vsphere.tfvars, which are used when deploying the Kubernetes infrastructure for the Plixer ML Engine.

Note

Contact Plixer Technical Support before making changes to this file.

Field name

Description

create_hosts

Whether or not to create vSphere hosts. If FALSE, then the IPs in vm_master_ips should correspond to the VMs created using the VM template.

vm_master_ips

List of IPs to assign to Kubernetes nodes. This must be 1 or 3 hosts (can’t be an even number of IPs).

vm_haproxy_vip

The virtual IP address to assign to a VM running HAProxy.

vsphere_vcenter

The IP address of the vCenter host to deploy on.

vsphere_user

vSphere user to connect with.

vsphere_datacenter

Datacenter in vSphere to deploy assets into.

vsphere_host

Host within the specified datacenter to deploy assets into.

vsphere_resource_pool

Resource pool to create for the VMs.

vm_folder

Folder name in vSphere to create the VMs in.

vm_datastore

The datastore name used to store the files of the VMs.

vm_network

The vSphere network name used by the VMs.

vm_gateway

The network gateway used by the VMs.

vm_dns

The DNS server used by the VMs.

vm_domain

The domain name used by the VMs.

vm_template

The vSphere template that the VM is based on.

vsphere_unverified_ssl

Set to TRUE to bypass the vSphere host certificate verification.

offline_install

If set to TRUE, then it will be assumed that the template being used to create the VMs already has all assets it needs, and will skip downloading the assets.

rke2_airgap_copy

If set to TRUE and offline_install is also TRUE, then the script will attempt to proxy any downloads required for RKE2 Kubernetes setup through the host that ./01_vsphere_infrastructure.sh is running on.