11.3 Deploying Analytics Server Containers on On-Premises Linux Servers

You can deploy Analytics Server containers on Kubernetes, installed on On-premises Linux servers, using the Helm charts.

You must have the following details to install Analytics Server:

  • Name of the namespace

  • Release name

  • IP address of the Administration Console

Run command kubectl get pods -o wide to view the name, IP address, status, and additional information of the available nodes. You need these details to run the helm install command.

Procedure to Install Analytics Server:

NOTE:During the installation, Analytics Server creates directory for data persistence. The default location of this directory is /mnt/<release-name>-am-dashboard.

NOTE:If the node contains multiple IP addresses, Kubernetes schedules the Analytics Server pod in the primary IP address. Therefore, you must ensure that the IP address you want to schedule the pod is the primary interface.

  1. Create a namespace under which you will deploy Analytics Server

    kubectl create namespace <name-of-the-namespace>

    NOTE:Creating a namespace is not mandatory. However, it is recommended to create one to deploy Analytics Server. For more information about namespace, see Kubernetes Keywords and Their Usage in Access Manager.

  2. Label the Kubernetes nodes using $ kubectl label node <name-of-the-node> nam.app/name=am-dashboard

    NOTE:Refer to Section 11.3.1, Label Nodes for more information.

  3. Download the Analytics Server helm chart (Dashboard_50_HelmChart-1.0.1.tgz) to the Master node from Micro Focus Downloads.

  4. Unzip the Analytics Server helm chart by using the following command:

    tar -xzvf Dashboard_50_HelmChart-1.0.1.tgz

  5. Run the helm chart by using one of the following approaches:

    • Approach 1: Specify the required values in the helm install command and run the command. In this approach, you specify the elements and the values after the --set string. The --set string overrides any value configured in the am-dashboard/values.yaml file.

    • Approach 2: Specify the required values in the am-dashboard/values.yaml file and run the helm install command.

    NOTE:Ensure that you execute the helm install command from the location where you have extracted the helm chart, which contains the am-dashboard directory.

    Approach 1

    Run the following command to install Analytics Server:

    helm install --namespace <name-of-the-namespace> <release-name> my-deployment --set global.amconfig.primaryAcIp=<primary-console-IP> --set global.amsecret.adminName=<administrator-username> --set global.amsecret.adminPassword=<administrator-password>

    Drafting a Sample Command

    Let us consider that the values of the command’s elements are as follows:

    Element

    Value

    Name of the Namespace

    as-deploy

    Release name

    my-deployment

    NOTE:You must use the following RegEx, which the Helm package manager enforces while assigning a release name:

    [a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*

    Primary Administration Console IP

    IP address of the Administration Console. Example: 10.10.10.11

    Administrator Username

    admin

    Administrator Password

    password

    Replica

    It is the number of replicas you require. You can set this using --set replicaCount=1. The replica count number depends on how many replicas are required.

    IMPORTANT:Ensure that the administrator username and password meet the Conditions for Creating Administrator Username and Password.

    Then the command will look as follows:

    $ helm install RELEASE_NAME my-deployment \
    --namespace NAMESPACE as-deploy \
    --set global.amconfig.primaryAcIp=10.10.10.11 \
    --set global.amsecret.adminName=admin \
    --set global.amsecret.adminPassword=password \
    

    (Optional) If you host the docker images on a separate repository, then append the following string to the command:

    --set global.image.repository=<path-of-the-Analytics-Dashboard-docker-images-repository>

    (Optional) If you use a private registry, then you must also specify the registry’s username and password. Append the following string to the command:

    --set global.image.pullSecrets.name=<registry-username> --set global.image.pullSecrets.password=<registry-password>

    Approach 2

    Configure the values and run the helm chart:

    1. Open the am-dashboard/values.yaml file.

    2. Specify the following details:

      Element

      Value

      repository

      (Optional)

      Path of the Analytics Server Docker images

      pullPolicy: IfNotPresent

      (Optional)

      If you are using a private registry, then replace pullPolicy: IfNotPresent with pullPolicy: Always

      pullSecrets

      (Optional)

      If you are using a private registry, then specify the registry’s username and password

      primaryAcIp

      IP address of the primary Administration Console

      adminName

      Administrator Username

      adminPassword

      Administrator Password

      Replica

      It is the number of replicas you require. You can set this using --set replicaCount=1. The replica count number depends on how many replicas are required.

      IMPORTANT:Ensure that the administrator username and password meet the Conditions for Creating Administrator Username and Password.

    3. Run the following command to install Analytics Server:

      helm install --namespace <name-of-the-namespace> <release-name> am-dashboard

      NOTE:You must use the following RegEx, which the Helm package manager enforces while assigning a release name:

      [a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*

  6. After you run the helm chart in Step 4, you get a message that Analytics Server is installed. However, the Analytics Server pods are not yet deployed. The deployment of pods takes about 10 minutes.

    Check the progress of the pod deployment by running the following command:

    kubectl get pods --namespace <name-of-the-namespace>

    An output similar to the following is displayed:

    nadmin@kube-master:~/kubernetes$ kubectl get statefulset,pods --namespace deployment
    NAME                                     READY   AGE
    statefulset.apps/access-manager-am-dashboard    1/1     18h
    NAME                          READY   STATUS    RESTARTS   AGE
    pod/access-manager-am-dashboard-0    1/1     Running   0          18h
    nadmin@kube-master:~/kubernetes$

    The following table describes the output:

    Title

    Description

    Name

    Name of the Analytics Server pods

    Ready

    This column displays the deployment status of the Analytics Server containers in the pod.

    Explanation of the status:

    1/1 - Dashboard container is deployed

    Status

    After the containers are pulled from the repository, and the configuration starts, the status changes to Running. However, it does not mean that the pods deployment is complete. Check the Ready column to verify the deployment status.

    Restarts

    Number of time that the pod has restarted

    Age

    Amount of time that the pod is alive

    If the deployment does not complete in 10 minutes, proceed to Checking the Status of Access Manager Resources or Troubleshooting Access Manager Container Deployment.

    Proceed to Step 6 if the deployment is complete.

  7. Log in to Administration Console and access Analytics Server from the menu.

11.3.1 Label Nodes

Analytics Server cannot run on nodes where the Access Manager components such as, Administration Console is already present. To ensure that Access Manager and Analytics Server deployments are separate, you must label the nodes to identify where they should run to avoid conflict. You must label all the nodes where the pods would be running.