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.

Next steps