> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usechamber.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Installation

> Install the Chamber agent in your Kubernetes cluster

This guide covers installing the Chamber agent using Helm.

<Tip>
  For a guided setup experience, use the [installation wizard](https://app.usechamber.io/pools/new) in the Chamber dashboard.
</Tip>

<Info>
  This guide installs only the Chamber agent on an **existing** Kubernetes cluster. To deploy a complete GPU-ready cluster (VPC, Kubernetes, GPU autoscaling, GPU drivers, and the Chamber agent), see [Cluster Deployment](/cluster-deployment/overview).
</Info>

## Prerequisites

Before installing, ensure you have:

<AccordionGroup>
  <Accordion title="Kubernetes cluster (1.24+)">
    Verify with `kubectl version`. The agent supports Kubernetes 1.24 and later.
  </Accordion>

  <Accordion title="Helm 3.x installed">
    Verify with `helm version`. Install from [helm.sh](https://helm.sh/docs/intro/install/) if needed.
  </Accordion>

  <Accordion title="GPU nodes with NVIDIA drivers">
    Nodes must have NVIDIA drivers installed. Verify with `nvidia-smi` on GPU nodes.
  </Accordion>

  <Accordion title="NVIDIA device plugin running">
    The [NVIDIA device plugin](https://github.com/NVIDIA/k8s-device-plugin) must be deployed. Verify:

    ```bash theme={null}
    kubectl get pods -n kube-system -l name=nvidia-device-plugin-ds
    ```
  </Accordion>

  <Accordion title="DCGM-Exporter running">
    [DCGM-Exporter](https://github.com/NVIDIA/dcgm-exporter) is required for GPU metrics collection. Verify:

    ```bash theme={null}
    kubectl get pods -n gpu-operator -l app=nvidia-dcgm-exporter
    ```

    If not installed, deploy via the [NVIDIA GPU Operator](https://docs.nvidia.com/datacenter/cloud-native/gpu-operator/latest/index.html) or standalone:

    ```bash theme={null}
    helm repo add nvidia https://helm.ngc.nvidia.com/nvidia
    helm install dcgm-exporter nvidia/dcgm-exporter -n gpu-operator --create-namespace
    ```

    <Tip>
      For the GPU Usage metric, DCGM profiling metrics must be enabled. See [GPU Usage Metric Not Available](/agent/troubleshooting#gpu-usage-metric-not-available) for configuration steps.
    </Tip>
  </Accordion>

  <Accordion title="Chamber cluster token">
    Get this from the Chamber dashboard (see below).
  </Accordion>
</AccordionGroup>

## Quick Install

```bash theme={null}
# Install the agent (OCI registry - no helm repo add needed)
helm install chamber-agent oci://public.ecr.aws/chamber/chamber-agent-chart \
  --version 0.8.96 \
  --namespace chamber-system \
  --create-namespace \
  --set saas.url="wss://controlplane-api.usechamber.io/agent" \
  --set saas.token="<YOUR_TOKEN>" \
  --set saas.clusterId="your-gpu-cluster"
```

Your cluster will appear in the Chamber dashboard within **30 seconds**.

<Tip>
  Always specify `--version` to ensure reproducible deployments. Check the [releases page](https://github.com/ChamberOrg/chamber-agent/releases) for the latest version.
</Tip>

## Getting a Cluster Token

<Steps>
  <Step title="Log in to Chamber">
    Go to [app.usechamber.io](https://app.usechamber.io) and sign in.
  </Step>

  <Step title="Navigate to Settings">
    Click **Settings** in the sidebar, then **Security** tab.
  </Step>

  <Step title="New Token">
    Click **New Token**, give it a name, and copy immediately.
  </Step>
</Steps>

<Warning>
  Store your token securely. It's only shown once and cannot be retrieved later.
</Warning>

## Verifying Installation

### Check Pod Status

```bash theme={null}
kubectl get pods -n chamber-system -l app.kubernetes.io/name=chamber-agent
```

Expected output:

```
NAME                              READY   STATUS    RESTARTS   AGE
chamber-agent-5d4f6b7c8d-abc12    1/1     Running   0          30s
```

### Check Logs

```bash theme={null}
kubectl logs -n chamber-system -l app.kubernetes.io/name=chamber-agent --tail=20
```

Look for:

```
INFO  WebSocket connected successfully
INFO  Metadata collected: 4 nodes, 32 GPUs
```

### Check Version

```bash theme={null}
helm list -n chamber-system
```

Shows the installed chart version and app version.

### Verify in Dashboard

Within 30 seconds of installation:

1. Go to [app.usechamber.io](https://app.usechamber.io)
2. Navigate to **Capacity Pools**
3. Your cluster should appear with the correct GPU count

<Info>
  If GPUs show as 0, verify the NVIDIA device plugin is running and nodes have `nvidia.com/gpu` resources.
</Info>

## Network Requirements

The agent requires outbound HTTPS access to:

| Host                             | Port | Purpose                     |
| -------------------------------- | ---- | --------------------------- |
| `controlplane-api.usechamber.io` | 443  | Control plane communication |

<Tip>
  The agent only makes **outbound** connections. No inbound firewall rules are required.
</Tip>

## Uninstalling

```bash theme={null}
helm uninstall chamber-agent -n chamber-system
```

<Warning>
  Uninstalling disconnects your cluster from Chamber. Running workloads will continue to completion but won't be tracked.
</Warning>

## Next Steps

<CardGroup cols={2}>
  <Card title="Troubleshooting" icon="wrench" href="/agent/troubleshooting">
    Common issues and solutions
  </Card>

  <Card title="Upgrading" icon="arrow-up" href="/agent/upgrading">
    Upgrade to the latest version
  </Card>
</CardGroup>
