Installing on OpenShift using Helm charts
You can install HCL™ Accelerate on OpenShift using Helm charts.
Before you begin
- Docker installed on the host system. Note: If you use Docker for Windows, make sure Docker is using Linux-type containers. HCL™ Accelerate does not support Windows-type containers.
- Internet connection. During installation, files and container
images are retrieved from remote locations. If you are unable to
access the internet during installation, you can download the
files beforehand and perform an offline installation.
HCL™ Accelerate supports the following browsers: Chrome, Firefox, and
Edge.Note: These steps are only required if users are using the online installer to push images to an offline docker registry:
Use
pull
command to pull the container images from public repository.$ docker pull public repo
Use
tag
command to tag the public and private repository.$ docker tag public repo private repo
Use
push
command to push container images to private repository.$ docker push private repo
All the container images are retrieved from public to private repository.
In addition to the requirements for all installation scenarios, you need the following items:
- Configured OpenShift client instance. This topic uses Minishift for local instance installations.
- OpenShift command line tool, OC, installed on the client.
- Create an OpenShift project where you can install HCL™ Accelerate.
- Access to the PEM-format certificate and private key that you can use to configure OpenShift routes.
- Create new
accelerate-image-secret
if required. - Master node: 2 vCPU, 8 GB RAM, 30 GB storage.
- Other nodes: 1vCPU, 8 GB RAM, 15 GB storage.
About this task
The product installation requires an existing MongoDB database for data persistence. With the database, running the HCL™ Accelerate installer produces a Helm chart that is applied to the Kubernetes environment and instantiate the Kubernetes resources that comprise HCL™ Accelerate.
Additionally, you can configure an SSL certificate. If required, you can use Ingress instead of a Route.
To modify default parameters, installation options are configured with the --set
name=value
Helm syntax when creating the Helm release. Optionally, the
values.yaml
file is edited on the extracted Helm chart. Some options are not
exposed as Helm values and must be modified on the Kubernetes resources either by modifying the
extracted Helm chart templates, or patching them after the Helm release is created. For example, to
configure the ephemeral Argo pods for running integrations, you modify the
workflow-controller-configmap
ConfigMap in the
.../templates/configmap-workflow-controller.yaml file.
CustomResourceDefinitions
. If you do not have access, consult your OpenShift
administrator.Procedure
-
If you do not have a MongoDB database installed, install one now. Follow the instructions at
the MongoDB GitHub repository.
Sample command for installing MongoDB are as follows:
helm install accelerate-mongo --set containerSecurityContext.runAsUser=PUID, podSecurityContext.fsGroup=PUID,auth.rootPassword=password, --set image.tag=<mongodb_version_number> bitnami/mongodb
Note: To get PUID (Persistent), runoc describe project
command with the project name.For example, to get PUID of the project helm-again, run
oc describe project helm-again
. The variable uid-range displays the PUID of the project.Note: If Helm cannot find the chart, try running the following command:helm repo add bitnami https://charts.bitnami.com/bitnami
. If your organization uses a different repository, substitute it forbitnami/mongodb
.To verify the installation, you can use the following commands:helm list
helm status accelerate-mongo
To list all pods in the namespace, use the following command:
kubectl get pods
After the installation of MongoDB, use the below command to get the encrypted passwordkubectl get secrets accelerate-mongo-mongodb -o yaml
Search for the field
mongodb-root-password:
in encrypted password.Use the command
echo -n "mongodb-root-password-value" | base64 --decode
to decrypt the encrypted password.Use decrypted password to connect the application.
- Run the downloaded executable file.
-
Run the installation script and respond to the prompts as described in the following
steps.
When the script starts, you are prompted to accept the license. You can explicitly accept the license without viewing it by appending the following parameter to the command:
./<accelerate-installation-file> --license=accept
-
To login, perform the following procedure,
-
Note: If you are installing HCL™ Accelerate in an Amazon elastic Kubernetes service cluster, change the version of Kubernetes fromDetermine the configuration properties you can set for the helm install command with:
kubeVersion:'>=1.11.0'
tokubeVersion:'>=1.11.0-r0'
inchart.yml
file.helm show values /my\_installation/version\_number/accelerate-version.tgz
The following code fragment displays a typical command:helm install accelerate \ ./accelerate-<version>-helm.tgz \ --set runAsUser=PUID \ --set license=accept \ --set access.key=my_access_key \ --set url.domain=my_hostname \ --set mongo.url=mongodb://root:password@accelerate-mongo-mongodb:27017
Note: To get PUID (Persistent), runoc describe project
command with the project name.For example, to get PUID of the project helm-again, run
oc describe project helm-again
. The variable uid-range displays the PUID of the project.Note: The unique nameuc-accelerate
identifies the installed Helm release.Properties depend on your environment. The following properties are required. The optional properties are given later.
- access.key
- The product access key obtained earlier.
- runAsUser
- The PUID (Persistent Unique Identifier) obtained using
oc describe project
command. - url.domain
-
The hostname of your node or the Ingress host name.Note: This must match the hostname specified in the installer.
- mongo.url
- The URL of the MongoDB. Specify the following parameters.
- username
- The user ID to authenticate with the MongoDB database. For example, mongo.
- password
- The associated password to authenticate with the MongoDB database. For example, mongo.
- authSource
- If you connect to an authenticated MongoDB database, you can use authSource to specify the database where authenticated users are defined. For example, if the admin user is defined in the admin database, you can use mongodb://root:password@accelerate-mongo-mongodb?authSource=admin.
- port
- The port number for the MongoDB database. Use the value shown in the example, which is 27017.
- service_name
- The MongoDB URL or the MongoDB service name if it is running within the Kubernetes cluster. For example, accelerate-mongo-mongodb.
- database_name
- The name of the database to be used by HCL™ Accelerate. For example, accelerate.
Note: If you used the install command in the previous step to install the MongoDB, use the following values for the mongo.url property.--set mongo.url=mongodb://mongo:mongo@accelerate-mongo-mongodb:27017
If you use the default Bitnami MongoDB, ensure to grant the MongoDB user full write privileges.Note: If the MongoDB connection string URL contains authentication or any sensitive information, omit it as a value during install and refer to it as a Kubernetes Secret where the secret must have a key password with a value equal to the MongoDB connection string. In that case, ensure thesecrets.database
values are the same as the value of the secret name containing the database connection string.
-
Run the
helm install
command to install the HCL™ Accelerate images into your Kubernetes cluster.After you run the command, Kubernetes displays status information about the installation.
What to do next
When all the containers have the status of running
, the installation is complete
and you can access
HCL™ Accelerate at the URL you specified in the Helm chart. You can refresh the status display by using the
following kubectl command: kubectl get pods
. The default admin user name is
admin and the default password is what was specified in the installer.
loglevel
are optional:ALL
DEBUG
INFO
WARN
ERROR
FATAL
OFF
ALL
.