Prerequisites
- A running k3s cluster
kubectlconfigured to talk to it- A Niro account — sign up free
1. Create the cluster in Niro
In the Niro dashboard, click Add cluster (on the Fleet page or the empty state if this is your first cluster). Fill in:- Name — a descriptive label for this cluster (e.g.
homelab,edge-berlin,customer-acme) - Environment —
dev,staging,production, or leave asunspecified. This affects policy severity and can be changed later.
2. Run the install command
Copy the install command shown in the dialog and run it on any machine withkubectl access to the cluster:
What the installer does
- Creates the
niro-systemnamespace - Creates a ClusterRole and ClusterRoleBinding (read-only by default)
- Deploys the Niro agent as a
Deploymentinniro-system - The agent enrolls with Niro, exchanges the token for a long-lived key, and stores it in a Secret
3. Verify the connection
Return to the Niro dashboard. Within ~15 seconds you’ll see:- The cluster appear in the Fleet list with a Healthy status badge
- A node count (e.g.
1 node) - A ticking last heartbeat timestamp
The cluster is connected when the last heartbeat timestamp shows a time within the last 30 seconds.
Enabling capabilities
The default agent installation is read-only. To unlock additional features, re-run the installer with capability flags (no new token needed — the agent reuses its existing enrollment):Troubleshooting
The cluster doesn’t appear after running the installer
Check that the agent pod is running:CrashLoopBackOff or Error, check the logs:
- Invalid token — the token expired or was already used. Regenerate it and try again.
- Network connectivity — the cluster can’t reach
api.niro.cx. Check that outbound HTTPS (port 443) is allowed. - Wrong kubeconfig —
kubectlis pointing at a different cluster than you think.
The heartbeat shows “Unknown” or “Offline”
If the cluster enrolled but the heartbeat stopped:- Check the agent pod is still running:
kubectl get pods -n niro-system - Check outbound connectivity from the cluster to
api.niro.cx - Check the agent logs for authentication errors (the key may have been rotated)
I need to reinstall without losing the cluster
Re-running the installer on an already-enrolled cluster is safe — it preserves the existing enrollment and key, and only updates the RBAC and Deployment if the flags change.Uninstalling
To fully remove the agent from a cluster:niro-system namespace and all resources inside it (the agent Deployment, RBAC, and the key Secret). Then delete the cluster from the Niro dashboard.
Related
- Agent Capabilities — opt-in RBAC grants
- Clusters — cluster lifecycle and status
- Deploy an App — deploy your first workload after connecting