YugabyteDB Anywhere software can be installed on a host machine or a VM using any of the following methods:
- YBA Installer CLI.
- Replicated Software based installation method using docker containers.
- Using helm charts on Kubernetes environment.
This solution describes the instructions to deploy YBA software using the replicated method.
Prerequisites
The following requirements must be met before deploying YBA:
- A bare metal host machine or VM running a supported operating system to install YBA. This node is referred to as platform host.
- Yugabyte license for the YBA deployment. Contact Yugabyte support for the license.
- Python version 3.8 or higher must be installed on the VM.
In this solution, YBA software is installed on a VM with the RHEL 8.6 operating system.
For more details on the prerequisites, see Prerequisites for YBA.
Install the YugabyteDB Anywhere software
Follow these steps to install the YBA software on the VM.
- Log in to the platform host VM.
- Install Replicated by running the following command:
[root@ydb-platform ~]# curl -sSL https://get.replicated.com/docker | sudo bash
The above command installs the required dependent packages as well, for example: container-selinux, yum-utils, docker, containerd and so on.
- Verify that the replicated container is running by using the following command:
[root@ydb-platform ~]# docker ps --format "{{.ID}}: {{.Image}}: {{.Command}}: {{.Ports}}"
- Launch the Replicated UI by opening a browser and connecting to http://<yugaware-host-public-ip>:8800/.
- In the HTTPS for admin console window, provide a custom SSL certificate or select Use Self-signed Cert.
- Upload the license file in the Upload your license window.
- Based on the environment, choose the installation type either to be Online or Airgapped and click Continue.
- Configure a password to secure the Replicated Admin Console.
- Replicated performs a set of preflight checks to ensure that the host is set up correctly for YBA. If the preflight check fails, see the Troubleshoot YugabyteDB Anywhere to resolve the issue.
- In the Application config window, provide the TLS version. The recommended TLS version is 1.2. Also provide the IP address or hostname of the platform host node.
For more details on the YBA software install, see Install YugabyteDB Anywhere.
Preparing on-prem YugabyteDB database nodes
In this solution, the YugabyteDB database nodes are deployed as VMs. These nodes will be used later to create a YugabyteDB cluster using the YBA UI. These nodes are referred to as database nodes.
Follow these steps to deploy and configure the on-prem nodes.
- Create three VMs with RHEL 8.6 operating system, each deployed across the three ESXi hosts as shown in the Logical architecture. See the Configuration details to know more on the hardware resources of these nodes.
- Configure a chronyd service on each of the database nodes to ensure time synchronization among them. Verify that this chrony is working by running the following command:
# chronyc tracking
- Configure ulimit on all the database nodes. For more information, see ulimits.
- Enable transparent hugepages on all the database nodes for optimal performance. For more information, see transparent hugepages .
- Generate the SSH key on the platform host node using ssh-keygen command and copy the SSH public key to database nodes.
- Create a PowerFlex volume from the PowerFlex cluster using PowerFlex Manager. Map this volume to a ESXi host and create a VMware datastore on the volume. Repeat the volume creation, mapping, and datastore creation on all the ESXi nodes. These datastores are mapped as additional disks (referred as database disk) on the database nodes which are created on the ESXi hosts.
- On the database nodes, create a filesystem (XFS is the recommended filesystem) on the database disk and mount it to a directory using noatime option for performance optimization.
# mkfs.xfs /dev/<disk-name>
# mount /dev/<disk-name> /ydb -o noatime
- To configure the above mount point to be persistent across reboots, find the Universally Unique Identifier(UUID) of the database disk and update the mount information in the /etc/fstab file using UUID and save it. Find the UUID of the database disk (for example, /dev/sdc) by running the following blkid command:
[root@ydb-node3 ~]# blkid /dev/sdc
/dev/sdc: UUID="76bca1c0-a58e-4d87-b459-ba37885f4f8a" BLOCK_SIZE="512" TYPE="xfs"
[root@ydb-node3 ~]#
Update the mount information in /etc/fstab.
UUID=76bca1c0-a58e-4d87-b459-ba37885f4f8a /ydb xfs defaults,noatime 0 0
For more information about preparing the database nodes, see Prepare nodes for on-premises deployment.
Configuration of YugabyteDB Anywhere
Follow these steps to configure the YBA.
- Create an admin account by opening a browser and connecting to http://<yugabytedbanywhere-host-ip>/register. Select the appropriate environment, enter the user credential details, and click Register.
- Click Create Config to open the OnPrem Provider Configurationpage to create the on-premises provider configuration.
- Update the Provider details like a name for the provider, regions, the SSH key details of the platform host node, and NTP server details and click Create Provider configuration.
- To configure the hardware for the database nodes, browse to Configs > Infrastructure > On-Premises Datacenters.
- Click Add Instance Type, provide information of some basic properties of a VM (database nodes) like Machine type, Number of Cores, Memory Size, Volume size and the Mount Paths (path where the database disk is mounted).
- To add instances, click Add Instances. Update the Zone, Instance Type and IP address/hostname of the database nodes. Once all the instances are added, click Add to complete adding the instances.
- After the instances are available in the Instances list, validate them by performing a preflight check. For each instance, click Actions, choose Perform check, and click Apply.
For more information about configuring the provider configuration and Instances, see Create provider configuration.