Docker Image Installation Instructions for ClusterControl
The Docker Image comes with ClusterControl installed and configured with all of its components, so you can immediately use it to manage and monitor your existing databases. The Docker Image for ClusterControl is a convenient way to quickly get up and running and it’s 100% reproducible. All you need to do is pull the image from the Docker Hub and then launch the software.
Image Description
To Pull ClusterControl images, simply
$ docker run -d severalnines/clustercontrolThe image is based on CentOS 7 with Apache 2.4, which consists of ClusterControl packages and prerequisite componentsD
- ClusterControl controller, UI, cloud, notification and web ssh packages installed via Severalnines repository.
- MySQL, CMON database, cmon user grant and dcps database for ClusterControl UI.
- Apache, file and directory permission for ClusterControl UI with SSL installed.
- SSH key for ClusterControl usage.
Run Container
To run a ClusterControl container, the simplest command would be:
$ docker run -d severalnines/clustercontrolHowever, for production use, users are advised to run with sticky IP address/hostname and persistent volumes to survive across restarts, upgrades and rescheduling, as shown below:
# Create a Docker network$ docker network create --subnet=192.168.10.0/24 db-cluster# Start the container$ docker run -d --name clustercontrol \--network db-cluster \--ip 192.168.10.10 \-h clustercontrol \-p 5000:80 \-p 5001:443 \-v /storage/clustercontrol/cmon.d:/etc/cmon.d \-v /storage/clustercontrol/datadir:/var/lib/mysql \-v /storage/clustercontrol/sshkey:/root/ssh \-v /storage/clustercontrol/cmonlib:/var/lib/cmon \-v /storage/clustercontrol/backups:/root/backups \severalnines/clustercontrolThe recommended persistent volumes are
/etc/cmon.d – ClusterControl configuration files.
/var/lib/mysql – MySQL datadir to host cmon and dcps database.
/root/.ssh – SSH private and public keys.
/var/lib/cmon ClusterControl internal files.
/root/backups – Default backup directory only if ClusterControl is the backup destination
After a moment, you should able to access the ClusterControl Web UI at {host’s IP address}:{host’s port}, for example:
HTTP: http://192.168.10.100:5000/clustercontrol
HTTPS: https://192.168.10.100:5001/clustercontrol
We have built a complement image called centos ssh to simplify database deployment with ClusterControl. It supports automatic deployment (Galera Cluster) or it can also be used as a base image for database containers (all cluster types are supported). Details at here
Environment Variables
CMON_PASSWORD={string}- MySQL password for user `cmon`. Default to `cmon`. Use
docker secretis recommended. - Example:
CMON_PASSWORD=cmonP4s5
- MySQL password for user `cmon`. Default to `cmon`. Use
MYSQL_ROOT_PASSWORD={string}- MySQL root password for the ClusterControl container.
Default to `password`. Usedocker secretis recommended. - Example:
MYSQL_ROOT_PASSWORD=MyPassW0rd
- MySQL root password for the ClusterControl container.
Service Management
Starting from version 1.4.2, ClusterControl requires a number of processes to be runningD
- sshd – SSH daemon. The main communication channel.
- mysqld – MySQL backend runs on Percona Server 5.6.
- httpd – Web server running on Apache 2.4.
- cmon – ClusterControl backend daemon. The brain of ClusterControl. It depends on
mysqldandsshd. - cmon-ssh – ClusterControl web-based SSH daemon, which depends on
cmonandhttpd. - cmon-events – ClusterControl notifications daemon, which depends on
cmonandhttpd. - cmon-cloud – ClusterControl cloud integration daemon, which depends on
cmonandhttpd. - cc-auto-deployment – ClusterControl automatic deployment script, running as a background process, which depends on
cmon
These processes are being controlled by Supervisord, a process control system. To manage a process, one would use supervisorctl client as shown in the following example:
[root@physical-host]$ docker exec it clustercontrol /bin/bash[root@clustercontrol /]# supervisorctlcc-auto-deployment RUNNING pid 570, uptime 2 days, 19:11:54cmon RUNNING pid 573, uptime 2 days, 19:11:54cmon-events RUNNING pid 576, uptime 2 days, 19:11:54cmon-ssh RUNNING pid 575, uptime 2 days, 19:11:54httpd RUNNING pid 571, uptime 2 days, 19:11:54mysqld RUNNING pid 577, uptime 2 days, 19:11:54sshd RUNNING pid 572, uptime 2 days, 19:11:54supervisor> restart cmoncmon: stoppedcmon: startedsupervisor> status cmoncmon RUNNING pid 2838, uptime 0:11:12supervisor>Examples
- Standalone Docker
- Kubernetes
Development
Please report bugs, improvements or suggestions via our support channel:
https://support.severalnines.com
If you have any questions, you are welcome to get in touch via our contact us page or email us at
Tidak ada komentar:
Posting Komentar