Installing Optimizer Hub 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.
Note
|
This section describes setting up an evaluation or developer version of Optimizer Hub without SSL authentication. To set up a production version with full SSL authentication, see Configuring Optimizer Hub with SSL Authentication. |
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.
Note
|
If you are upgrading an existing installation, make sure to check "Upgrading Optimizer Hub". |
Optimizer Hub Helm Charts
Azul provides Optimizer Hub Helm Charts on GitHub. You can download the full package as a zip.
Installing Optimizer Hub
These instructions are for installing a full Optimizer Hub instance with both Cloud Native Compiler and ReadyNow Orchestrator. In case you only want to install the full Optimizer Hub, but only a part of the services, see "Configuring the Active Optimizer Hub Services".
Note
|
By default, the Management Gateway is not installed. If you need cross-datacenter synchronization and REST APIs, make sure to check Configuring the Active Optimizer Hub Services > Enabling the Management Gateway. |
-
Install Azul Zing Builds of OpenJDK 21.09.1.0 or newer on your client machine.
-
Make sure your Helm version is
v3.8.0
or newer. -
Add the Azul Helm repository to your Helm environment:
helm repo add opthub-helm https://azulsystems.github.io/opthub-helm-charts/ helm repo update -
Create a namespace (i.e.
my-opthub
) for Optimizer Hub.kubectl create namespace my-opthub -
Create the
values-override.yaml
file in your local directory. -
If you have a custom cluster domain name, specify it in
values-override.yaml
:clusterName: "example.org" -
If you want specific labels being added to your Kubernetes objects, define them in your
values-override.yaml
, for example as follows:gateway: applicationLabels: # Additional labels for Deployment/StatefulSet podTemplateLabels: # Additional labels for POD serviceLabels: # Additional labels for Service -
Configure sizing and autoscaling of the Optimizer Hub components according to the sizing guide. By default, autoscaling is on and Optimizer Hub can scale up to 10 Compile Brokers. For example, you could set the following in your
values-override.yaml
file:simpleSizing: vCores: 32 minVCores: 32 maxVCores: 106 -
Configure the blob storage according to your environment in your
values-override.yaml
file:storage: # Available options: s3, azure-blob, gcp-blob blobStorageService: s3 # Depending on the type of storage, configure the extra settings s3: ... azureBlob: ... gcpBlob: ...For more detailed blob storage instructions, please check:
-
If needed, configure external access in your cluster. If your JVMs are running within the same cluster as Optimizer Hub, you can ignore this step. Otherwise, it is necessary to configure an external load balancer in
values-override.yaml
.For clusters running on AWS an example configuration file is available on Azul’s GitHub.
-
Install using Helm, passing in the
values-override.yaml
.helm install opthub opthub-helm/azul-opthub -n my-opthub -f values-override.yaml-
In case you need a specific Optimizer Hub version, please use
--version 1.10.0
flag. -
The 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
-
-
Verify that all started pods are ready:
kubectl get all -n my-opthub
Enabling the Management Gateway
The Management Gateway enables two pieces of functionality:
-
Access to REST APIs for managing ReadyNow profiles
-
Cross-region synchronization of ReadyNow Profiles
To enable the Management Gateway, set mgmtGateway.enabled
to true in value-override.yaml
, see Management Gateway Parameters for more info.