Getting Started with KubePulse
Deploy KubePulse to your Kubernetes cluster and get your first dashboard in 5 minutes.
Quick Start
Get KubePulse running in your cluster with a single Helm command.
First dashboard in 5 minutes
Install KubePulse, wait for discovery, and access your fleet dashboard.
# Add the KubePulse Helm repository
helm repo add kubepulse https://charts.kubepulse.com
helm repo update
# Install KubePulse
helm install kubepulse kubepulse/kubepulse \
--namespace kubepulse \
--create-namespace
# Wait for pods to be ready
kubectl wait --for=condition=ready pod -l app=kubepulse -n kubepulse --timeout=300s
# Access the dashboard
kubectl port-forward svc/kubepulse-frontend 8080:80 -n kubepulsePrerequisites
Ensure you have the following before installing KubePulse.
Installation
Detailed installation instructions with custom configuration options.
1. Add Helm Repository
helm repo add kubepulse https://charts.kubepulse.com
helm repo update2. Create values.yaml
# values.yaml
global:
domain: kubepulse.internal.example.com
db:
persistence:
size: 100Gi
resources:
requests:
memory: 4Gi
cpu: 2
collector:
modules:
- kubernetes
- prometheus
- cost
- hpa
- capacity
ai:
enabled: true
provider: anthropic
# Set ANTHROPIC_API_KEY in secrets
ingress:
enabled: true
className: nginx
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod3. Install with Custom Values
helm install kubepulse kubepulse/kubepulse \
--namespace kubepulse \
--create-namespace \
-f values.yamlArchitecture Overview
KubePulse consists of several components that work together to provide fleet intelligence.
Frontend
React dashboard
API Server
Go REST API
DB
Analytics DB
Collector
Data ingestion
Data Retention
Default 90 days. Configurable per table type (metrics, events, costs).
High Availability
DB cluster mode available for Enterprise deployments.
Collector Modules
KubePulse supports 15 collector modules. Enable the ones you need in your values.yaml.
API Reference
KubePulse exposes a REST API for programmatic access to all data.
/_cache/clustersList all discovered clusters/_cache/clusters/:idGet cluster details/_cache/costs/summaryGet cost summary/_cache/costs/breakdownGet cost breakdown by dimension/_cache/recommendationsList optimization recommendations/_cache/recommendations/:id/applyApply a recommendation/_cache/healthFleet health metrics/_cache/capacityCapacity forecast dataExample Request
curl -X GET "http://localhost:8080/_cache/clusters" \
-H "Authorization: Bearer $KUBEPULSE_TOKEN" \
-H "Content-Type: application/json"
# Response
{
"clusters": [
{
"id": "prod-us-east-1",
"name": "prod-us-east-1",
"provider": "gke",
"region": "us-east1",
"nodes": 48,
"pods": 1247,
"health_score": 94,
"monthly_cost": 12450.00
}
],
"total": 4
}Configuration Reference
Complete Helm chart values reference.
# Full configuration reference
global:
domain: "" # Base domain for ingress
imageTag: "latest" # Container image tag
imagePullPolicy: IfNotPresent
frontend:
replicas: 2
resources:
requests:
memory: 256Mi
cpu: 100m
limits:
memory: 512Mi
cpu: 500m
api:
replicas: 3
resources:
requests:
memory: 512Mi
cpu: 250m
db:
persistence:
enabled: true
size: 100Gi
storageClass: "" # Use default if empty
retention:
metrics: 90d
events: 30d
costs: 365d
collector:
schedule: "*/5 * * * *" # Run every 5 minutes
modules: [] # List of enabled modules
ai:
enabled: false
provider: anthropic # anthropic | openai
model: claude-3-sonnet # Model to use
secrets:
anthropicApiKey: "" # Or use external secret
ingress:
enabled: false
className: ""
annotations: {}
tls: []Ready to optimize your fleet?
Join our community or get Enterprise support for production deployments.