Installing BMC Helix Platform services 23.1.02
The following services provided by BMC Helix Platform are used by BMC Helix IT Service Management:
- Infrastructure services
- Common services
- BMC Helix Dashboards
- BMC Helix ITSM Insights
- AR services
Important
If you install BMC Helix ITSM Insights, you must apply the BMC Helix Platform services 23.1.02 hotfix 1 after you install BMC Helix Platform services to 23.1.02 version.
Before you begin
To create a namespace
Run the following command. The namespace must be a DNS-1123 label. That is, it must consist of lowercase alphanumeric characters or '-', and must start and end with an alphanumeric character.
kubectl create ns <namespace>
Important
In BMC Helix Platform services 23.1.02, BMC Helix Logging (Elasticsearch, Fluent Bit, and Kibana) is deployed in the BMC Helix Platform namespace, and not in a separate namespace.
Verify that nothing is installed in the namespace in which you plan to deploy the product.
Run the following command:
kubectl get all -n <namespace_created_earlier_in_this_procedure>
Make sure that the following message is displayed:
No resources found.
To configure the Ingress controller
Identify the configmap name by running the following command:
kubectl get all -n <ingress_nginx_namespace>
Change 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: enable-underscores-in-headers: "true" proxy-body-size: 250m server-name-hash-bucket-size: "1024" ssl-redirect: "false" use-forwarded-headers: "true" worker-processes: "40"
To install BMC Helix Platform services
- Log in to the controller or bastion system from where the Kubernetes cluster is accessible.
- Download the deployment manager BMC_Helix_Platform_Services_for_Service_Management_Version_23.1.02.zip from BMC Electronic Product Distribution (EPD) and extract it, if you haven't already.
To download the deployment manager from EPD, see Downloading the installation files.
The ZIP file contains the following files:- helix-on-prem-deployment-manager-23.1.02.sh—This file contains the deployment manager.
- hotfix-23.1.02.001-1.tar.gz—This file contains the 23.1.02 hotfix 1 artifacts.
- helix-on-prem-deployment-manager-23.1.02.sh—This file contains the deployment manager.
Go to the directory where you downloaded the deployment manager from the EPD and give the execute permission to the helix-on-prem-deployment-manager-23.1.02.sh file.
Self-extract the deployment manager. Run the following command:
./helix-on-prem-deployment-manager-23.1.02.sh cd helix-on-prem-deployment-manager
Prepare for password encryption.
- Go to the commons/certs directory and open the secrets.txt file.
Add the following passwords to this file:
Parameter Description Sample value IMAGE_REGISTRY_PASSWORD Password for the Docker registry. 5016adc4-993f-4fc5-8fb0-8ef6b02ca9d3 SMTP_PASSWORD Password to connect to the SMTP server.
In the configs/infra.config file, if the value of the
SMTP_AUTH
parameter file isNONE
, leave theSMTP_PASSWORD
value blank as shown below:SMTP_PASSWORD=""
password123 SMART_SYSTEM_PASSWORD Password to connect to the BMC Discovery appliance.
password123 PG_PASSWD Password to connect to the PostgreSQL database.
password123 KIBANA_PASSWORD Password to connect to BMC Helix Logging (EFK).
kibana123 MINIO_ACCESS_KEY Password to access MinIO.
admin MINIO_SECRET_KEY Password to connect to MinIO.
bmcAdm1n ES_JKS_PASSWORD Password to connect to Elasticsearch.
Important: If you are using a custom CA certificate, specify the password, else specify the value as ES_JKS_PASSWORD=""
test@1234 Save the secrets.txt file.
Troubleshooting tip
Make sure that you provide all passwords in the secrets.txt file. Even if a single password is not added in the secrets.txt file, the deployment fails with an error.
Sample secrets.txt file# cat commons/certs/secrets.txt
#Please put the passwords in this file
IMAGE_REGISTRY_PASSWORD=password123
SMTP_PASSWORD=""
SMART_SYSTEM_PASSWORD=password123
PG_PASSWD=pGtest2020
KIBANA_PASSWORD=kibana123
MINIO_ACCESS_KEY=admin
MINIO_SECRET_KEY=bmcAdm1n
ES_JKS_PASSWORD=test@1234
################## End OF THE FILE ####################
In the helix-on-prem-deployment-manager/configs/infra.config file, modify the following parameters that are environment-specific.
Important
- The following load balancer hosts are required. You do not need any subdomains.
- LB_HOST
Ensure that the LB_HOST value is not the same as the tenant URL. - TMS_LB_HOST
- MINIO_LB_HOST
- MINIO_API_LB_HOST
- KIBANA_LB_HOST
- Tenant URL that is derived based on the following parameters from the infra.config file:
$COMPANY_NAME-$TENANT_TYPE-$ENVIRONMENT.$DOMAIN
- LB_HOST
- Make sure that you have created a storage class.
BMC supports a Bring-Your-Own-Storage-Class model, for any block storage supporting high performance IOPS. NFS is not supported for persistent volumes. CephRBD is certified by BMC.
Parameter
Example Value
Description
IMAGE_REGISTRY_HOST
(or local repo if copied down)
Image registry from where the nodes on the cluster download the images.
If you have synchronized the images to a local Harbor registry, make sure the Harbor registry is set up with HTTPS.
IMAGE_REGISTRY_USERNAME
User name to log in to BMC DTR.
If you use a local Harbor registry to synchronize with BMC DTR, specify the user name to log in to your local registry.
ENVIRONMENT
poc Type of environment such as poc, dev, and qa.
Do not use special characters for the environment value.
You can use the same environment value while performing the BMC Helix IT Service Management installation.
NAMESPACE
dark-helmet
Namespace in which to install the services.
You must have separate namespaces to install BMC Helix Platform services and BMC Helix Innovation Suite and applications.
LB_HOST
Host for load balancer for BMC Helix Innovation Suite.
Specify the BMC Helix Innovation Suite URL.
LB_PORT
443
Port for load balancer. TMS_LB_HOST
Host for tenant management system.
Specify the host of the load balancer that points to the tenant management system service.
Domain
Domain name of the Load Balancer
MINIO_LB_HOST
minio-private-poc.mydomain.com URL for Minio storage.
MINIO_API_LB_HOST
minio-api-poc.mydomain.com Use MinIO API ingress to create buckets by using the command line.
CLUSTER_TYPE
""
Either openshift or ocp for OpenShift.
If CLUSTER_TYPE is not set to openshift or ocp, cluster type is treated as a Kubernetes cluster.
COMPANY_NAME
photon2
Parameter in the tenant URL formation like $COMPANY_NAME-$TENANT_TYPE-$ENVIRONMENT.$DOMAIN
Do not use special characters for the Company name.
COMPANY_NAME value is used to generate the tenant URL.
TENANT_EMAIL
Email address of the admin user of initial tenant. TENANT_FIRST_NAME
TestName
First name of the admin user for initial tenant. TENANT_LAST_NAME
TestLastName
Last name of the admin user for initial tenant. TENANT_TYPE
tyrion
Unique identifier of the tenant.
The COMPANY_NAME value is used as the tenant name. In addition to the tenant name, use the TENANT_TYPE parameter to identify the tenant.TENANT_DOMAIN_HOST
acme-private-poc.acme.com The tenant domain. This URL is for BMC Helix Portal.
This is a required parameter.
This parameter must be in the following format:
$TENANT_NAME-$TENANT_TYPE-$ENVIRONMENT$.DOMAIN
COUNTRY
"United States"
Matches the value in the OS locale.
Important
- Add the country name within quotation marks. For example:
"India"
Do not use abbreviation in country names.
Click here to view a list of the supported country names.
NFS_STORAGE_CLASS
"" Blank ""
This parameter is not required for BMC Helix IT Service Management.
SMTP_HOST
mailhost.mycompany.com
SMTP host name of IP address accessible from cluster.
SMTP parameters are required for the emails that are sent to the administrator for tenant activation after the BMC Helix Platform deployment is complete.
All SMTP mail servers are supported.
To use a temporary SMTP server to receive BMC Helix Platform services installation emails, see the knowledge article 000396217
.
SMTP_PORT
25
An integer value for the port of the SMTP server.
SMTP_USERNAME
abc@mycompany.com
User name to connect to the SMTP server.
If
SMTP_AUTH
value is set toNONE
, keep theSMTP_USERNAME
andSMTP_PASSWORD
values blank as shown below:SMTP_USERNAME=""
SMTP_PASSWORD=""
SMTP_FROM_EMAIL
helix-rd@mycompany.com
A valid email ID for the From address in all emails
This parameter is required.
SMTP_TLS
"false"
The SMTP server TLS. The value can be
true
orfalse
.
If not in use, specify the value asfalse
.SMTP_AUTH_DASHBOARD
true
True
orfalse
.SMTP_AUTH
PLAIN
One of the following values:
PLAIN
This value is case sensitive. If you set the value asPLAIN
, it is mandatory to set valid values forSMTP_USER
andSMTP_PASSWORD
.LOGIN
This value is case sensitive. If you set the value asLOGIN
, it is mandatory to set valid values forSMTP_USER
andSMTP_PASSWORD
.NONE
This value is case sensitive. Use this value when you want to skip SMTP authentication. If you set the value asNONE
, set the user name and password values as shown below:SMTP_USERNAME=""
SMTP_PASSWORD=""
OPS_GROUP_EMAIL
ops-grp@mycompany.com
ops email address.
All emails related to tenant activities such as tenant creation, tenant registration, and tenant offboarding are sent to your organization's operations team.
APPROVAL_GROUP_EMAIL
grp-rd@mycompany.com
Email address for approval.
When a new tenant is created, an email is sent for tenant approval to this email group.
PG_STORAGE_CLASS
ceph-block-storage
Storage class used. Usually there is one Storage class configured for all the infra services. Please repeat the same value in that case
VMSTORAGE_STORAGE_CLASS
onprem-storage
Storage class for VictoriaMetrics. VMAGGSTORAGE_STORAGE_CLASS
onprem-storage
Storage class for VictoriaMetrics. ES_MASTER_STORAGE_CLASS
block-store-class Storage class for Elasticsearch master nodes ES_DATA_STORAGE_CLASS
block-store-class Storage class for Elasticsearch data nodes. MINIO_STORAGE_CLASS
onprem-storage
Storage class for Minio. EFS_STORAGE_CLASS
"" Blank "" REDIS_HA_GLOBAL_STORAGECLASS
block-store-class Storage class for REDIS. KAFKA_STORAGECLASS
block-store-class Storage class for Kafka. ESLOG_MASTER_STORAGE_CLASS
block-store-class Storage class for Elasticsearch log. ESLOG_DATA_STORAGE_CLASS
block-store-class Storage class for Elasticsearch log. MINIO_STORAGE_CLASS
acme-block-storage
Storage class for MinIO.
Usually, a single storage class by using block storage is configured for all the infra services. Repeat the same value if configured in this manner.
AIOPS_STORAGE_CLASS
"" Blank "" CUSTOM_CA_SIGNED_CERT_IN_USE
false Default value is
false
.If you are using a self-signed or custom CA certificate, set the value to
true
. Copy the self-signed or custom CA certificate in the commons/certs/ directory. Ensure that the file name of the certificate is custom_cacert.pemImportant: 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 IT Service Management installation.
OPT_STORAGE_CLASS
"" Blank "" REPOPV_MOUNT_PATH
"" Blank "" MIGRATORPV_MOUNT_PATH
"" Blank "" ETLPV_MOUNT_PATH
"" Blank "" CLIENT_ROOT_CERT
"" Blank "" SMART_SYSTEM_USERNAME
"" Blank "" INGRESS_CLASS
nginx
Ingress class used while deploying Ingress controller. Change if multiple ingress controllers are on the cluster.
If you have more than one ingress controllers in your cluster, use INGRESS_CLASS to specify the ingress class name that you want to use.
INGRESS_API_VERSION
true
True
if your Ingress controller version is 1.2.0 or higher.HELM_BIN
/usr/local/bin/helm
Absolute path of the HELM binary.
KUBECTL_BIN
/usr/bin/kubectl
Absolute path of the kubectl binary.
OC_BIN
/usr/local/sbin/oc
Set if CLUSTER_TYPE is openshift or ocp.
KIBANA_LB_HOST
The BMC Helix Logging ingress uses this value. This value depends on the self-signed, CA-signed certificate, or custom certificate.If the value of theCUSTOM_CA_SIGNED_CERT_IN_USE
parameter istrue
, use the DNS configured for the self-signed certificate.If the value of theCUSTOM_CA_SIGNED_CERT_IN_USE
parameter isfalse
, use the DNS configured for the CA-signed certificate.If the value of theCUSTOM_CA_SIGNED_CERT_IN_USE
parameter istrue
, use the DNS configured for the self-signed certificate.RSSO_CUSTOM_JAVA_KEYSTORE_IN_USE
If you want to use custom JAVA keystore for RSSO SAML keystore configuration, set variableRSSO_CUSTOM_JAVA_KEYSTORE_IN_USE
to true.Perform the following steps:- Set the
RSSO_CUSTOM_JAVA_KEYSTORE_IN_USE
variable to true. - Rename the java keystore file to rsso_custom_java_keystore.
- Save this file in the commons/certs directory. The path of this file would be: commons/certs/rsso_custom_java_keystore
The commons/certs/rsso_custom_java_keystore file will be mounted in the RSSO container at the following location: /etc/rsso_custom_java_keystore
RUN_AS_USER
null
Set the security context that the infrastructure components must use to enforce security.
Set this parameter only if the value of the
CLUSTER_TYPE
variable is openshift or ocp.
If the value of theCLUSTER_TYPE
variable is kubernetes, set the value of this parameter to null.Set the correct context for this variable according to the OpenShift namespace.
For example, in OpenShift namespace, run the following command to get the ID range:oc describe namespace <namespace-name>
After you run the command, look for the following line in the output:
openshift.io/sa.scc.uid-range: 1000670000/10000
Copy 1000670000 for RUN_AS_USER, RUN_AS_GROUP and FS_GROUP.Important:
The command and output changes for each namespace.FS_GROUP
null
Set the security context that the infrastructure components must use to enforce security.
Set this parameter only if the value of the
CLUSTER_TYPE
variable is openshift or ocp.
If the value of theCLUSTER_TYPE
variable is kubernetes, set the value of this parameter to null.Set the correct context for this variable according to the OpenShift namespace.
For example, in OpenShift namespace, run the following command to get the ID range:oc describe namespace <namespace-name>
After you run the command, look for the following line in the output:
openshift.io/sa.scc.uid-range
: 1000670000/10000
Copy 1000670000 for RUN_AS_USER, RUN_AS_GROUP and FS_GROUP.Important:
The command and output changes for each namespace.RUN_AS_GROUP
null
Set the security context that the infrastructure components must use to enforce security.
Set this parameter only if the value of the
CLUSTER_TYPE
variable is openshift or ocp.
If the value of theCLUSTER_TYPE
variable is kubernetes, set the value of this parameter to null.Set the correct context for this variable according to the OpenShift namespace.
For example, in OpenShift namespace, run the following command to get the ID range:oc describe namespace <namespace-name>
After you run the command, look for the following line in the output:
openshift.io/sa.scc.uid-range: 1000670000/10000
Copy 1000670000 for RUN_AS_USER, RUN_AS_GROUP and FS_GROUP.Important:
The command and output changes for each namespace.OPT_FSGROUP
""
Blank ""
This parameter is not required for BMC Helix IT Service Management.
ML_FSGROUP
""
Blank ""
This parameter is not required for BMC Helix IT Service Management.
CUSTOM_SERVICEACCOUNT_NAME
helix-onprem-sa
Specify the custom service account name.
If you have cluster admin permissions to create ServiceAccount, Role, or RoleBinding,
retain theCUSTOM_SERVICEACCOUNT_NAME
value as helix-onprem-sa, which is the default value.
If you do not have permissions to create ServiceAccount, Role, or RoleBinding, create a ServiceAccount and assign it toCUSTOM_SERVICEACCOUNT_NAME
by replacing the
default value of helix-onprem-sa.- Create a role and rolebinding from the commons/yaml_files/role_rolebinding.yaml file.
- Create a ServiceAccount from the file commons/yaml_files/serviceAccount.yaml file.
- Before you create a ServiceAccount, Role, or RoleBinding,
you must replace_SERVICE_ACCOUNT_
with value ofCUSTOM_SERVICEACCOUNT_NAME
variable,
and replace_NAMESPACE_
with value ofNAMESPACE
variable.
- The following load balancer hosts are required. You do not need any subdomains.
In the helix-on-prem-deployment-manager/configs/deployment.config file, modify the following parameters:
Parameter Required value Infra services options DEPLOYMENT_SIZE
small, compact, medium, large, itsmcompact or itsmsmall
If you do not want to install BMC Helix ITSM Insights, specify the value as
itsmcompact
oritsmsmall
._PTPOSTGRESS
yes
_KAFKA
yes
_REDIS
yes
_RSSO
yes
_ELASTICSEARCH
yes
VICTORIAMETRICS
yes
MINIO
yes
BMC Helix Dashboard services
HELIX_DASHBOARD_SERVICES
yes
BMC Helix ITSM Insights
(Optional)ITSMINSIGHT_SERVICES
yes
If you are not using ITSM Insights, set this parameter to
No
.AR System services
ARSERVICES
yes
BMC Helix Logging
BMC_HELIX_LOGGING
yes
Install the product by running the following command:
./deployment-manager.sh
After the BMC Helix Platform services are deployed, the tenant administrator receives the following emails:
- An email with details about the BMC Helix Platform account
- An email to change the BMC Helix Platform account password at the first login
All installation logs are located in the following directory:
helix-on-prem-deployment-manager/logs
To apply the hotfix
Important
Apply this hotfix only if you have installed BMC Helix ITSM Insights.
- Log in to the controller or bastion machine from where the Kubernetes cluster is accessible.
- Create a new directory; for example, ITOM_HotFix_23.1.02.001.
Copy the hotfix-23.1.02.001-1.tar.gz file that you downloaded from EPD to the new directory.
Extract the hotfix-23.1.02.001-1.tar.gz file by using the following command:
tar xvf hotfix-23.1.02.001-1.tar.gz
The hotfix-23.1.02.001-1.tar.gz file contains two files utils-23.1.02.001.tar.gz and hotfix-23.1.02.001-1.tar.gz.
Navigate to the hotfix directory by using the following command:
cd hotfix
- If you are using a local repository for accessing container images, make sure that you synchronize the images listed in the hotfix/new-image-list.txt to the local repository.
Run the hf_script.sh script:
bash hf_script.sh <full path of the helix-on-prem-deployment-manager directory>
Replace <full path of the helix-on-prem-deployment-manager directory> with the full path of the directory where you installed BMC Helix Platform services 23.1.02.
Example:bash hf_script.sh /data/23.1.02/helix-on-prem-deployment-manager
The hf_script.sh script creates a copy of helix-on-prem-deployment-manager in the path that you specified in the command and the directory is named helix-on-prem-deployment-manager_HF1.
For example, a new directory /data/23.1.02/helix-on-prem-deployment-manager_HF1 is created. No changes are made to the original directory helix-on-prem-deployment-manager.
Sample configuration files
Where to go from here
Next task | Proceed with Setting up the installation environment |
---|---|
Back to process | If you are finished setting up the installation environment, return to the appropriate installation, update, or upgrade process: |
Comments
Log in or register to comment.