Deploying Distributed DDNS Data Nodes on BDDSes - Adaptive Applications - BlueCat Gateway - 23.2.3

BlueCat Distributed DDNS Administration Guide

Locale
English
Product name
BlueCat Gateway
Version
23.2.3

The following section describes how to install multiple Distributed DDNS Data Nodes on BDDSes to establish a database cluster.

Before you begin

Make sure that the following ports are not in use on each BDDS that will host a Distributed DDNS Data Node:
Attention: By default, the ports are opened on the firewall of the DNS/DHCP Server upon deployment of the Distributed DDNS Data Node. If you are deploying on different networks, make sure that these ports are open on any routers between the data nodes, to allow for communication between nodes.
  • Standard database service port (port 3306): Used for database 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).

  • Port 4920: Used for the API service running on the data node.

If you install a Distributed DDNS Data Node on the same BDDS as the Distributed DDNS Application Node, you must manually add firewall rules on the BDDS, using the following commands:

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --sport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT
Prerequisites
  • Each BDDS that is to operate as a Distributed DDNS Data Node must be under Address Manager control.

  • BlueCat Gateway must have access to the configuration name and view name in Address Manager that contains each BDDS that is to operate as a Distributed DDNS Data Node. To allow access to the configuration name and view name:

    1. On the Application Node, start Distributed DDNS and log in to the Gateway user interface.

    2. Navigate to BlueCat Gateway Administration > Configurations > General Configuration.

    3. Select the BAM Settings tab.

    4. Set the Default Configuration and Default View to the configuration and view that contains the BDDS.

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. After installing the first node, subsequent node installations can connect to the existing cluster.



  1. Log in to the UI for the Distributed DDNS Application Node.

  2. Under Available Actions, click Distributed DDNS, then click the DDNS Deployment tab.

  3. Click the name of a server. If there are no BDDS names in the list, make sure you correctly configured the settings listed in Prerequisites above.

  4. Within the Configure Remote Services window, in the Service Type section, select Database Node, then click Continue.

  5. In the General section, enter the following information:

    • Authentication Type: Select the method of authentication. You can select Password or SSH Key.

      If you select Password, enter the following information:
      • SSH Username: Enter the username that will be used to establish an SSH connection with the BDDS.
      • SSH Password: Enter the password that will be used to establish an SSH connection with the BDDS.
      If you select SSH Key, enter the following information:
      • SSH Username: Enter the username of the root or non-root user. If entering a non-root username, it must also be added to the /etc/sudoers file. You can use the following commands to add non-root username to the file:
        sudo visudo
        <non-root_username> ALL=(ALL) NOPASSWD: ALL
      • SSH Private Key: Enter the SSH private key produced using the ssh-keygen command. Ensure that the corresponding public key is available on the destination server using the following commands:
        ssh-keygen
        ssh-copy-id -i <public_key_file> <remote_user>@<remote_server>
      • Key Passphrase: Enter the key passphrase if one was used when generating the SSH key pair.
    • Database Cluster: Enter the name of the database cluster. This information is used during the deployment of other nodes in the database cluster.

    • Database Password: Enter the password for the default user (ddns_admin) of the database cluster. This information is used during the deployment of other nodes in the database cluster.

      CAUTION:
      The database password must contain only letters and numbers. It cannot contain special characters like @, #, or !. Use of special characters may cause errors in deployment of the Distributed DDNS system and cause it to function abnormally.
  6. In the Repository section, enter the following information:
    • Image: Enter quay.io/bluecat/distributed_ddns_database:23.2.3
    • Username: Enter your Quay username.
    • Password: Enter your Quay password.
  7. When you're done, click Deploy.

The deployment process proceeds to pulls the docker image and install it locally. Once the first node has been deployed, refresh the browser to ensure that the node has been successfully deployed.

Repeat the previous steps to deploy additional Data Nodes to the cluster.

Note: Before deploying other nodes in the cluster, make sure that the first node has successfully initialized.
Attention:

Data Node container information

The following section contains information about the Data Node container deployment.

Data Node container name

The Data Node container name includes the database cluster name and the IP address of the node in the following format: <db-cluster-name>_node_<db-ip-address>. For example, test_node_192.168.1.1

Data Node container network

The Data Node container uses the Docker host network.

Data Node container volumes

When you deploy the Data Node container, the following volumes are created to persist data on the host DNS/DHCP Server:
  • mariadb-config: contains the configuration files of the MariaDB server. This helps persist the configuration files from the Docker container to the host machine.

  • mariadb-data: contains the database files. This helps persist the database data from the Docker container to the host machine.

  • mariadb-backup: contains the backup files. This helps persist the backup files from the Docker container to the host machine.

  • daemon-config: contains the configuration files of configuration daemons that run on the Data Node.

  • dbssl-config: contains the SSL certificates and keys of the API server on the MariaDB server.