kubectl apply installs the Observer into a dedicated namespace. Everything else runs in RubixKube Cloud.
This page covers the install, what it deploys, common troubleshooting, and how to uninstall cleanly.
Prerequisites
kubectl configured
kubectl get nodes should succeed against the target cluster.Cluster admin permissions
Required to create the
rubixkube-system namespace, service account, and ClusterRole.Outbound access
HTTPS to
api.rubixkube.ai:443 and TCP to nats.rubixkube.ai:4222, reachable from the cluster.A RubixKube workspace
Sign in at console.rubixkube.ai. Create a new environment for this cluster.
Install
Copy the personal install command from the console. Your API key (prefixrk_) is already embedded.
Verify
Tail the logs
Connected to api.rubixkube.ai and topology sweep messages within the first minute.What is being monitored
The Observer collects signals for every native Kubernetes object plus the common extensions.Footprint
The Observer is deliberately light.- One pod. The Observer serves its own read-only Kubernetes tools, so no separate MCP server runs.
- About 20Mi of RAM and 10 millicores on a one-node test cluster with 32 workloads. The pod requests 128Mi and is limited to 512Mi.
- Under 10 millicores of CPU during normal operation.
- Scales modestly with cluster size. Expect another 50Mi of RAM per 100 nodes.
Upgrade
Run the install command again, copied from the console. It updates the Observer in place and keeps the environment, its history and its settings.kubernetes entry from the mcp-config ConfigMap, or delete the ConfigMap if that was its only entry:
Add your own MCP servers
The Observer reads extra MCP servers from the optional ConfigMapmcp-config (key mcp.json) in rubixkube-system. The install command never overwrites it.
KIND and local development
Same install command works on KIND. Useful when you want to evaluate without touching a real cluster.Troubleshooting
Pod stuck in ImagePullBackOff
Pod stuck in ImagePullBackOff
The cluster cannot reach the Observer image registry. Check outbound egress to If this fails, your cluster is behind a proxy or egress policy. Allowlist the two endpoints or reach out for an air-gapped deployment path.
api.rubixkube.ai:443:Pod in CrashLoopBackOff
Pod in CrashLoopBackOff
Almost always an invalid API key. Check the logs:If you see
401 Unauthorized or invalid api key, reinstall with the command copied fresh from the console.Environment stuck on Connecting
Environment stuck on Connecting
Three common causes:
- Pod is not Running yet. Recheck
kubectl get pods -n rubixkube-system. - Outbound TCP to
nats.rubixkube.ai:4222is blocked. The control channel runs over HTTPS but the streaming channel uses NATS. - Clock skew on the node. Ensure NTP is running.
Observer high memory or CPU
Observer high memory or CPU
Rare, but possible on very large clusters. Edit the deployment to raise limits, or reach out and we will help you size the Observer for your cluster shape.
AKS and Azure
AKS clusters are supported today on the Kubernetes path. Install exactly as you would on EKS or GKE. Subscription-level Azure observation (App Service, Azure VMs) is on the roadmap, see Azure.Uninstall
Related guides
Connect your environment
The full install flow covering every supported environment.
Observer Agent concept
What the Observer does, where it runs, what it sees.
First tutorial
Monitor infrastructure health once the Observer is live.