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:
-
Use external instances managed by you. You can configure this later, after your Optimizer Hub instance is started. See Using Your Own Prometheus and Grafana for more info.
-
Configure the integrated Prometheus and Grafana instances now, as these configurations are needed in the next step. See Using Integrated Prometheus and Grafana for more info.
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