Installation on Custom Resources

Harmony Controller software can be installed on any generic hardware resources or virtual machines. Two configurations are supported in this case.

  • 1-node installation
    Installation on one physical or virtual machine.
  • 3-node installation
    Installation on three physical or virtual machines.

Resources Pre-requisites

Harmony Controller software can be installed on a Linux machine deployed in any environment. However, installation is tested and working well in the environments that are listed below. Additionally there needs to be few items to be set-up from networking and storage point of view.

Environments

Installation of Harmony Controller is certified for the following environments:

  • Hypervisor (in case of Bare Metal Machines) KVM (libvirt version: 3.2.0, package: 14.el7_4.3), VMWare ESXi 6.0
  • Private Cloud: OpenStack Kilo
  • Public Clouds: AWS, Azure, GCP

Hardware

In order to successfully install the controller and to allow devices (Lightning ADC, Thunder ADC ) to connect to the controller, make sure the Networking Pre-requisites are met and the TCP ports need to be opened for ingress traffic in your firewall. Each set of ports listed below need to be opened for the source IP subnet of the clients accessing the set of ports.

Node Configuration Description
Single node deployment 16 CPU, 64 GB RAM, 500GB persistent storage (SSD preferred)
Three node deployment 8 CPU, 32 GB RAM, 500GB persistent storage (SSD preferred) for each node

The actual resource requirement depends on the analytics information flowing to controller. Please consult A10 team for additional information.

Operating System

CentOS 7.5 x86_64 (minimal version) is needed. Downloading latest iso from CentOS Mirror Site and installed with all default installation options works good for smooth installation of Harmony Controller. Only US-English language and locale is supported.

File System and Kernel

In case CentOS is being installed with advance options or it is being upgraded, please make sure that the Linux kernel version is 3.10.0-693.11.6.el7.x86_64 (or higher) and for the partition where Controller is to be installed File System Type is XFS with fstype=1.

Storage Set-Up

It is recommended to use persistent storage with high Input/Output speed. While high Input/Output speed is critical for high performance of Controller, persistent storage is required to keep the data intact in case of machine failure. In the event of machine failure, the storage can be detached from the machine and attached to other other machine for faster recovery of controller with minimal data loss. Disk storage works as persistent storage in case of physical machines. Some example of external persistent storage volumes are Elastic Block Storage, Google Persistent Disk, Azure Disk, Network File Storage etc.

The install script will ask the mount point where persistent storage is attached, and install Harmony Controller on that partition and create required soft links for Controller software to work properly.

Software Installation on Single Node

In this case Harmony Controller is installed only on one physical or virtual machine.

_images/1node.png

Before You Begin

  • Make sure all Networking Pre-requisites and Resources Pre-requisites are met.
  • Keep following information handy as this will be needed during the installation process:
    1. Number of Nodes
      Number of nodes being used for this installation. In this case it is 1.
    2. Mount point of the Storage
      As described in Storage Set-Up, A10 HarmonyTM Controller should be installed on persistent storage. Mount point of the storage where A10 HarmonyTM Controller should be installed is to be provided.
    3. Email address of root provider administrator
      Email address will be used as user name for root provider administrator to login to Harmony Portal and administer infrastructure and tenants.
    4. Password for root provider administrator
      Any password can be kept as per the password policy displayed at the time of installation.
    5. Password for operator
      Operator Console is to manage and monitor Harmony Controller installation. User name for operator is ‘admin’. Any password can be kept as per password policy displayed at the time of installation.
    6. Tar File Path
      Path of the directory where Docker images and other package are kept on the NodeZero. This is asked only when files are not found in the parent directory of the installer.
    7. Internal Subnet
      Assign an internal IP address range of 256 IP address to be used for all internal networks.

Download the Installer and Packages

Install script bundle needs to be downloaded from the share file location provided in the email from A10. The sharefile location contains Release Notes and Getting Started guide for the requested version of software. Please read them carefully as the information (options, requirements, compatibility etc.) specified in Getting Started guide take precedence over the information provided in this documentation.

Required Docker images and other packages also need to be downloaded and placed in the NodeZero before running the installation script. To avoid running out of space during installation, the downloaded files should be kept in the same storage volume where the installation is planned. Download location is available in Getting Started Guide that is at the same place where the installer package is.

Install Harmony Controller Software

Run the following commands to unpack install script bundle and extract the script:

$ tar -zxvf HarmonyController-4.1.0-p1-install-rel-4.1.0-p1.tar.gz
$ cd a10-harmony-controller-4.1.0-p1/

Run the following command for installing the controller software:

$ sudo su
# ./InstallHC

The script will ask questions about the required information.

Next Steps

  • Configure SSL certificates for FQDN and email server information using A10 Harmony Controller Operator Console in the Certificate section under Configuration Management.
  • FQDN should be mapped to NodeZero IP address.
  • Setup scripts for transferring scheduled backup files to external storage as described in maintenance information.

Software Installation on Three Nodes

In this case Harmony Controller is installed on three physical or virtual machines.

_images/3node.png

Before You Begin

Keep following information handy as this will be needed during the installation process:

  1. Number of Nodes
    Number of nodes being used for this installation. In this case it is 3.
  2. Mount point of the Storage
    As described in Storage Set-Up, A10 HarmonyTM Controller should be installed on persistent storage. Mount point of the storage where A10 HarmonyTM Controller should be installed is to be provided.
  3. Email address of root provider administrator
    Email address will be used as user name for root provider administrator to login to Harmony Portal and administer infrastructure and tenants.
  4. Password for root provider administrator
    Any password can be kept as per the password policy displayed at the time of installation.
  5. Password for operator
    Operator Console is to manage and monitor Harmony Controller installation. User name for operator is ‘admin’. Any password can be kept as per password policy displayed at the time of installation.
  6. Tar File Path
    Path of the directory where Docker images and other package are kept on the Node zero. This is asked only when files are not found in the parent directory of the installer.
  7. IP address of NodeZero
    This IP address is assigned to the NodeZero after it is created and note that the IP address cannot be changed.
  8. IP address of NodeOne
    IP address of the first node other than NodeZero - termed as NodeOne.
  9. IP address of NodeTwo
    IP address of the second node other than NodeZero - termed as NodeTwo.
  10. NodeOne User
    User name for SSH into NodeOne. This user must have sudo permissions.
  11. NodeTwo User
    User name for SSH into NodeTwo. This user must have sudo permissions.
  12. SSH Key for NodeOne
    Path to SSH private key to login to NodeOne.
  13. SSH Key for NodeTwo
    Path to SSH private key to login to NodeTwo.
  14. Floating IP Address
    A floating IP address is assigned to the elected master node. In case this node fails, the floating IP address is automatically moved to the next elected master node. All external communication happens through the floating IP address. This IP address must be an unused IP address in the same subnet as nodes. This feature is not available in cloud environments (AWS, Azure, GCP, OpenStack, etc.).
  15. Internal Subnet
    Assign an internal IP address range of 256 IP address to be used for all internal networks.

SSH Key Set-up

SSH keys needs to be set-up so that nodes can be accessed programmatically without password and user intervention. Following are the steps to generate Key-pair for SSH into nodes. The key-pair is created on NodeZero and the public keys need to be copied to other nodes. Path of private key file is to be provide to install script.

  1. Generate a key on master machine (First VM/Baremetal) using:

    ssh-keygen -t rsa -N ''
    
  2. Create .ssh directory on remote machine using:

    ssh <user>@<remote_machine> mkdir -p .ssh
    
  3. Upload generated public keys to remote machine using:

    cat ~/.ssh/id_rsa.pub | ssh <user>@<remote_machine> 'cat >> .ssh/authorized_keys'
    
  4. Set permissions on remote machine using:

    ssh <user>@<remote_machine> "chmod 700 .ssh; chmod 640 .ssh/authorized_keys"
    

Download the Installer and Packages

Install script bundle needs to be downloaded from the sharefile location provided in the email from A10. The sharefile location contains Release Notes and Getting Started guide for the requested version of the software. Read them carefully as the information (options, requirements, compatibility etc.) specified in Getting Started guide take precedence over the information provided in this documentation.

Required Docker images and other packages need to be downloaded and placed in the master VM before running the deployment. To avoid running out of space during installation, the downloaded files should be kept in the same storage volume where the installation is planned. Download location is available in Getting Started Guide that is at the same place where the installer package is.

Install Harmony Controller Software

Run the following commands to unpack install script bundle and extract the script:

$ tar -zxvf HarmonyController-4.1.0-p1-install-rel-4.1.0-p1.tar.gz
$ cd a10-harmony-controller-4.1.0-p1/

Run the following command for installing the controller software:

$ sudo su
# ./InstallHC

The script will ask questions for the required information. Script can be started without any parameter. Remaining parameters will be asked in form of questions.Follow the on-screen instructions and provide the value of items asked.

Next Steps

  • Configure SSL certificates for FQDN and email server information using A10 Harmony Controller Operator Console in the Certificate section under Configuration Management.
  • FQDN should be mapped to NodeZero IP address in cloud environments (AWS, Azure, GCP, OpenStack, etc.) and mapped to floating IP address in non-cloud environment.
  • Setup scripts for transferring scheduled backup files to external storage as described in maintenance information.