Installation overview

What you need to know about deploying YugabyteDB Anywhere

At a high level, you perform the following tasks to install and use YugabyteDB Anywhere to manage database deployments:

  1. Decide on the type of provider configuration you will use.

    The provider you choose depends on where you will deploy universes (on your own machines, in the cloud, on Kubernetes), and the permissions you can grant to YugabyteDB Anywhere to perform its tasks.

  2. Prepare your infrastructure.

    Set up the necessary VMs, cloud permissions, users, and networking to install YBA and deploy universes. How you prepare your infrastructure depends on the types of providers you want to support.

    See Prepare your infrastructure.

  3. Install the management software (that is, YugabyteDB Anywhere).

    Using YBA Installer, install YBA on a VM.

    See Install YugabyteDB Anywhere.

  4. Create a Provider Configuration using YugabyteDB Anywhere.

    The provider configuration stores details of the cloud environment where you will deploy your universes.

    See Create provider configurations.

  5. Create a database cluster (also referred to as a Universe) using YugabyteDB Anywhere.

    YBA uses the details in the provider configuration to configure and deploy the universe. If using Kubernetes, using Helm charts or the Kubernetes operator is also possible.

    See Create universes.

Prerequisites

To install YugabyteDB Anywhere and be able to deploy YugabyteDB universes requires the following prerequisites:

  • Cloud permissions

    These are required when using Kubernetes or a public cloud provider (AWS, GCP, or Azure). Cloud permissions are not required when using an on-premises provider.

  • Networking connectivity

    • Between YBA and all of the database cluster nodes
    • Between all the DB nodes
    • Optionally, network connectivity to the Internet for access to resources as required, including the following:
      • Linux OS disk images from cloud service providers
      • Linux software tool yum repositories
      • YugabyteDB database version release binaries
      • Object Storage to be used as backup targets
      • Identity Providers for user authentication
  • Server hardware and software

    • For YugabyteDB Anywhere - 1 or 2 servers (or pods if deployed on K8s) and Linux root permissions
    • For database clusters (also called a universe) - 1, 3, 5, or more servers (or pods if deployed on Kubernetes) and Linux root permissions

See Prepare your infrastructure for instructions on meeting these prerequisites.

Best practices

If you have development, staging, and production environments (with multiple clusters per environment), deploy one YBA instance (or active/passive high availability pair) for each environment.

Limitations

YBA can be deployed to on-premises VMs, public cloud VMs, or Kubernetes. The same is true for database clusters. While these are usually de-coupled and independent deployment decisions, if you want to deploy a database cluster to Kubernetes, YBA must also be deployed on Kubernetes.