This guide covers how to manage updates and rolling deployments for Kepler using Helm charts published to the OCI registry.
Kepler Helm charts are published to:
- OCI Registry:
oci://quay.io/sustainable_computing_io/charts/kepler
OCI registries cannot be added as traditional Helm repositories, so use direct installation:
# Install specific version
helm install kepler oci://quay.io/sustainable_computing_io/charts/kepler \
--version 0.11.1 \
--namespace kepler \
--create-namespace
# Install latest version (omit --version)
helm install kepler oci://quay.io/sustainable_computing_io/charts/kepler \
--namespace kepler \
--create-namespaceSince OCI registries don't support traditional repository browsing, check for new versions using these methods:
# Show chart information for specific version
helm show chart oci://quay.io/sustainable_computing_io/charts/kepler --version 0.11.2
# Check quay.io web interface for available tags
# Visit: https://quay.io/repository/sustainable_computing_io/charts?tab=tags
# Or use helm pull to check if version exists
helm pull oci://quay.io/sustainable_computing_io/charts/kepler --version 0.11.2 --dry-run# Upgrade to specific version
helm upgrade kepler oci://quay.io/sustainable_computing_io/charts/kepler --version 0.11.2 --namespace kepler
# Upgrade with custom values
helm upgrade kepler oci://quay.io/sustainable_computing_io/charts/kepler --version 0.11.2 --namespace kepler --values values.yaml
# Upgrade and wait for rollout to complete
helm upgrade kepler oci://quay.io/sustainable_computing_io/charts/kepler --version 0.11.2 --namespace kepler --wait --timeout=300s# Upgrade to latest (omit --version)
helm upgrade kepler oci://quay.io/sustainable_computing_io/charts/kepler --namespace kepler
# Verify upgrade
helm status kepler --namespace kepler# List release history
helm history kepler --namespace kepler
# Rollback to previous version
helm rollback kepler --namespace kepler
# Rollback to specific revision
helm rollback kepler 2 --namespace keplerPin to specific patch versions and test before upgrading:
# Pin to specific version in production
helm upgrade kepler oci://quay.io/sustainable_computing_io/charts/kepler --version 0.11.1 --namespace kepler
# Test new version in staging first
helm install kepler-staging oci://quay.io/sustainable_computing_io/charts/kepler --version 0.11.2 --namespace kepler-staging
# After validation, upgrade production
helm upgrade kepler oci://quay.io/sustainable_computing_io/charts/kepler --version 0.11.2 --namespace kepler# Watch deployment progress
kubectl rollout status daemonset/kepler -n kepler
# Check pod status
kubectl get pods -n kepler -w
# View recent events
kubectl get events -n kepler --sort-by='.lastTimestamp'# Port forward to access metrics
kubectl port-forward -n kepler svc/kepler 28282:28282
# Test metrics endpoint
curl http://localhost:28282/metrics | grep kepler_build_info
# Check for expected metrics
curl -s http://localhost:28282/metrics | grep -E "(kepler_node_cpu_watts|kepler_container_cpu_watts)"# Check release status
helm status kepler -n kepler
# View release history
helm history kepler -n kepler
# Check for pending pods
kubectl get pods -n kepler | grep -E "(Pending|ContainerCreating|CrashLoopBackOff)"
# View pod logs
kubectl logs -n kepler -l app.kubernetes.io/name=kepler --tail=100# Rollback to previous working version
helm rollback kepler -n kepler
# Force recreation of DaemonSet if stuck
kubectl delete daemonset kepler -n kepler
helm upgrade kepler kepler/kepler --version 0.11.1 -n kepler
# Emergency: use source charts if OCI registry is unavailable
helm upgrade kepler manifests/helm/kepler/ -n kepler| Kepler Version | Kubernetes Version | Helm Version | Notes |
|---|---|---|---|
| 0.11.x | 1.20+ | 3.8+ | OCI registry support |
| 0.10.x | 1.19+ | 3.0+ | Legacy installation |
- Test Updates: Always test in staging environment first
- Gradual Rollouts: Use rolling updates with conservative settings
- Monitor Metrics: Verify metrics collection after updates
- Backup Values: Keep your custom
values.yamlin version control - Version Pinning: Pin specific versions in production
- Health Checks: Configure proper readiness and liveness probes
- Alerts: Set up monitoring for failed deployments
- Chart Issues: Kepler GitHub Issues
- Registry Issues: Quay.io Support
- Helm Issues: Helm Documentation