Deploy Pulse Manager Agent

The Pulse Manager Agent works with the Pulse Manager Server to deploy databases and monitor their health outside the Kubernetes environment. You must install the Pulse Manager Agent on each VM or bare metal node that hosts Pulse databases.

This agent:

  • Applies the database deployment plan from the Pulse Manager Server.

  • Manages the full lifecycle of databases on non-Kubernetes infrastructure.

  • Sends the status (Up or Down) of each database to the Pulse Manager Server.

Use Hystaller, Acceldata’s installer tool, to deploy the Pulse Manager Agent on all required VMs or bare metal nodes.


Pre-requisites

  • Ensure that Ingress is set up in Kubernetes to allow external access to Pulse services through defined routing rules. For more details, see Configure Ingress for Pulse on Kubernetes.

  • Ensure you have an odd number of VMs or BareMetal nodes for database deployments (e.g., 1, 3, 5…).

  • Ensure Docker is installed on all VMs or BareMetal nodes.

  • Ensure SELinux is disabled.

[root@dbservers101 ~]# getenforce Disabled
  • Ensure the following sysctl configurations are applied on all nodes in the cluster.

net.ipv4.ip_forward=1 vm.max_map_count=262144

To apply this for the current boot:

sysctl -w net.ipv4.ip_forward=1 sysctl -w vm.max_map_count=262144

To apply the settings on every boot, copy the above configurations and add them to the /etc/sysctl.conf file. The result /etc/sysctl.conf will look like this:

To apply the settings on every boot, copy the above configurations into the /etc/sysctl.conf file. After adding them, your /etc/sysctl.conf must look as below.

[root@dbservers101 ~]# cat /etc/sysctl.conf # sysctl settings are defined through files in # /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/. # # Vendors settings live in /usr/lib/sysctl.d/. # To override a whole file, create a new file with the same in # /etc/sysctl.d/ and put new settings there. To override # only specific settings, add a file with a lexically later # name in /etc/sysctl.d/ and put new settings there. # # For more information, see sysctl.conf(5) and sysctl.d(5). vm.max_map_count=262144 net.ipv4.ip_forward=1
  • Ensure the VMs can connect to the Kubernetes cluster.

  • Ensure you have already loaded all the Database images in all the VMs.

191579300362.dkr.ecr.us-east-1.amazonaws.com/acceldata/ad-logstash 3.8.0-260525 fd6f34e06aca 7 hours ago 927MB 191579300362.dkr.ecr.us-east-1.amazonaws.com/acceldata/ad-elastic 3.8.0-260525 9bc7e63ea292 7 hours ago 1.3GB 191579300362.dkr.ecr.us-east-1.amazonaws.com/acceldata/ad-database 3.8.0-260525 55538854b48e 7 hours ago 892MB 191579300362.dkr.ecr.us-east-1.amazonaws.com/acceldata/ad-gauntlet 3.8.0-260525 4ef2948aab62 7 hours ago 51.9MB 191579300362.dkr.ecr.us-east-1.amazonaws.com/acceldata/ad-pg 3.8.0-260525 052c9a0dba0a 7 hours ago 275MB 191579300362.dkr.ecr.us-east-1.amazonaws.com/acceldata/ad-pg-ui 3.8.0-260525 052c9a0dba0a 7 hours ago 275MB 191579300362.dkr.ecr.us-east-1.amazonaws.com/acceldata/ad-events 3.8.0-260525 5f8e5a26fda0 7 hours ago 24.3MB 191579300362.dkr.ecr.us-east-1.amazonaws.com/acceldata/ad-vmselect 3.8.0-260525 81cfa013295a 7 hours ago 27.8MB 191579300362.dkr.ecr.us-east-1.amazonaws.com/acceldata/ad-vmstorage 3.8.0-260525 b9b400f66420 7 hours ago 24.3MB 191579300362.dkr.ecr.us-east-1.amazonaws.com/acceldata/ad-vminsert 3.8.0-260525 99abd326fa6c 7 hours ago 37.4MB

Install Pulse Manager Agent

Install the Pulse Manager Agent using Hystaller. Download Hystaller and place it on all target VMs or bare-metal nodes.

  1. Export all the necessary environment variables that serve as inputs for the hystaller binary.

export PULSE_MANAGER_HOME_DIR="/data01/acceldata" export PULSE_MANAGER_URL="http://platk8s101.acceldata.dvl:32382/manager" export PULSE_MANAGER_USERNAME="pulsemanager" export ENABLE_MANAGER_AGENT="true" export PULSE_MANAGER_UID="102010010" export PULSE_MANAGER_GID="102010010" export MANAGER_AGENT_LOG_LEVEL="info" export PULSE_MANAGER_NETWORK="ad-default" export CONTAINER_TOOL="docker"
  1. Run the hystaller binary with the following arguments.

/path/to/hystaller install pulsemanager
  1. Verify whether the service is up and running.

systemctl status pulsemanager
  1. Check if the hystaller has created the Docker network by running the command.

[root@dbservers101 ~]# docker network ls NETWORK ID NAME DRIVER SCOPE c8ca91b236e5 ad-default bridge local c8ca91b236e5 bridge bridge local ac0173444bb4 host host local d90121af5d74 none null local

Uninstall Pulse Manager Agent

You can uninstall the Pulse Manager Agent using Hystaller. Download and run Hystaller on all VMs or bare metal nodes where the agent is installed. The uninstallation process removes all components created during installation.

  1. Export all the necessary environment variables required as inputs for the hystaller binary.

export PULSE_MANAGER_HOME_DIR="/data01/acceldata" export PULSE_MANAGER_USERNAME="pulsemanager" export PULSE_MANAGER_URL="http://<Manager Server URL or LoadBalancer URL>" export ENABLE_MANAGER_AGENT="true" export PULSE_MANAGER_UID="102010010" export PULSE_MANAGER_GID="102010010" export MANAGER_AGENT_LOG_LEVEL="error" export PULSE_MANAGER_NETWORK="ad-default"
  1. Run the hystaller binary with the following arguments.

/path/to/hystaller uninstall -i pulsemanager
  1. Verify whether the service is up and running.

systemctl status pulsemanager
  1. Check if the hystaller has removed the Docker network or not.

[root@dbservers101 ~]# docker network ls NETWORK ID NAME DRIVER SCOPE c8ca91b236e5 bridge bridge local ac0173444bb4 host host local d90121af5d74 none null local

Troubleshooting

After installing the Pulse Manager Agent, if you encounter a 203/EXEC error, it indicates a permissions issue when systemd attempts to run the PulseManager binary.

  1. SELinux can be in either enforcing or permissive mode. To avoid permission issues, set SELinux to disabled and reboot the VM.

  2. Also, verify the permissions of the home directory and ensure all directories are owned by the pulsemanager user. To quickly fix ownership, run:

chown -R pulsemanager:pulsemanager /data01