ClusterControl User Guide
The ClusterControl User Guide is designed to provide users with a comprehensive overview of the platform’s functionalities, covering everything from initial setup to advanced database management. Whether you are new to ClusterControl or looking to enhance your skills, this guide serves as a detailed resource for understanding and utilizing the platform’s core features.
In this guide, you will learn how to:
- Navigate the ClusterControl user interface.
- Deploy, monitor, and manage database clusters efficiently.
- Perform routine tasks such as backups, restores, and upgrades.
- Monitor performance metrics, configure alerts, and optimize your database environments.
- Leverage automation features to reduce manual intervention and maintain high availability.
With a focus on simplifying database operations, the ClusterControl User Guide provides practical instructions, tips, and best practices to help users of all levels take full advantage of the platform’s capabilities. Each section of the guide is designed to help you become more proficient and confident in managing your database infrastructure using ClusterControl.
ClusterControl user interfaces
ClusterControl provides several user interfaces to interact with the ClusterControl Controller service:
Interface | Description | Package name |
---|---|---|
ClusterControl GUI v1 (deprecated) | The legacy graphical user interface runs as a web application, also known as ClusterControl GUI v1. This is deprecated since ClusterControl 1.9.8 and is no longer supported. | clustercontrol |
ClusterControl GUI | The next-generation graphical user interface runs as a web application supersedes ClusterControl GUI v1. This is the default graphical user interface. | clustercontrol2 |
ClusterControl CLI | The command-line user interface, also known as s9s . |
s9s-tools |
Terraform provider for ClusterCOntrol | A Terraform provider to manage database clusters through Infrastructure as code (IaC) | terraform-provider-clustercontrol |
This user guide provides steps to perform management, monitoring and automation actions via ClusterControl GUI, ClusterControl CLI and Terraform Provider for ClusterControl (where applicable).
ClusterControl GUI
Attention
Starting from ClusterControl 1.9.7 (September 2023), ClusterControl GUI is the default frontend graphical user interface for ClusterControl. For new installations, the installer script will only install GUI, skipping GUI v1. If you would like to run GUI v1, see Legacy GUI Installation. If you are upgrading from an older version, the GUI v1 will remain available and usable as usual.
The ClusterControl GUI is the next-generation graphical user interface to manage and monitor your database clusters. Installation using the installer script will include ClusterControl GUI installation as well, in a package called clustercontrol2
. It is accessible via https://{ClusterControl_host}/
and interacts with the ClusterControl Controller (CMON) via remote procedure calls (RPC) on ports 9500 and 9501 for TLS (default). There were 2 versions of ClusterControl GUI – v1 and v2 – where v2 is now the default and v1 is now considered a feature-freeze product with no future development.
To learn in-depth about ClusterControl GUI, see ClusterControl GUI.
ClusterControl CLI
Also known as s9s
, ClusterControl CLI is a command-line tool to interact, control, and manage database clusters using the ClusterControl Database Platform. Installation using the installer script will include ClusterControl CLI installation as well, in a package called s9s-tools
. You can also install it on another host or workstation to manage the database cluster remotely. The commands are basically JSON messages being sent over to the ClusterControl Controller (CMON) RPC interface. Communication between the s9s (the command-line tool) and the controller process (CMON) is encrypted using TLS and requires port 9501 to be opened on the controller to be reached by the client host.
The following screenshot shows an example of ClusterControl CLI output from the terminal:
Not all functionalities are available on both user interfaces. For instance, there is no practicality for the command-line client (ClusterControl CLI) to have all the advanced monitoring features offered by the web application client (ClusterControl GUI). The command-line client is focused on automation and adoption in management, deployment, and scaling operations while the web UI client focuses more on structural visualization with a guided approach. Occasionally, new management features will be introduced in the CLI before being incorporated into ClusterControl UI to turn it into a polished, finalized feature.
Installation using the installer script will include ClusterControl CLI installation as well on the ClusterControl server. The default "admin" user will be created automatically and is configured only for the root user. To learn in-depth about ClusterControl CLI, see ClusterControl CLI.
Terraform provider for ClusterControl
The Terraform Provider for Severalnines ClusterControl offers a seamless integration between the powerful infrastructure management tool, Terraform, and the robust database management capabilities of ClusterControl. This provider empowers users to effortlessly provision, configure, and manage database clusters through Infrastructure as Code (IaC), streamlining the deployment process and enhancing the efficiency of managing complex database environments.
The following is an example of the Terraform resource definition for a PostgreSQL streaming replication deployment:
resource "clustercontrol_db_cluster" "test-postgresql" {
db_cluster_create = true
db_cluster_name = "PostgreSQL Cluster"
db_cluster_type = "pg-replication"
db_version = "15"
db_vendor = "postgresql"
db_admin_user_password = var.cc_api_user_password
db_host {
hostname = "test-primary"
}
db_host {
hostname = "test-replica"
}
ssh_key_file = "/root/.ssh/id_rsa"
ssh_user = "root"
db_deploy_agents = true
disable_firewall = true
disable_selinux = true
db_install_software = true
}
This project is hosted in Github, terraform-provider-clustercontrol. To learn in-depth about this component, see Terraform provider for ClusterConttrol.