Kubernetes Requirements
Optimizer Hub is available for x64 platforms only, however, supports connections from Zing JVMs running on both x86 and ARM 64-bit machines.
Deployment Modes
The resources Optimizer Hub requires depend on the mode you deploy:
-
Full: both Cloud Native Compiler and ReadyNow Orchestrator are available.
This is the default configuration. See Standard Optimizer Hub Installation Procedure on Kubernetes.
-
ReadyNow only: only ReadyNow Orchestrator is available.
Cloud Native Compiler is disabled, so the pods that serve compilation are not deployed and the overall footprint is smaller. See Installing Optimizer Hub without Cloud Native Compiler.
The Kubernetes Pods table shows which pods each mode requires.
Kubernetes Cluster
You can install Optimizer Hub on any Kubernetes cluster:
-
Kubernetes clusters that you manually configure with kubeadm:
-
Managed cloud Kubernetes services such as:
-
A single-node cluster:
Kubernetes Pods
The values below are the default, recommended sizes for each pod, as defined in the values.yaml file that is part of the Helm chart. Treat them as a starting point for a production deployment rather than as hard minimums.
The Required in column shows which deployment mode needs each pod. Pods marked Full only serve Cloud Native Compiler and are not deployed when you install without Cloud Native Compiler.
| Pod | CPU | RAM | Ephemeral storage | Required in |
|---|---|---|---|---|
Gateway |
7 |
28GB |
1GB |
All modes |
gwProxy |
7 |
1GB |
1GB |
All modes |
Management Gateway |
2 |
2GB |
1GB |
All modes |
Cache |
7 |
28GB |
1GB |
All modes |
Compile Broker |
7 |
28GB |
8GB |
Full only |
Operator |
1 |
2GB |
1GB |
Full only |
Ephemeral storage is temporary storage space allocated to Kubernetes pods that is non-persistent and exists only for the lifetime of the pod.
|
Note
|
These are default, recommended values, not minimums. Optimizer Hub can run below these settings, and how far you can reduce them depends on your specific load profile, such as the number of connected JVMs, the compilation rate, and the size of the ReadyNow profiles you store. Reducing CPU allocations in particular can reduce the performance of the Optimizer Hub environment. If you are unsure how far you can scale down for your workload, contact Azul support before changing these values in production. |
Kubernetes Nodes
The underlying Kubernetes nodes (either cloud instances or physical computers) have to be large enough to fit one or more of the pods. This means they need to provide a multiple of 8 vCores with 4GB of RAM per vCore. For example: 8 vCore with 32GB, 16 vCores with 64GB, etc.
|
Note
|
Ensure the instances you run your Optimizer Hub have enough CPU to handle your requests. For example, on AWS use m6 and m7 instances, and on Google Cloud Platform c2-standard-8 instances.
|