Install Pulse Manager Server

The Pulse Manager Server is an API-driven service that helps you manage Pulse deployments.

This is responsible for:

  • Deploying Pulse databases on VMs or bare metal servers.
  • Managing cluster configurations
  • Interacting with Kubernetes to create and update the Custom Resources (CRs) YAML file.
  • Enabling the Pulse Operator to manage Pulse Service lifecycles based on the CRs automatically.

Pre-requisites

  • Have your Kerberos files, CA certs, and configuration files ready. For more information, see Set up Configuration Files.
  • Ensure the Ingress controller and rules are already installed and the Pulse services are reachable. For more information, see Ingress for Kubernetes (K8S).

Steps to Install

  1. Create a dedicated namespace for Pulse.

Create a dedicated namespace in your Kubernetes cluster to keep all Pulse resources organized and easily accessible.

Bash
Copy

This command creates a separate workspace in your cluster to group all Pulse-related resources.

  1. Create Docker Registry secret.

Follow these steps to allow Kubernetes to securely pull Pulse images from Acceldata’s private ECR.

Bash
Copy

This secret enables Kubernetes to authenticate with Acceldata’s private container registry and pull Pulse images securely.

  1. Download and extract the deployment K8S_tar.

Download and extract the K8S_tar file. It contains all the YAML files needed to deploy Pulse Manager.

Bash
Copy

These YAML files provide the necessary configuration for Kubernetes to deploy and manage Pulse services.

  1. Replace placeholders in YAML files.

Run the following sed commands to replace the DEFAULT_NAMESPACE and PULSE_REG placeholders with actual values in your configuration files.

Bash
Copy

These commands update the YAML files with your specific registry secret and namespace, ensuring the configuration is tailored to your environment.

  1. Add host entries in the pulse_manager_server.yaml deployment file.

If your Kubernetes cluster does not support DNS resolution for your database VMs or Hadoop nodes, you can manually add host entries in the pulse_manager_server.yaml file.

Add the following hostAliases section under the spec of the pod template:

Bash
Copy

This configuration allows the Pulse Manager Server to resolve database and Hadoop hostnames when DNS is not available in your Kubernetes environment.

  1. Update the required environment variables in YAML.

In the pulse_manager_server.yaml file, update the following environment variables:

  • Set the PULSE_HOSTNAME variable to your Ingress hostname.
  • Set the ADSTREAM_URL variable to your Ingress URL.
YAML
Copy

This configuration is essential for enabling proper service-to-service communication.

  1. Apply the configuration files.

Apply the RBAC policies: Sets up the necessary roles and permissions.

Bash
Copy

Apply the Custom Resource Definition (CRD): Registers the custom resources required by the Pulse Operator.

Bash
Copy

Deploy the Manager Server and Operator: Deploys the core Pulse components.

Bash
Copy

These steps deploy Pulse’s services and access controls into your Kubernetes cluster. This actually installs and starts the Pulse services.

  1. Verify the POD status.

After applying the deployments, check if both the Manager Server and Operator pods are running:

Bash
Copy

The response from kubectl get pods -n <pulse-namespace> must look like the following when both pods are running successfully:

Bash
Copy
  1. Verify that services were created.

To check whether the services have been successfully created, run:

Bash
Copy

You must see output similar to the following:

Bash
Copy

Detailed Recap with Purpose

StepWhat You DoPurpose / Why It Matters
1. Create a Namespacekubectl create ns <pulse-namespace>This creates a logical workspace in Kubernetes to organize and isolate all Pulse components. It avoids naming conflicts and makes it easier to manage, monitor, and clean up resources later.
2. Create Docker Registry Secretkubectl create secret docker-registry ...Pulse container images are stored in a private image registry. This secret provides the credentials so Kubernetes can download those images securely.
3. Download and Extract Setup FilesExtract k8s_tar containing YAML filesThese YAML files are predefined configurations for all required Pulse components. They act as blueprints that tell Kubernetes how to deploy the Manager Server, Operator, RBAC roles, and CRDs.
4. Replace Placeholders in YAMLssed -i -e "s/.../.../g"The YAML files contain generic placeholders. You replace them with actual values (namespace, registry secret) so that Kubernetes can deploy to the correct environment with the correct settings.
5. Add Host Entries (Optional)Add hostAliases in pulse_manager_server.yamlIf your K8s cluster lacks DNS or internal name resolution, these host aliases provide a manual hostname-to-IP mapping. This ensures Pulse Manager can still connect to DBs or Hadoop nodes.
6. Update PULSE_HOSTNAME and ADSTREAM_URLEdit env: section in YAMLThese environment variables set the hostnames Pulse Manager will use to expose itself and communicate with AD-Stream. This enables proper routing and communication through the Ingress layer.
7. Apply the YAML Config Fileskubectl apply -f ...This tells Kubernetes to start deploying all defined resources (RBAC, CRDs, Pods, Deployments, etc.) into the cluster. This is the actual installation step for running Pulse.
8. Verify Pod Statuskubectl get pods -n <namespace>This checks if the deployed components (like accelo-manager, controller-manager) are running as expected. If they aren’t, you can know there is a problem to debug.
9. Verify Service Creationkubectl get svc -n <namespace>Services expose the running Pulse pods to internal or external traffic. This step confirms if the services were correctly created, which is critical for Pulse's accessibility and integration.
Type to search, ESC to discard
Type to search, ESC to discard
Type to search, ESC to discard