The jumpbox virtual machine is required to provision the cluster virtual machines for the Greenplum deployment. You must run the Terraform code provided in the next sections from this jumpbox virtual machine.

Uploading the ISO Image to vCenter

  1. Download the ISO file. The recommended version is CentOS-7-x86_64-Minimal-2009.iso. You can download it here. For example:

    1. $ curl -JLO http://mirrors.ocf.berkeley.edu/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-Minimal-2009.iso
  2. Ensure that the sha256sum output of the downloaded ISO is correct:

    1. $ sha256sum CentOS-7-x86_64-Minimal-2009.iso

    The result should match the one provided with the download.

  3. Rename the ISO file to centos7.iso:

    1. $ mv CentOS-7-x86_64-Minimal-2009.iso centos7.iso
  4. Log in to vCenter using the VMware vSphere client.

  5. Right-click the datastore where you want to upload the ISO and select Browse Files.
  6. Click New Folder and create a new folder named gp-jumpbox.
  7. Upload centos7.iso into the gp-jumpbox directory.

Deploying the Jumpbox Virtual Machine

  1. Navigate to the Cluster tab.
  2. Right click the Cluster to select the New Virtual Machine option.
  3. Select Create new virtual machine, then click Next.
  4. Name the virtual machine gp-jumpbox.
  5. Select your datacenter, then click Next.
  6. Select your cluster, then click Next.
  7. Select the vSAN datastore, then click Next.
  8. Select ESXi version ESXi 7.0 U2 and later, then click Next.
  9. Select Guest OS.
    1. Guest OS Family should be Linux.
    2. Guest OS Version should be CentOS 7 (64-bit), then click Next.
  10. Under Customize Hardware:
    1. Edit the existing network adapter New Network so that it connects to the gp-virtual-external port group.
    2. Select Add New Device -> Network Adapter, and connect to the gp-virtual-internal port group.
    3. Prepare to use the ISO as a source disk for installing CentOS.
      1. Select Add New Device -> CD/DVD Drive.
      2. Select Datastore ISO File from the drop-down menu.
      3. Navigate to the correct location of the uploaded CentOS ISO, then click OK.
      4. Ensure that Status: Connect At Power On is enabled.
    4. Leave the default settings for CPU, Memory and Disk and click Next.
  11. Review your configuration and then click Finish.

Initializing the Jumpbox Virtual Machine

  1. Power on the newly created virtual machine and launch the web console.
  2. Select Install CentOS 7 and press Enter.
  3. Select the preferred language and locale, then click Continue.
  4. Click on Installation Destination under System.
    1. Under Device Selection -> Local Standard Disk select the desired disk, then click Done.
  5. Click Network & Host Name under System.
    1. Enable the first network that connects to the gp-virtual-external port group.
      1. If you are using DHCP, an IP address will be automatically assigned.
      2. If you are using static IP assignment, click Configure -> IPv4 Settings and assign the corresponding IP address for the external network.
      3. Click Save.
    2. Select the second network, which connects to the gp-virtual-internal port group.
      1. Click Configure -> IPv4 Settings and assign the corresponding IP address for the internal network.
      2. Click Save and enable the network. You should see that an internal IP address being assigned to this interface.
    3. Change the hostname to gp-jumpbox and then click Apply.
    4. Click Done.
  6. Click Begin Installation.
  7. Set the root password, then click Done. Clicking Done a second time may be necessary.
  8. After setup is complete, click Reboot.
  9. Before continuing to the next section, verify that the virtual machine has external network access. Log in to the newly created virtual machine and run the following command:

    1. $ ping 8.8.8.8

    Note that you might need to manually install additional packages or tools that are not part of the minimal CentOS ISO image.

Installing VMware Tools

You can find more detailed instructions on the VMware Knowledge Base.

  1. On the VMware vSphere client, right click your virtual machine. Select Guest OS -> Install VMware Tools….
  2. Select Mount. This mounts an ISO file as a virtual CD-ROM.
  3. Retrieve the IP address of the adapter connected to the gp-virtual-external port group.
  4. Log in to gp-jumpbox.
  5. Install perl:

    1. $ yum install -y perl
  6. Mount the ISO containing the VMware Tools binary.

    1. $ mkdir -p /mnt/cdrom
    2. $ mount /dev/cdrom /mnt/cdrom
  7. Extract the installation file.

    1. $ cd /tmp
    2. $ tar -xzvf /mnt/cdrom/VMwareTools*.tar.gz
  8. Umount the ISO.

    1. $ umount /mnt/cdrom
  9. Install VMware Tools, choose yes for the first prompt, and use defaults for the remaining prompts.

    1. $ cd /tmp/vmware-tools-distrib
    2. $ ./vmware-install.pl --force-install --default
  10. Validate that VMware Tools is installed.

    1. $ systemctl status vmware-tools
    2. vmware-tools.service - SYSV: Manages the services needed to run VMware software
    3. Loaded: loaded (/etc/rc.d/init.d/vmware-tools; bad; vendor preset: disabled)
    4. Active: active (running) since Wed 2021-06-02 18:14:34 EDT; 2min 59s ago
    5. Docs: man:systemd-sysv-generator(8)
    6. Process: 8636 ExecStart=/etc/rc.d/init.d/vmware-tools start (code=exited, status=0/SUCCESS)
    7. CGroup: /system.slice/vmware-tools.service
    8. ├─8739 /usr/sbin/vmtoolsd
    9. └─8775 /usr/lib/vmware-vgauth/VGAuthService -s

Installing Terraform

You must install Terraform on the jumpbox virtual machine. The minimum version required is v0.14.3. You can find more detailed instructions on the Terraform website.

  1. Download and install the software.

    1. $ cd /tmp
    2. $ yum install -y wget unzip
    3. $ wget https://releases.hashicorp.com/terraform/0.15.5/terraform_0.15.5_linux_amd64.zip
    4. $ unzip terraform_0.15.5_linux_amd64.zip
    5. $ mv terraform /usr/local/bin/
  2. Validate the installation.

    1. $ terraform --version
    2. Terraform v0.15.5
    3. on linux_amd64

Next Steps

The jumpbox virtual machine is now ready for use. Continue to Choosing your Deployment Option to decide which deployment option will best fit your needs.