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.01 from the Product version picker.

Installing BMC Helix ITSM Service Management in a Google Kubernetes Engine cluster

You can install BMC Helix Service Management in a Google Cloud Platform Google Kubernetes Engine (GKE) cluster if you want to use GKE to manage your Kubernetes platform.


Related topics

Installing BMC Helix IT Service Management in an Amazon Elastic Kubernetes Service cluster

Installation process overview

Google Kubernetes Engine Open link

Skills required

  • Managing Kubernetes cluster
  • Using Google Cloud Platform

Reference installation architecture

The following image shows the reference logical architecture used by BMC to install BMC Helix Service Management in a GKE cluster:

Important

BMC provides general guidelines to install BMC Helix Service Management in a Google Kubernetes Engine 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.

Before you begin

Process to install BMC Helix IT Service Management in a GKE cluster

The following image provides an overview of BMC Helix Service Management installation in a GKE cluster:

The following table lists the tasks to install BMC Helix Service Management in a GKE cluster:

TaskActionReference

1

Create and set up a GKE cluster

a

Create a Kubernetes cluster by using the GKE service.

Important: BMC has certified using the Google Cloud Platform (GCP) Persistent Disk based default storage class standard-rwo available in the GKE Cluster. You can use the default storage class or create your own storage class.

Creating a private cluster Open link in Google Cloud documentation

Persistent volumes and dynamic provisioning Open link in Google Cloud documentation

Example of setting up a GKE cluster

b

Create a GCP virtual machine instance to function as the controller instance for BMC Helix Platform services installation.

Important: Select the same region and zone as you specified in the GKE cluster.

Creating and starting a VM instance Open link in Google Cloud documentation

cCreate a Network Address Translation (NAT) gateway to enable traffic to your private GKE network.

Set up and manage network address translation with Cloud NAT Open link in Google Cloud documentation

dCreate a cloud storage bucket to store installer files.

Create storage buckets Open link in Google Cloud documentation

e

Install and configure Kubernetes Ingress Nginx Controller.

2

Set up a database


Set up an external database for BMC Helix Innovation Suite.

Important: You can use a database of your choice. However, BMC has certified using the PostgreSQL 13 database by using GCP Cloud SQL Service.

Cloud SQL for PostgreSQL Open link in Google Cloud documentation

3

Set up BMC Deployment Engine


Set up BMC Deployment Engine to call the relevant BMC Helix Service Management installation pipelines that install the platform and applications.

Setting up BMC Deployment Engine

4

Install BMC Helix Platform services

a

Configure the Elasticsearch vm.max_map_count parameter to met the virtual memory requirements for Elasticsearch installation through BMC Helix Platform services installation.

To configure the virtual memory parameter for Elasticsearch
b

Install BMC Helix Platform services.

Important: Use the BMC Deployment Engine system as a controller instance to install BMC Helix Platform services.

5

Install BMC Helix IT Service Management


Install BMC Helix Innovation Suite platform and applications.

Setting up the installation environment

Performing the BMC Helix IT Service Management installation

Installing and configuring Kubernetes Ingress Nginx Controller

The Ingress Nginx Controller is a load balancer for your cluster

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

  1. Install Kubernetes Ingress Nginx Controller 1.2.0
  2. Create a secret and configure Ingress Controller.
  3. Update the Ingress ConfigMap.

To install and configure Kubernetes Ingress Nginx Controller

  1.  Install Kubernetes Ingress Nginx Controller 1.2.0 by using the following command:

    kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.2.0/deploy/static/provider/cloud/deploy.yaml

    Ingress Controller is deployed in the ingress-nginx namespace and an external load balancer is created. A network load balancer is provisioned in GCP by the Ingress Controller.

  2. To view the network load balancer, in the Google Cloud Console, navigate to the LOAD BALANCERS console.

To create a secret and configure Ingress Controller

For secure connections to a server, create a secret, and then add the certificate in Ingress Controller:

  1. Create a secret from the trusted certificate and key by using the following command:

    kubectl create secret tls my-tls-secret --cert=/path/to/cert.pem --key=/path/to/privkey.pem -n default
  2. In the Ingress Controller, in the args section, set the default certificate to my-tls-secret as shown in the following example:

    --default-ssl-certificate=ingress-nginx/my-tls-secret
  3. Set the ingress class value.
    For example:

    --ingress-class=knginx

    Important

    Make sure that you set the same ingress class value in the configs/infra.config file during the BMC Helix Platform services deployment.

    The ingress class value is used by the INGRESS_CLASS parameter in the HELIX_ONPREM_DEPLOYMENT pipeline during BMC Helix IT Service Management installation.

  4. Export the certificate and store the intermediate certificate R3(r3-intermediate.cer) as a base 64 encoded X.509 .cer file.
  5. Edit the certificate file, remove the new line, and save the file with a single line as the intermediate certificate.
  6. During the BMC Helix Platform services deployment, in the infra.config file, in the CLIENT_ROOT_CERT parameter, add the intermediate certificate.

To update the Ingress ConfigMap

Customize the NGINX configuration by updating the Ingress ConfigMap.

  1. Edit the Ingress ConfigMap by using the following command:

    kubectl edit  cm -n ingress-nginx ingress-nginx-controller
  2. Specify the following parameter values as shown in the example:

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

To configure the virtual memory parameter for Elasticsearch

For all worker nodes in your GKE cluster, set the vm.max_map_count parameter to 262144 before installing BMC Helix Platform services.

  1. In your GKE cluster, connect to the worker node through Secure Shell (SSH), and run the following command:

    gcloud compute ssh GKE cluster name --project=Project name --zone=Zone name

    For example:

    gcloud compute ssh gke-gke-cluster-1-pool-3-350f29d8-j1gf --project=sso-gcp-dsom-itom-pub-cc39770 --zone=us-central1-c
  2. Set the vm.max_map_count parameter to 262144.

Example of setting up a GKE cluster

The following example shows the procedure to set up an GKE cluster by using the Google Cloud Console:

  1. In the Google Cloud console, navigate to the Google Kubernetes Engine page, and click Create.
    See Create a zonal cluster by using the Google Cloud console Open link in Google Cloud documentation.
  2. Complete the Cluster basics section as shown in the following image:
  3. Complete the Networking section as shown in the following image:
  4. Complete the Features section as shown in the following image:
  5. After the GKE cluster is provisioned, scale the cluster by adding node pools.
    See Add and manage node pools Open link in Google Cloud documentation.


Was this page helpful? Yes No Submitting... Thank you

Comments