Skip to main content
A Kubernetes cluster is one compute in Expanse, observed by a single daemon Deployment installed with Helm. The daemon watches pods, jobs, and the batch systems built on them (Volcano, Kueue, Argo Workflows, Flux, Ray, Flyte) and reports telemetry; workloads are untouched. The console’s Add compute panel and expanse compute register show the short-lived install token plus your deployment’s control-plane and data-plane URLs, which this guide’s commands take. The token is prompted for during install; it never goes on a command line, and the chart never accepts a plaintext install token as a value.

Prefer to delegate? Copy this into an AI assistant with kubectl and Helm access; it fetches this guide itself, so it always follows the current steps.

Prerequisites

  • Console access in your Expanse organisation (any member can register).
  • A workstation with kubectl access to the cluster and Helm 3.
  • Outbound HTTPS from the daemon pod to your Expanse control and data planes.

1. Register the compute

In the console, open Compute → Add compute, pick Kubernetes, and generate an install token.

2. Exchange the token

On your workstation, using the control-plane and data-plane URLs from the Add compute panel:
This exchanges the short-lived token for the compute’s long-lived credential and writes it to ~/.expanse/config.json. If the install fails before the config is written, rerun it with the same token; retry stops working at the compute’s first heartbeat or when the token expires.

3. Create the config Secret

4. Install the chart

To scope observation, set watch.namespaces to a list of namespaces and pair it with rbac.clusterWide=false so the chart grants permissions only where it watches. Air-gapped deployment? Install the chart and images from your release bundle mirror instead of charts.expanse.sh. Pulling images through the Expanse registry? Generate pull credentials on the console’s Platform → Registry page and set imagePullSecrets on the chart.

5. Verify

The compute flips to active in the console at exchange time and shows its first heartbeat within a minute of the pod starting. Check the pod with kubectl logs deploy/expanse-daemon if nothing arrives.