Skip to main content
This guide installs SambaRack hardware monitoring on a Kubernetes cluster in either of two modes.
  1. Enable the SambaNova exporter on every host module
  2. Collect your device addresses
  3. Make the artifacts available to your cluster
  4. Write a values file
  5. Install the chart
  6. Verify the metrics
  7. Install the dashboards
For device reachability problems, empty dashboards, and probe failures, see Troubleshooting.

Before you start

Cluster requirements

If your cluster doesn’t run Prometheus and Grafana yet, set them up first using the Prometheus and Grafana reference architecture.

Install namespace

Create the monitoring namespace that the chart and its secrets install into:

SambaRack Manager

Make sure SambaRack Manager is set up, with your rack imported and the XRDU secret set. Step 2 uses it to look up device addresses and the BMC password.

SambaNova Runtime

  • SambaNova Runtime 1.26.3-1 or later is installed on each host module. It ships the sambanova-runtime-exporter package, which the chart cannot install.
On the machine you install from: gcloud and helm 3. Both that machine and the cluster nodes need network access to the SambaNova registry.

Step 1. Enable the SambaNova exporter on every host

Do this first, in both modes. The chart does not deploy this exporter and cannot start it — it only makes the host port scrapeable. Until the service is running on every RDU node, the rest of the install produces no RDU metrics. On each SambaRack host module, as a privileged user:
Verify. The service must report active and the metrics endpoint must return 200:

Step 2. Collect your device addresses

Read the addresses from the rack inventory rather than retyping them. Run this where SambaRack Manager is installed:
Hostnames and addresses above are placeholders. Add -o wide for Kubernetes node names, or -o json for the same inventory as JSON. Everything you need goes into one file, the values file in Step 4. Nothing else in this guide needs you to record these separately. The XRDU BMC password is read separately in Step 4, straight into a Kubernetes Secret. It never belongs in the values file.

Step 3. Make the artifacts available to your cluster

SambaNova gives you the registry coordinates along with your service-account key. Throughout this guide, <registry-host> is the registry hostname and <sambanova-registry> is the full repository path the chart and images are published under.

Authenticate to the SambaNova registry

Create the pull secret

The kubelet needs its own registry credential. Your helm login does not provide one.
Nothing else is needed. The kubelet pulls the images and Helm pulls the chart directly in Step 5.

Step 4. Write a values file

Create the device credential secret

An XRDU BMC has no guest read, so the XRDU exporter needs its password. Read it where SambaRack Manager is installed:
Then, on the host with kubectl access, create the Secret. The prompt keeps the password out of your shell history:

Find your Prometheus label

Your Probe and ServiceMonitor objects need the label your Prometheus selects on:
kube-prometheus-stack selects on release: <its-release-name>. An empty selector ({}) selects everything and needs no label.
A Probe or ServiceMonitor without the label your Prometheus selects on is created successfully and then never scraped. This is the most common reason a correct install produces no data.

The values file

Create monitoring-values.yaml. This is the one file that holds your configuration — every address you looked up in Step 2 goes here, and helm get values reads it back at upgrade time. For global.imageRegistry, use <sambanova-registry> for a connected install, or <local-registry-host>/<project-path> for an air-gapped one. For <pull-secret-name>, use the pull secret you created in Step 3: sambarack-pull for a connected install, or local-registry-pull for an air-gapped one.
Each target needs only address. name replaces the address as the device label, and every key under labels is added to every series from that device. See PDU exporter and XRDU exporter for all target options. Leave the image tags out unless SambaNova tells you otherwise. The chart defaults are known-good versions, and both have a floor: the PDU exporter needs 0.1.2 or later and the XRDU exporter 0.1.1 or later against real hardware.

Step 5. Install the chart

Every pod should be Running, and each enabled device exporter should have a Probe:
The last command prints the values Helm applied, which is the quickest way to confirm your target list and labels arrived as intended. Then confirm the SambaNova exporter Service has an endpoint for each RDU node:
A pod that is Running but never Ready, or an endpoint under notReadyAddresses, means the host service is down on that node. Return to Step 1. The readiness probe follows the host process deliberately, so a dead exporter drops out of the Service instead of reporting zeros.
The chart schedules that pod only on nodes labeled snRduArch. To tune the exporter, see SambaNova exporter configuration.

Step 6. Verify the metrics

Query an exporter from inside the cluster

This proves the exporter, the credentials, and the network route in one step, and works before Prometheus is scraping. The exporter images have no shell, so run a short-lived pod alongside them, using the ubi-minimal image the chart already requires. In the commands below, <image-registry> is the same value you set for global.imageRegistry, and <pull-secret-name> is the pull secret from Step 3. The check pod needs the pull secret explicitly, because kubectl run does not attach it.
A three-phase PDU reports one sample per phase plus a total:
The same command against the XRDU exporter:
Check every device at once. List your own PDU addresses in the loop:
A full XRDU probe returns about 97 series: six fan modules of two fans each plus two PSU fans, and a temperature series per sensor.

Query through Prometheus

Open Grafana at the URL your organization uses, go to Explore, select the Prometheus data source, and run:
sum by (rack) returns one series per rack. pdu_up and xrdu_up return one series per device. count by (xrdu) returns the number of fan sensors per XRDU. count(sambanova_platform_info) returns the number of hosts reporting. An empty result means Prometheus is not scraping the targets; see Troubleshooting. To confirm the scrape itself, open the Prometheus UI and go to Status, then Targets. Each enabled Probe appears as a job with one target per device.

Step 7. Install the dashboards

Step 5 installed the dashboards, because dashboards.enabled defaults to true. If you set it to false, turn it back on:
--reuse-values keeps the exporter and target configuration you already applied. See Reference dashboards for the other install methods and what each dashboard shows.

Upgrade

Hardware monitoring chart and exporter versions ship in the SambaRack Manager release notes. Upgrade as part of each release cycle. To upgrade a connected install, rerun the helm upgrade --install command from Step 5 with the new --version. For an air-gapped install, repeat Step 3 with the new versions and rerun the command with the new .tgz. Your values file is the input both times. If you no longer have it, recover it from the cluster:

Uninstall

This removes everything the chart created. It does not stop the host sambanova_exporter service, and it does not delete secrets you created yourself.

Next steps