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 Ingress for Kubernetes (K8S).
- 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.
- Export all the necessary environment variables that serve 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"
- Run the
hystaller
binary with the following arguments.
/path/to/hystaller install pulsemanager
- Verify whether the service is up and running.
systemctl status pulsemanager
- 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.
- 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"
- Run the
hystaller
binary with the following arguments.
/path/to/hystaller uninstall -i pulsemanager
- Verify whether the service is up and running.
systemctl status pulsemanager
- 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.
- SELinux can be in either enforcing or permissive mode. To avoid permission issues, set SELinux to disabled and reboot the VM.
- 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