This repository contains the Kuberhealthy Helm chart. The chart was extracted
from kuberhealthy/kuberhealthy/deploy/helm/kuberhealthy so chart releases can
use independent version tags.
helm repo add kuberhealthy https://raw.githubusercontent.com/kuberhealthy/kuberhealthy-helm/main
helm repo update
helm install kuberhealthy kuberhealthy/kuberhealthy \
-n kuberhealthy \
--create-namespacehelm repo add kuberhealthy https://raw.githubusercontent.com/kuberhealthy/kuberhealthy-helm/main
helm repo update
helm upgrade kuberhealthy kuberhealthy/kuberhealthy \
-n kuberhealthygit clone https://github.com/kuberhealthy/kuberhealthy-helm.git
helm install kuberhealthy ./kuberhealthy-helm/charts/kuberhealthy \
-n kuberhealthy \
--create-namespacegit clone https://github.com/kuberhealthy/kuberhealthy-helm.git
helm upgrade kuberhealthy ./kuberhealthy-helm/charts/kuberhealthy \
-n kuberhealthy- Set the namespace with
--namespaceor--create-namespace. - Configure environment variables in
deployment.env. - Adjust replicas and rollout strategy in
deployment. - Set zone topology spread with
deployment.topologySpreadConstraints. HostnamepodAntiAffinitydoes not satisfy a zone constraint. Empty default leaves current scheduling unchanged. - The chart enables
KH_LEADER_ELECTION_ENABLED=trueby default sodeployment.replicas > 1stays single-leader for scheduling and reaping. - The chart defaults
service.typetoLoadBalancer. UseClusterIPfor clusters without a cloud load balancer.
helm upgrade kuberhealthy ./kuberhealthy-helm/charts/kuberhealthy \
-n kuberhealthy \
--set service.type=ClusterIPBy default, the chart adds Prometheus scrape annotations to the Service and pod template.
Disable either set of annotations as needed:
helm upgrade kuberhealthy ./kuberhealthy-helm/charts/kuberhealthy \
-n kuberhealthy \
--set service.prometheusScrape.enabled=false \
--set deployment.prometheusScrape.enabled=falseIf you use Prometheus Operator, apply the ServiceMonitor manifest from the main Kuberhealthy repository:
kubectl apply -f https://raw.githubusercontent.com/kuberhealthy/kuberhealthy/main/deploy/serviceMonitor.yamlChart releases are tagged independently from the main Kuberhealthy application repo. To release a new chart version:
- Update
charts/kuberhealthy/Chart.yaml. - Run
scripts/test.sh. - Commit the chart change.
- Tag the chart repository with the chart version, prefixed with
v. - Push the tag.
For example:
git tag v1.0.0
git push origin v1.0.0The pull request workflow validates chart changes with scripts/test.sh. The
release workflow validates the chart, packages it, and attaches the chart
archive to the GitHub release for the tag.
The chart previously lived in the main repository at
deploy/helm/kuberhealthy. New chart changes and releases should happen in this
repository. Users installing from a local checkout should update commands from:
helm install kuberhealthy deploy/helm/kuberhealthy -n kuberhealthy --create-namespaceto:
helm install kuberhealthy ./kuberhealthy-helm/charts/kuberhealthy -n kuberhealthy --create-namespace