Get Started with KubeOpt
Choose your deployment method and start optimizing Kubernetes costs in minutes
Docker
Run as a container on any machine with Docker
Recommendednpm CLI
One-command install with automatic Docker management
Developer FriendlyHelm Chart
Deploy as a sidecar inside your Kubernetes cluster
In-ClusterDocker Compose
Self-hosted with persistent storage and health checks
Self-HostedDesktop App
Native app for macOS, Windows, and Linux
DesktopSaaS
Hosted version, no installation required
ManagedDocker
Pull the public image from GitHub Container Registry and run it. No authentication required.
Enter your email to get the Docker install commands.
Get Install Commandsdocker login required.
npm CLI
The npm CLI wraps Docker and provides a convenient command-line interface. It automatically pulls the image, starts the container, and opens your browser. Requires Docker + Node.js 18+.
Enter your email to get the npm install commands.
Get Install CommandsHelm Chart (In-Cluster)
Deploy KubeOpt as a sidecar inside your Kubernetes cluster. It runs with read-only RBAC permissions and direct kubectl access. No external API calls needed.
Enter your email to get the Helm install commands.
Get Install CommandsDocker Compose (Self-Hosted)
For persistent, self-hosted deployments with automatic restarts and data persistence.
Enter your email to get the Docker Compose configuration.
Get Install CommandsDesktop App
Native desktop application for macOS, Windows, and Linux. No Docker or Node.js required. Everything is bundled.
macOS
.dmg installer
Coming SoonWindows
.exe / .msi installer
Coming SoonLinux
.AppImage / .deb
Coming SoonSaaS (Hosted)
Use the hosted version. No installation, no infrastructure to manage. Sign up and connect your cluster.
# No installation needed. Just visit:
https://demo.kubeopt.com
Free
1 cluster, 5 analyses/day
Pro
10 clusters, AI plans
Enterprise
Unlimited, 365-day retention
Configuration
Configure credentials for your cloud provider. Only set the variables for the cloud(s) you use.
Azure AKS| Variable | Required | Description |
|---|---|---|
AZURE_SUBSCRIPTION_ID | Yes | Azure subscription ID |
AZURE_CLIENT_ID | Yes | Service principal app (client) ID |
AZURE_CLIENT_SECRET | Yes | Service principal secret |
AZURE_TENANT_ID | Yes | Azure AD tenant ID |
| Variable | Required | Description |
|---|---|---|
AWS_ACCESS_KEY_ID | Yes | IAM access key |
AWS_SECRET_ACCESS_KEY | Yes | IAM secret key |
AWS_REGION | Yes | AWS region (e.g. us-east-1) |
| Variable | Required | Description |
|---|---|---|
GOOGLE_APPLICATION_CREDENTIALS | Yes | Path to service account JSON key file |
GOOGLE_CLOUD_PROJECT | Yes | GCP project ID |
GCP_BILLING_DATASET | For real costs | BigQuery dataset with billing export |
GCP_BILLING_ACCOUNT_ID | For real costs | GCP billing account ID |
| Variable | Required | Description |
|---|---|---|
KUBEOPT_LICENSE_KEY | For Pro/Ent | License key for premium features |
JWT_SECRET_KEY | Production | Random secret for session encryption |
LOG_LEVEL | No | Logging level (default: INFO) |
# Create a read-only service principal for KubeOpt
az ad sp create-for-rbac \
--name "kubeopt-reader" \
--role "Reader" \
--scopes /subscriptions/<subscription-id>
# Also grant Cost Management Reader for cost analysis
az role assignment create \
--assignee <client-id> \
--role "Cost Management Reader" \
--scope /subscriptions/<subscription-id>
# Configure your GitHub PAT for automated PR creation
kubeopt config --github-token <your-github-pat>
# Token needs 'repo' scope. Stored locally at ~/.kubeopt/config.json (chmod 600)
Need Help Getting Started?
Our team can help you deploy KubeOpt for your specific infrastructure