Deploying BMC Helix IT Operations Management in an Azure Kubernetes Service cluster


You can deploy BMC Helix IT Operations Management in an Azure Kubernetes Service (AKS) cluster if you use AKS to manage your Kubernetes platform.

macro:idReference installation architecture

The following image shows the reference logical architecture used by BMC to deploy BMC Helix IT Operations Management in an AKS cluster:

Important

BMC provides general guidelines to install BMC Helix IT Operations Management in an Azure Kubernetes Service cluster based on the following reference architecture used by BMC. Although you can choose any alternative architecture or installation options on this platform, BMC does not provide support for alternative options.

image-2023-8-23_10-33-31-1.png

macro:confluence_layout-cell

 

macro:idBefore you begin

  • Make sure you have a domain and have configured Domain Name System (DNS) for BMC Helix IT Operations Management so that you can access the applications by using URLs.
  • Make sure that you create a Secure Sockets Layer (SSL) certificate for BMC Helix IT Operations Management application URLs to support the HTTPS protocol.
    BMC certifies the use of the LetsEncrypt service to create the wildcard SSL certificate.
  • Review the system requirements for BMC Helix IT Service Management installation.
  • Download the installation files and container images access key from Electronic Product Download (EPD).

macro:confluence_layout-cell

 

macro:idProcess to install BMC Helix IT Operations Management in an AKS cluster

The following table lists the tasks to install BMC Helix IT Operations Management in an AKS cluster:

 

Entries 1 - 10 out of 11 page 12

 

Task

Action

Reference


1

Create and set up an AKS cluster

 

a

Create an AKS cluster by using the Azure portal.

b

Install and configure Kubernetes Ingress Nginx Controller.

2

Prepare for deploying BMC Helix IT Operations Management

 

a

Set vm.max.count on all worker nodes.

b

Set up BMC Discovery .

c

Configure the BMC Discovery DNS.

d

Configure access to BMC Discovery .

e

Enable the Network Time Protocol (NTP)-Time synchronization.

3

Install BMC Helix IT Operations Management

 

 

Install  BMC Helix IT Operations Management

Entries 1 - 10 out of 11 page 12

 

Data URI image

Data URI image

Data URI image

macro:confluence_layout-cell

 

Data URI image

Data URI image

macro:idData URI imagemacro:idData URI imageInstalling and configuring Kubernetes Ingress Nginx Controller

The Ingress Nginx Controller installation creates an Azure Standard load balancer for your cluster

To install and configure Ingress Nginx Controller, perform the following tasks:

  1. Install Kubernetes Ingress Nginx Controller
  1. Configure Ingress Ngnix Controller.
  2. Install TLS certificate.

Data URI image

Data URI image

macro:confluence_layout-cell

 

Data URI image

Data URI image

macro:idData URI imagemacro:idData URI imageTo install Ingress Nginx controller

  1. Based on the version of your Kubernetes, download one of the deploy.yaml  files for the NGINX Ingress Controller

    Nginx Ingress Controller 
    version

    Download Link

    1.7.0                                  

    https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.7.0/deploy/static/provider/cloud/deploy.yaml                                                    

    1.8.1                               

    https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.8.1/deploy/static/provider/cloud/deploy.yaml                                                       

    1.9.3

    https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.9.3/deploy/static/provider/cloud/deploy.yaml                                                       

    1.9.5                                                                    

    https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.9.5/deploy/static/provider/cloud/deploy.yaml                                                       

    1.9.6

  2. In the deploy.yaml file, modify the kind parameter value from Deployment to DaemonSet.
  3. Make sure that the namespace value for the ingress controller is ingress-nginx.
  4. Install Ingress Nginx controller by running the following command:
  1. kubectl apply -f deploy.yaml

    Data URI image

    Ingress controller is installed and a Public (Load balancing type) Standard (SKU) load balancer is created.

  2. To view the load balancer details, run the following command:

    kubectl get svc -n ingress-nginx

    Data URI image

    Example output of the command is as follows:

    NAME                                 TYPE               CLUSTER-IP     EXTERNAL-IP      PORT(S)                      AGE
    ingress-nginx-controller             LoadBalancer   10.0.140.244    20.253.121.236   80:30740/TCP,443:30802/TCP   3d21h
    ingress-nginx-controller-admission   ClusterIP          10.0.119.115    <none>           443/TCP                      3d21h

    Data URI image

    The EXTERNAL-IP is the IP address of external load balancer that is created in the Azure cloud.

  3. In the DNS records, make sure that you have configured the external IP as the target for application URL host names.
  4. Verify that the pods are running on each worker node.

    Worker nodes are added to the load balancer backend pools automatically as shown in the following example image:
    Backend pools.pngData URI image

Data URI image

Data URI image

macro:confluence_layout-cell

 

Data URI image

Data URI image

macro:idData URI imagemacro:idData URI imageTo configure Ingress Nginx Controller

  1. Identify the Ingress Nginx Controller configmap name by running the following command:

    kubectl get all -n <ingress_nginx_namespace>

    Data URI image

     

  2. Modify the configmap name to use the configmap in your environment by running the following command:

    kubectl edit cm <ingress_nginx_configmap> -n <ingress_nginx_namespace>

    Data URI image

    Example command output:

    data:
      enable-underscores-in-headers: "true"
      proxy-body-size: 250m
      server-name-hash-bucket-size: "1024"
      ssl-redirect: "false"
      use-forwarded-headers: "true"

    Data URI image

Data URI image

Data URI image

macro:confluence_layout-cell

 

Data URI image

Data URI image

macro:idData URI imagemacro:idData URI imageTo install TLS certificate

To install a Transport Layer Security (TLS) certificate in the Ingress Nginx Controller for TLS termination, perform the following steps:

  1. Create a secret with a certificate and key that you want to mount on the Ingress Controller pods by using the following command:

    kubectl create secret tls my-tls-secret --cert=/path/to/cert.pem --key=/path/to/privkey.pem -n ingress-nginx

    Data URI image

  2. Edit the daemonset by using the following command and add the secret in the args section.

    kubectl edit daemonset ingress-nginx-controller -n ingress-nginx

    Data URI image

    Example command output:

    ...     spec:       containers:       - args:         - /nginx-ingress-controller         - --publish-service=$(POD_NAMESPACE)/ingress-nginx-controller         - --election-id=ingress-controller-leader         - --controller-class=k8s.io/ingress-nginx         - --ingress-class=nginx         - --configmap=$(POD_NAMESPACE)/ingress-nginx-controller         - --validating-webhook=:8443         - --validating-webhook-certificate=/usr/local/certificates/cert         - --validating-webhook-key=/usr/local/certificates/key         - --default-ssl-certificate=ingress-nginx/my-tls-secret

    Data URI image

Data URI image

Data URI image

macro:confluence_layout-cell

 

Data URI image

Data URI image

macro:idData URI imagemacro:idData URI imagePreparing to deploy BMC Helix IT Operations Management

  1. Set vm.max.count on all worker nodes.
  2. Set up BMC DiscoveryData URI image .
  3. Configure the DNS.
  4. Configure access to BMC DiscoveryData URI image.
  5. Enable the Network Time Protocol (NTP)-Time Sync.

Data URI image

Data URI image

macro:confluence_layout-cell

 

Data URI image

Data URI image

macro:idData URI imageTo set up vm.max.count on all worker nodes

  1. Obtain the nodes in the cluster by running the following command:

    kubectl get nodes

    Data URI image

    Example output:

    aks-is1-31789813-vmss000001         Ready    agent   19m   v1.23.12

    Data URI image

  2. Configure the vm.max_map_count by running the followig command:

    kubectl debug node/aks-is1-31789813-vmss00000a -it --image=mcr.microsoft.com/dotnet/runtime-deps:6.0

    Data URI image

  3. In the debug container, run the following commands in the given order:

    chroot /host
    echo vm.max_map_count=262144 > /etc/sysctl.d/es-custom.conf
    sysctl -w vm.max_map_count=262144

    Data URI image

  4. Exit the debug container.

Data URI image

Data URI image

macro:confluence_layout-cell

 

Data URI image

Data URI image

macro:idData URI imageTo set up BMC Discovery

See Deploying a BMC Discovery virtual appliance into Microsoft Azure for instructions on setting up BMC DiscoveryData URI image.

Important

Microsoft Azure requires the disk image to be in the VHD format instead of the VMDK format, in which BMC Discovery is supplied. While converting the VMDK file to the VHD format, use fixed the VHD type to create a pre-allocated disk space.

Data URI image

Data URI image

Data URI image

macro:confluence_layout-cell

 

Data URI image

Data URI image

macro:idData URI imageTo configure the BMC Discovery DNS

Create a DNS alias for the URL created for BMC DiscoveryData URI imagewith the IP of the BMC DiscoveryData URI imagemachine in the following format:

COMPANY-disc-TENANT_TYPE-ENVIRONMENT.DOMAIN

Data URI image

where the COMPANYData URI imageTENANT_TYPEData URI imageENVIRONMENTData URI image, and DOMAIN Data URI imageparameters are derived from the helix-on-prem-deployment-manager/configs/infra.config file.

Example: acme-disc-private-poc.lab.bmc.comData URI image

For more information, see Configuration-file-settings.

Important

Ensure that the format of the URL is as shown in the above example.

Data URI image

Data URI image

Data URI image

macro:confluence_layout-cell

 

Data URI image

Data URI image

macro:idData URI imageTo configure access to BMC Discovery

  1. After BMC DiscoveryData URI image is set up and configured, ensure that BMC DiscoveryData URI image DNS alias is resolvable from all worker nodes.
  2. Allow the 443 and 25030-25033 ports from worker nodes to BMC DiscoveryData URI image virtual machine.
  3. From the worker nodes, ensure that the following telnet protocol works:

    telnet <Discovery Appliance DNS alias> 443/25030/25031/25032/25033

    Data URI image

     

  4. Ensure that BMC DiscoveryData URI image can access BMC Helix Single Sign-onData URI image and the BMC Helix PortalData URI image URLs.

Data URI image

Data URI image

macro:confluence_layout-cell

 

Data URI image

Data URI image

macro:idData URI imageTo enable the Network Time Protocol (NTP)-Time synchronization

For instructions, see Performing time synchronization.

Data URI image

Data URI image

macro:confluence_layout-cell

 

Data URI image

Data URI image

macro:idData URI imageWhere to go from here

Performing-the-post-deployment-procedures

Data URI image

Data URI image

macro:confluence_layout-cell

 

Data URI image

Data URI image

Data URI image

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*