Visit Azul.com Support

Standard Optimizer Hub Installation Procedure on Kubernetes

Optimizer Hub uses Helm as the deployment manifest package manager. There is no need to manually edit any Kubernetes deployment manifests. You can configure the installation overriding the default settings from values.yaml in a custom values file. Here we refer to the file as values-override.yaml but you can give it any name.

You should install Optimizer Hub in a location to which the JVM machines have unauthenticated access. You can run Optimizer Hub in the same Kubernetes cluster as the client VMs or in a separate cluster.

Installation Steps

These instructions are for installing the latest version of a full Optimizer Hub instance with both Cloud Native Compiler and ReadyNow Orchestrator. In case you don’t want to install all the Optimizer Hub services, check Installing Optimizer Hub without Cloud Native Compiler.

Step 1: Prepare Helm Repository

Make sure your Helm version is v3.8.0 or newer and add the Azul Helm repository to your Helm environment.

 
helm repo add opthub-helm https://azulsystems.github.io/opthub-helm-charts/ helm repo update

Step 2: Create Namespace

Create a namespace (i.e. my-opthub) for Optimizer Hub.

 
kubectl create namespace my-opthub

Step 3: Create Configuration File

Create a file values-override.yaml. Use this file to override all the default settings and adjust Optimizer Hub to your use case and environment.

Note
The following represents a minimal example of the override configuration required to deploy Optimizer Hub. To fully configure Optimizer Hub to match your use case and environment, more overrides are needed. Check Optimizer Hub Generic Defaults for more info.
 
# Custom cluster domain (if applicable) clusterName: "example.org" # Configure storage storage: # Available options: s3, azure-blob, gcp-blob blobStorageService: s3 # Depending on the type of storage, configure the extra settings s3: commonBucket: opthub-storage0

Step 4: Decide on the Monitoring Approach

Monitoring is a critical requirement for production environments. It provides essential visibility into the health and performance of the Optimizer Hub components, which is necessary for effective operation and troubleshooting. You can either:

Step 5: Execute Installation

Install using Helm, passing in the values-override.yaml file.

Optimizer Hub has releases for separate versions which are still maintained. Therefore, the "latest version" may not be the one you want to upgrade to, and it’s recommended to always specify the version you want to install.

Note
Check Installing Optimizer Hub without Cloud Native Compiler about the different modes you can use if you don’t need all services.
 
helm install opthub opthub-helm/azul-opthub \ -n my-opthub \ -f values-override.yaml \ --version 25.11.0

Or, when you configured the integrated Prometheus and Grafana in the previous step:

 
helm install opthub opthub-helm/azul-opthub \ -n my-opthub \ -f values-override.yaml \ -f ~/my-opthub/values-monitoring.yaml \ --version 25.11.0

This command should produce output similar to this:

 
NAME: opthub LAST DEPLOYED: Wed Jan 31 12:19:58 2024 NAMESPACE: my-opthub STATUS: deployed REVISION: 1 TEST SUITE: None

Step 6: Verify Installation

Verify that all started pods are ready with:

 
kubectl get all -n my-opthub