ClusterControl

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 Replication, MySQL Galera, MySQL Cluster (NDB), PostgreSQL, Redis, Elasticsearch, MS SQL Server 2019, TimescaleDB and MongoDB ReplicaSet and Shards

Software Included

Package Version License
clustercontrol-controller 2.0.0 Severalnines AB
clustercontrol-cloud 2.0.0 Severalnines AB
clustercontrol-clud 2.0.0 Severalnines AB
clustercontrol-ssh 2.0.0 Severalnines AB
clustercontrol-notifications 2.0.0 Severalnines AB
clustercontrol2 2.2.3 Severalnines AB

Creating an App using the Control Panel

Click the Deploy to DigitalOcean button to create a Droplet based on this 1-Click App. If you aren’t logged in, this link will prompt you to log in with your DigitalOcean account.

Deploy to DO

Creating an App using the API

In addition to creating a Droplet from the ClusterControl 1-Click App using the control panel, you can also use the DigitalOcean API. As an example, to create a 4GB ClusterControl Droplet in the SFO2 region, you can use the following curl command. You need to either save your API access token) to an environment variable or substitute it in the command below.

curl -X POST -H 'Content-Type: application/json' \
         -H 'Authorization: Bearer '$TOKEN'' -d \
        '{"name":"choose_a_name","region":"sfo2","size":"s-2vcpu-4gb","image": "severalnines-clustercontrol-20-04"}' \
        "https://api.digitalocean.com/v2/droplets"

Getting Started After Deploying ClusterControl

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

Note: All droplets must be on the same VPC network and have a private IP address

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

  1. SSH into the created droplet ssh root@your_droplet_public_ipv4. Follow the instructions in your terminal console at login.
  2. Copy the public SSH key from the terminal console
  3. Add a new SSH key to your DigitalOcean account by going to Settings->Security
  4. Name the new key for example as clustercontrol

Now that we have the public SSH key added we can go ahead and launch a few droplets that will be used to host our database nodes.

Note: All droplets must be on the same VPC network and have a private IP address

  • Create 2-3 new droplets that will be used to host the database nodes
  • Make sure the droplets are in the same datacenter and VPC network as the ClusterControl droplet
  • Select the previous created clustercontrol SSH key. It must be included otherwise ClusterControl will not be able to access the nodes

Finally open the ClusterControl web application and deploy our first database:

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

DigitalOcean Managed Database

If you select to install a DigitalOcean Managed Database while creating this 1-click app, DigitalOcean handles the creation of the database cluster as well as the Droplet. The Droplet will have a DATABASE_URL environment variable configured including a database connection string, such as:

postgresql://doadmin:@dbaas-db-11111-do-user-1111111-1.b.db.ondigitalocean.com:25060/defaultdb?sslmode=require

Your managed database configuration and credentials will be stored in /root/.digitalocean_dbaas_credentials

Please note that there is additional configuration needed to connect your managed database to this droplet after creation.