Installing Distributed DDNS Data Nodes - Adaptive Applications - BlueCat Gateway - 21.1

BlueCat Distributed DDNS Administration Guide

prodname
BlueCat Gateway
version_custom
21.1

The following section provides steps to installing three Distributed DDNS Data Nodes.

Before you begin

The Distributed DDNS Data Nodes establish a database cluster. Ensure that the following ports are not in use on the Distributed DDNS Data Node host machines:
  • Standard database service port (port 3306): Used for MySQL client connections and State Snapshot Transfers.
  • Replication port (port 4567): Used for cluster replication traffic. Multicast replication uses both UDP and TCP on this port.
  • IST port (port 4568): Used for Incremental State Transfers (IST).
  • SST port (port 4444): Used for all State Snapshot Transfers (SST).

Installing the first node of the cluster

When installing the first node of the cluster, you must specify that you are creating a new Distributed DDNS Data Node cluster. Once you have specified this in the installation, subsequent node installations can connect to the existing cluster.

  1. Log in to the console of the host machine of the first node in the cluster.
  2. From the host machine, run the following command:
    docker login quay.io
  3. At the prompt, enter your Quay user name and password obtained when generating the encrypted password.
  4. Download the Distributed DDNS Data Node container from Quay using the following command:
    docker pull quay.io/bluecat/distributed_ddns_database:21.1
  5. Verify that the docker image has been loaded to the machine using the following command:
    docker image ls
  6. Install Distributed DDNS Data Node by running the following command:
    docker run -d \
    --restart=unless-stopped \
    --net=host \
    --name <node1_name> \
    -v mariadb-config:/etc/mysql \
    -v mariadb-data:/var/lib/mysql \
    -v mariadb-backup:/opt/backup \
    -v daemon-config:/daemon_run \
    -e MYSQL_ALLOW_EMPTY=yes \
    -e GALERA_NEW_CLUSTER=yes \
    -e MARIADB_CLUSTER_ADDRESS=gcomm://<node1_IP>,<node2_IP>,<node3_IP> \
    -e MARIADB_NODE_ADDRESS=<node1_IP> \
    -e MARIADB_PASSWORD<mariadb_password> \
    quay.io/bluecat/distributed_ddns_database:21.1
Where the docker run parameters are as follows:
Parameter Description
--name The name of the Docker instance node.
-v mariadb-config The volume that contains the configuration files of the database node server. Configuring this parameter ensures that the MariaDB configuration files persist from the Docker container to the host machine.
-v mariadb-data The volume that contains the database files. Configuring this parameter ensures that the database service application data persists from the Docker container to the host machine.
-v mariadb-backup The volume that contains the backup files. Configuring this parameter ensures that the database service backup data persists from the Docker container to the host machine.
-v daemon-config The volume that contains the configuration files for the configuration daemons that run on the node.
-e MYSQL_ALLOW_EMPTY This allows the container to start with a blank password for the root user. The root password is configured once the cluster has been installed.
-e GALERA_NEW_CLUSTER This specifies that this is the first bootstrap node in the cluster.
-e MARIADB_CLUSTER_ADDRESS The IP address of all nodes within the cluster, starting with gcomm://
Note: If you are specifying IPv6 addresses, each node address must be enclosed in square brackets ([ ]).
-e MARIADB_NODE_ADDRESS The IP address of the current node.
Note: If you are specifying IPv6 addresses, each node address must be enclosed in square brackets ([ ]).
-e MARIADB_PASSWORD The password that is created for the specified user. By default, the password is ddns_admin.
Note: The default Distributed DDNS Data Node is ddns_admin and the default Distributed DDNS Data Node database name is distributed_ddns.

Installing the additional two nodes in the cluster

Once you have configured the first node in the cluster, you can add the additional two nodes to the cluster by running similar commands on each node.

  1. Log in to the console of the host machine of the other two nodes in the cluster.
  2. From the host machine, run the following command:
    docker login quay.io
  3. At the prompt, enter your Quay user name and password obtained when generating the encrypted password.
  4. Download the Distributed DDNS Data Node container from Quay using the following command:
    docker pull quay.io/bluecat/distributed_ddns_database:21.1
  5. Verify that the docker image has been loaded to the machine using the following command:
    docker image ls
  6. Install Distributed DDNS Data Node by running the following command:
    docker run -d \
    --restart=unless-stopped \
    --net=host \
    --name <node2_or_node3_name> \
    -v mariadb-config:/etc/mysql \
    -v mariadb-data:/var/lib/mysql \
    -v mariadb-backup:/opt/backup \
    -v daemon-config:/daemon_run \
    -e MYSQL_ALLOW_EMPTY=yes \
    -e MARIADB_CLUSTER_ADDRESS=gcomm://<node1_IP>,<node2_IP>,<node3_IP> \
    -e MARIADB_NODE_ADDRESS=<node2_or_node3_IP> \
    -e MARIADB_PASSWORD<mariadb_password> \
    quay.io/bluecat/distributed_ddns_database:21.1

Once you've installed the Distributed DDNS Data Nodes, you must change the root password of the database service cluster.