Prerequisites for YBA

What you need to install YugabyteDB Anywhere

You can install YugabyteDB Anywhere (YBA) using the following methods:

Method Using Use If
YBA Installer yba-ctl CLI You are performing a new installation.
You are ready to migrate from a Replicated installation.
Replicated Docker containers Your installation already uses Replicated.
Kubernetes Helm chart You're deploying in Kubernetes.

All installation methods support installing YBA with and without (airgapped) Internet connectivity.

Licensing (such as a license file in the case of YBA Installer or Replicated, or appropriate repository access in the case of Kubernetes) may be required prior to installation. Contact Yugabyte Support for assistance.

Hardware requirements

A Kubernetes node is expected to meet the following requirements:

  • 5 cores (minimum) or 8 cores (recommended)
  • 15 GB RAM (minimum)
  • 250 GB SSD disk (minimum)
  • 64-bit CPU architecture

Prepare the cluster

The minimum version for a Kubernetes cluster and Helm chart are as follows:

  • Kubernetes 1.22
  • Helm 3.11.3

The YugabyteDB Anywhere Helm chart has been tested using the following software versions:

  • Kubernetes - 1.22 to 1.25
  • Helm - 3.11.3

Before installing YugabyteDB Anywhere, verify that you have the following:

  • A Kubernetes cluster with nodes configured according to the hardware requirements.
  • A client environment with the kubectl and Helm command-line tools configured with a service account or user that has admin access to a single namespace on the subject Kubernetes cluster.
  • A Kubernetes secret obtained from Yugabyte Support.

In addition, ensure the following:

Multi cluster Kubernetes environment

When you want to create a multi-region YugabyteDB universe or two universes from different regions replicating using xCluster, you need to use one Kubernetes cluster per region. In the common case, following are the prerequisites for YugabyteDB Anywhere to work across multiple Kubernetes clusters:

  • Pod IP address connectivity should be present between the clusters. Each pod and service should have a unique IP address across the clusters (non-overlapping addresses).
  • There should be DNS connectivity between the clusters. ClusterIP and headless service FQDNs (including the individual pod FQDNs) exposed in one Kubernetes cluster should be resolvable in all the other Kubernetes clusters.
  • YugabyteDB Anywhere should have access to the control plane of all the Kubernetes clusters, typically via a kubeconfig file of a service account. It should be installed on one of the connected clusters.

Alternatively, you can set up Multi-Cluster Services API (MCS). For more details on the setup, see Configure Kubernetes multi-cluster environment. Note that MCS support in YugabyteDB Anywhere is currently in Early Access.