13.3 Deploying Analytics Server Containers on Azure Kubernetes Services

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

  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 Access Manager helm chart (tar -xzvf Dashboard_50_HelmChart-1.0.1.tgz) to the Master node from Micro Focus Downloads.

  4. Unzip the Access Manager helm chart by using the following command:

    tar -xzvf Dashboard_50_HelmChart-1.0.1.tgz

  5. Configure the Ingress rules. See Configuring Ingress.

  6. 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.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 analytics-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 administration-console-IP> --set global.amsecret.adminName=<administrator-username> --set global.amsecret.adminPassword=<administrator-password>

    (Optional) If you want to use Ingress, then append the following string to the command:

    --set ingress.enabled=true

    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])?)*

    Administration Console IP

    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 want to use Ingress, then append the following string to the command:

    --set ingress.enabled=true

    NOTE:If you require replicas you can use the command --set replicaCount=1. The replica count number depends on how many replicas are required.

    (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 analytics-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

      ingress

      (Optional)

      Specify enabled: true

      To configure Ingress rules, see Configuring Ingress.

      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 Access Manager:

      helm install --namespace <name-of-the-namespace> <release-name> analytics-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])?)*

  7. After you run the helm chart in Step 5, 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 pods deployment by running the following command:

    kubectl get statefulset,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 Access Manager pods

    Ready

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

    Explanation of the status:

    1/1 - Analytics Server 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 7 if the deployment is complete.

  8. Log in to Administration Console and access Analytics Server from the menu. (URL: https://<administration-console-IP>:2443/nps)