ClusterControl

Deploy in 60 seconds

Introduction

ClusterControl is a unified console ('single pane of glass') to manage the full database lifecycle of the most popular open-source databases on-premise or in the cloud. Provision, monitor and manage highly available database clusters in minutes with dashboards, backups, notifications, reports and automated recovery.

Supported databases: MySQL, MariaDB Server, MariaDB Galera, Percona Server, Percona XtraDB, MySQL Cluster (NDB), PostgreSQL, Redis, TimescaleDB and MongoDB ReplicaSet and Shards

Getting Started

ClusterControl requires passwordless SSH access to the database nodes. A private and public SSH key is generated after the instance creation and you will need to first ssh root@your_vultr_public_ipv4 to copy the public SSH key which you will then provide when you create your instances for the database nodes.

Note: All instances should be on the same network and have a private IP address (enable private networking) for optimal security and isolation.
See https://www.vultr.com/docs/configure-ubuntu-with-multiple-ip-addresses for further details on how to assign a private IP to your database hosts.
See example file below.

$ cat /etc/netplan/11-ens7.yaml  
network:  
  version: 2  
  renderer: networkd  
  ethernets:  
    ens7:  
      match:  
        macaddress: 5a:00:03:76:c8:94  
      mtu: 1450  
      dhcp4: no  
      addresses: [10.25.96.3/20]  

Replace the macaddress and the addresses fields to match your private network and then apply the changes with netplan apply for each instance.

The first step is to get access to the public SSH key:

  1. SSH into the created instance with ssh root@your_vultr_public_ipv4.
  2. Copy the public SSH key from the terminal console
  3. Add this new SSH key to your Vultr account by going to 'Your account name'>SSH Keys
  4. Name the new key for example as clustercontrol

Note: The initial mysql root user and cmon db user passwords for the ClusterControl application's MySQL server is stored in /root/.cc_passwords.

Now that we have the public SSH key added we can go ahead and launch a few more Vultr instances on OS Ubuntu 20.04 that will be used to host our database nodes.

  • Create 2-3 new instances that will be used to host the database nodes
  • Make sure the instances are in the same datacenter/region and private network as the ClusterControl instance
  • Select/include the previous created clustercontrol SSH key when launching the instances. It must be included otherwise ClusterControl will not be able to access the nodes.
  • Make sure all instances are reachable by private IPs - See https://www.vultr.com/docs/configure-ubuntu-with-multiple-ip-addresses for further instructions.

Finally open the ClusterControl web application by going to http://your_vultr_public_ipv4/clustercontrol and deploy your first database:

  1. Register/create the ClusterControl admin user
  2. Open the deployment wizard by clicking on the 'Deploy' button on the top header/menu
  3. Select 'deploy' and then choose which database technology you want to use
  4. As the SSH user enter root
  5. Continue and select the database vendor and version
  6. Enter the private IP addresses of the instances where the database nodes will run
  7. Deploy the database cluster

For further documentation and help see ClusterControl documentation