Deploy PulseNode Agent on Kubernetes

Deploy PulseNode into a Kubernetes cluster in the same namespace as Pulse using the Manager Server deploy addons API, then configure hostname settings via deployment environment variables.

Introduced

This is supported from Pulse 4.1.0 onwards.


Prerequisites

  • Access to the Kubernetes cluster

  • kubectl configured for the target cluster

  • Pulse Manager Ingress API endpoint


Step 1: Download and Extract the RBAC Package

Download the k8s_tar package and extract it.

Ensure the extracted contents include the file:

pulsenode_rbac.yaml

Step 2: Update the Namespace

Replace the DEFAULT_NAMESPACE value in the YAML file:

sed -i -e "s/DEFAULT_NAMESPACE/<pulse-namespace>/g" *.yaml

Step 3: Apply the RBAC Configuration

kubectl apply -f pulsenode_rbac.yaml

Step 4: Deploy PulseNode to the Pulse Cluster

Run the following command to deploy PulseNode:

curl --request PUT \ --url http://<Ingress API for the manager Server>/api/v1/mserver/deploy/pulsenode/<clustername> \ --header 'Authorization: Basic <base64-encoded-credentials>' \ --header 'Content-Type: application/json' \ --data '{ "extra_hosts": { "<IP_address 1>": "FQDN 1", "<IP_address 2>": "FQDN 2", "<IP_address 3>": "FQDN 3" } }'

Step 5: Remove PulseNode from the Pulse Cluster

  1. Remove PulseNode Deployment

curl --request PUT \ --url http://<Ingress API for the manager Server>/api/v1/mserver/remove/pulsenode/<clustername> \ --header 'Authorization: Basic <base64-encoded-credentials>'
  1. Delete the RBAC Configuration

kubectl delete -f pulsenode_rbac.yaml