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 cloud permissions, users, networking, and servers needed to install YugabyteDB Anywhere 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 YugabyteDB Anywhere 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.

    YugabyteDB Anywhere 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.

Keep the control plane separate from the data plane

Don't install YugabyteDB Anywhere on servers that you will use for database clusters, and vice-versa.

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 YugabyteDB Anywhere 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 YugabyteDB Anywhere instance (or active/passive high availability pair) for each environment.

Limitations

YugabyteDB Anywhere 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, YugabyteDB Anywhere must also be deployed on Kubernetes.