Helm Chart Deployment

June 27, 2026 ยท View on GitHub

The Kuberhealthy Helm chart is available from the dedicated kuberhealthy/kuberhealthy-helm repository. This repository also keeps a source copy at deploy/helm/kuberhealthy for local installs and Kuberhealthy source-tree workflows; see HELM_CHART_REPOSITORY_MIGRATION.md.

Install

helm install kuberhealthy deploy/helm/kuberhealthy -n kuberhealthy --create-namespace

Common settings

  • Set the namespace with --namespace or --create-namespace as shown above.
  • Configure environment variables in deployment.env.
  • Adjust replicas and rollout strategy in deployment.
  • The chart enables KH_LEADER_ELECTION_ENABLED=true by default so deployment.replicas > 1 stays single-leader for scheduling and reaping.
  • The chart defaults service.type to LoadBalancer. Use ClusterIP for clusters without a cloud load balancer.
helm upgrade kuberhealthy deploy/helm/kuberhealthy \
  -n kuberhealthy \
  --set service.type=ClusterIP

Prometheus scraping

By default, the chart adds Prometheus scrape annotations to the Service and pod template.

Disable either set of annotations as needed:

helm upgrade kuberhealthy deploy/helm/kuberhealthy \
  -n kuberhealthy \
  --set service.prometheusScrape.enabled=false \
  --set deployment.prometheusScrape.enabled=false

If you use Prometheus Operator, apply the ServiceMonitor manifest:

kubectl apply -f deploy/serviceMonitor.yaml

Upgrade

helm upgrade kuberhealthy deploy/helm/kuberhealthy -n kuberhealthy

Uninstall

helm uninstall kuberhealthy -n kuberhealthy