This documentation supports an earlier version of BMC Helix IT Service Management on-premises deployment. To view the documentation for the latest version, select 23.3.04 from the Product version picker.


Deployment requirements checklist


Use the planning worksheets to design the installation and implementation of BMC Helix Service Management in your on-premises environment. 

Tip

To export the current page to Word format, from the Export menu in the upper-right, select Export to Word.


Requirements checklist

Use the following check list to plan and prepare for BMC Helix Service Management installation:

Category

Requirement

Description

Reference

Verification method

Expected outcome

Customer recorded outcome

Name of customer owner

Completion date

Status
(Not Started, 

In Progress, or Complete

)

Hardware

Master nodes

Check the overall deployment sizing requirements for your containerized such as total number of servers, total number of CPU, memory, and disk space.

BMC does not provide sizing guidelines for master nodes. You can configure the master nodes based on your environment requirements.







Master node disk space

Worker nodes

Check the overall deployment sizing requirements for your containerized such as total number of servers, total number of CPU, memory, and disk space.







Worker node disk space

Worker nodes must have minimum 150 GB free disk space.

Worker node solid-state drive (SSD)

We recommend that you use solid-state drive (SSD) with the following specifications:

  • Write latency 1ms
  • Read latency 1ms
  • Write Throughput 30 MBPS
  • Read Throughput 80 MBPS
  • IOPS Write 20K
  • IOPS Read 7K

PersistentVolumeClaim (PVC)

BMC Helix Platform uses the ReadWriteOnce and ReadWriteMany access modes.







Tanzu

If you are using Tanzu to manage your Kubernetes cluster, follow the instructions to install Tanzu in the VMware documentation.







Persistent volume disk minimum

The disk requirement for Compact, Small, Medium, and Large deployment sizes is 1.7 TB.







Deployment Engine

Check the BMC Deployment Engine requirements such as total number of CPU, memory, disk space, and operating system versions.







Disk Storage

Make sure that Kubernetes storage is in a Bound state and PCV is binding to the storage class.

Running in multiple zones in Kubernetes documentation

Create a PersistentVolumeClaim in Kubernetes documentation

Use the following command:

(For OpenShift) oc get pv -o wide (For Kubernetes)

kubectl get pv -o wide

Example command output:

STORAGECLASS       REASON   AGE    VOLUMEMODE
poc-matrix-pv              10Gi       RWX            Recycle          Bound    matrix/pvc 





High Availability (HA) and Disaster Recovery (DR)

Check how the containerized platform is built for HA and DR.

Running in multiple zones in Kubernetes documentation







Software

Java

Review the supported versions of Java for BMC Deployment Engine.







Known issues

Review the known issues for BMC Helix Service Management installation.







Password encryption

Prepare for password encryption by using the secrets.txt file properties.







Electronic Product Distribution (EPD) files

Download the BMC Helix Service Management installation artifacts and token to access the container images.

The installation files are available on
EPD.






Local Harbor Registry

BMC certifies the use of the open-source Harbor repository to synchronize the container images hosted on BMC Docker Trusted Registry (DTR). You can choose any container repository solution that is compatible with the BMC Helix Service Management installation. 







Deployment Engine

Set up the BMC Deployment Engine and check that the ports are open on the Jenkins server to communicate with the Kubernetes cluster. BMC Deployment Engine server must have internet access to run the automation script.

Use ss or nmap






Install sshpass

Use the following command:

which sshpass






Harbor repository

Check the system requirements to access images from a local Harbor repository.







Synchronize the Harbor repository with BMC DTR by using the access key from the EPD and verify by checking the image text files that contain the list of required container images.

Number of containers synchronized must equal to number of containers specified in the image text files.






Email Engine

A SMTP server is required to activate the tenant through email.

During the BMC Helix Platform services deployment, the deployment script, deployment-manager.sh, attempts to connect to an SMTP server and validate login. 

Use any SMTP server type that is able to communicate with the cluster.







Security certificates

DigiCert and R3 certificates.

Custom CA signed certificates and self-signed certificates are supported.







If you are using a self-signed or custom CA certificate, make sure that you use the same custom certificate during BMC Helix Platform and BMC Helix Service Management installation.







License Keys

After you install BMC Helix Service Management, you must obtain and apply a license key within three days.


Add license to AR System server.





BMC Helix Single Sign-On realm

You must create a BMC Helix Single Sign-On realm and configure BMC Helix Single Sign-On after you install BMC Helix Platform services.

Log in to BMC Helix Single Sign-On.

A new realm is created.





Network

Firewall policies

Update your firewall policies to enable access to BMC DTR. Use the following fully qualified domain names:

  • containers.bmc.com
  • containers-glb.bmc.com
  • containers-irl.bmc.com
  • containers-msr-irl.bmc.com

Ping or attempt to connect to hostnames.

All names are resolved.





Network

Register DNS records for what will become the RSSO Admin console, Helix Portal, TMS and MINIO systems.
For example, where "acme" is company name  "env" is poc and domain is "bmcmatrix.ie"

Helix Portal:  acme-private-poc.bmcmatrix.ie 
RSSO:  rssopoc.bmcmatrix.ie
TMS: tmspoc.bmcmatrix.ie 
MINIO: miniopoc.bmcmatrix.ie

The Helix Portal (Tenant URL) is derived from the following parameters in the infra.config file:

$COMPANY_NAME-$TENANT_TYPE-$ENVIRONMENT.$DOMAIN (use hyphens as indicated in the example)

All four DNS aliases must resolve to the load balancer IP.






Load balancer 

F5 Load Balancer or other Load Balancer.

The following load balancer SSL methods are supported:

  • SSL Offloading at the load balancer
  • SSL Passthrough to offload at the Ingress Controller
  • SSL Full Proxy
  • Allow X-Forwarded- Headers Upstream of Ingress
  • Reverse Proxy http back to https







DNS for applications

Make sure that you configure DNS for the BMC Helix Service Management applications so that you can access the applications by using the following URL format.







Kubernetes

Kubernetes

Review the supported Kubernetes versions for BMC Helix Service Management installation.







Helm

Review the supported Helm version for BMC Helix Service Management installation.







Functional

Test simple POD deployment.

Make sure that the Kubernetes cluster with master and worker nodes are fully functional before installation.

Installing kubeadm

Production environment in Kubernetes documentation

Test the deployment.

Make sure that the pods  are in a running  state and deployed across the nodes.





Kubernetes ports

Make sure that Kubernetes components can communicate with each other through the ports.

Ports and Protocols in Kubernetes documentation







Network Time Protocol (NTP)

Make sure that NTP or equivalent component is installed on the worker and master nodes.

IMPORTANT: Time synchronization with all BMC architecture components is done prior to installation.


ntpstat

  • Synchronized to NTP server (xxx.xxx.xxx.xxx) at stratum 2
  • Time correct to within 52 milliseconds
  • Polling server every 1024 seconds





Namespaces

Review the following requirements for the namespaces in your cluster: 

  • Namespace to install BMC Helix Platform services.
  • Namespace to install BMC Helix Service Management.

Use the following commands:

kubectl create ns <namespace name>
kubectl get ns
kubectl describe ns

Example command output:
kubectl get ns 

NAME                 STATUS   AGE
acme-helixplatform   Active   31s
acme-poc             Active   19s
bmc-helix-logging    Active   6s





Ingress

Nginx Ingress controller is used to distribute the load between the services.

Review the supported Ingress controller versions and the parameter value requirements in the nginx-configuration configmap.







Create a sample Ingress resource and test to ensure it's functioning with the load balancer.

Ingress in Kubernetes documentation

Use the following command:
kubectl describe cm nginx-configuration -n ingress-nginx






kubeconfig

Make sure that you copy the kubeconfig file to your Jenkins server and update the Jenkins kubeconfig credential to use it. Kubeconfig must contain correct cluster or security details to connect to the cluster. 

Important: A new copy of the kubeconfig file must be uploaded to the Kubeconfig account in Jenkins before the installation otherwise authentication may fail if an idle connection is detected.

Use the following command:

kubectl config view






Persistent or Elastic Storage

BMC supports a Bring-Your-Own-Storage-Class model, for any block storage supporting high performance IOPS.







Mapping Memory Limits

Increase maximum number of memory maps on each worker node.

For example:

# echo vm.max_map_count=262144 > /etc/sysctl.d/es-custom.conf

# sysctl -w vm.max_map_count=262144

Maximum map count check in Elastic documentation.







Metrics server

BMC Helix Platform uses the HorizontalPodAutoscaler (HPA) for its services so that the product can scale based on the customer usage. For the HPA to function, Kubernetes must expose metrics that are used to trigger scaling activities, for which a Metrics Server is required.







OpenShift

OpenShift

Review the prerequisites to install BMC Helix Service Management in an OpenShift cluster.

Make sure that the OpenShift cluster has access to the NGINX Ingress controller or operator.

Use the following commands:
kubectl get ns

kubectl get pod -n OpenShift-ingress-operator


Sample command output:
OpenShift-ingress Active 20d
OpenShift-ingress-operator Active 20d

NAME READY STATUS RESTARTS AGE
ingress-operator-7f6bf4f94b-bzrv5 2/2 Running 0 20d





Database

Unicode

BMC supports BMC Helix Service Management installation only with Unicode. Before you install BMC Helix Service Management, make sure that your database is configured to use Unicode.







Database

Database

Prepare the database.

Make sure that all the Kubernetes worker nodes have access to the database and the database host entry is configured to include the IP range of the Kubernetes worker nodes.

Download a database client on the worker nodes and validate connections to the external database.







If you are using AKS, EKS, or GKE cluster, validate the database type and version is supported.







Backup

Snapshot or backup

We recommend that you take snapshots of all the master and worker nodes before performing the BMC Helix Service Management installation.

NA

Snapshot for all the master and worker nodes in the OpenShift or Kubernetes cluster.

In addition snapshot for Discovery before starting the deployment.

Confirm if an action is taken.
Yes or No





Deployment

BMC Helix Platform configuration files parameters

Review the BMC Helix Platform parameters in the infra.config and deployment.config files.







Deployment 

Installation pipeline

Review the BMC Helix Service Management installation pipeline parameters.







Environment validation and troubleshooting

Helix IS Triage Tool

The Helix IS Triage Tool helps you validate that your environment is configured correctly and troubleshoot  BMC Helix Service Management installation and postinstallation issues. The Helix IS Triage Tool artifacts are available in the BMC Helix Containerization Group on BMC Community. Alternatively, you can contact BMC Support and log a support case to obtain the tool artifacts.









 

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