oneks_monitor_install - OpenNebula/cluster-api-provider-opennebula GitHub Wiki
OneKS Monitor Installation and Configuration
See OneKS Monitor Overview for an introduction to the component and the information it reports.
Helm chart
The OneKS Monitor chart is published in the CAPONE Helm repository:
Repository: https://opennebula.github.io/cluster-api-provider-opennebula/charts/
Chart: oneks-monitor
You can inspect the available versions with Helm:
helm repo add capone \
https://opennebula.github.io/cluster-api-provider-opennebula/charts/
helm repo update capone
helm search repo capone/oneks-monitor --versions
The Git release tag and Helm chart version use different formats. For example:
| Git tag | Helm chart version |
|---|---|
monitor-v0.1.0 |
0.1.0 |
Use the Helm chart version, without monitor-v, in the OneKS configuration.
Requirements
The workload cluster must be able to reach:
- The OneKS API endpoint configured for monitor callbacks.
- The OpenNebula XML-RPC endpoint.
ghcr.io, to download the monitor image.- The CAPONE Helm repository while installing the chart.
The cluster must provide the helm.cattle.io/v1 HelmChart resource and its
controller. This is included with RKE2.
Nodes must have a valid CAPONE providerID, and their OpenNebula VMs must
contain the OneKS cluster and Node Group metadata generated during cluster
creation.
OneKS configuration
Enable the integration in oneks-server.conf:
:monitor:
:endpoint: 'https://oneks.example.com/api/v1'
:chart_repo: 'https://opennebula.github.io/cluster-api-provider-opennebula/charts/'
:chart_version: '0.1.0'
Replace the endpoint and chart version with the values appropriate for the installation.
The endpoint must be an absolute HTTP or HTTPS URL reachable from every
workload cluster. Apply the OneKS service configuration according to the
installation's normal service-management procedure.
When this configuration is valid, OneKS enables the feature for newly created clusters and generates the cluster-specific monitor configuration.
Automatic deployment
OneKS creates a HelmChart resource in the workload cluster. The RKE2 Helm
controller installs the oneks-monitor Deployment in kube-system.
The generated release configures these values automatically:
| Value | Purpose |
|---|---|
monitor.endpoint |
Base URL of the OneKS callback API. |
monitor.clusterID |
Numeric OneKS cluster identifier. |
monitor.openNebulaEndpoint |
OpenNebula XML-RPC endpoint. |
monitor.key |
Per-cluster payload encryption key. |
monitor.authSecretName |
Existing Secret containing the OneKS/OpenNebula credential. |
Manual installation is not recommended for normal OneKS operation. Supplying arbitrary values will not register the monitor with a OneKS cluster.
Verify the deployment
Check the generated HelmChart:
kubectl -n kube-system get helmchart oneks-monitor
Check that the Deployment is available:
kubectl -n kube-system get deployment oneks-monitor
Check its Pod:
kubectl -n kube-system get pods \
-l app.kubernetes.io/name=oneks-monitor
Inspect the monitor logs:
kubectl -n kube-system logs deployment/oneks-monitor
A healthy monitor becomes ready after its Kubernetes informers and initial resource listings have completed.