Skip to content

Latest commit

 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kuberhealthy Helm Chart

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.

Install From The Helm Repository

helm repo add kuberhealthy https://raw.githubusercontent.com/kuberhealthy/kuberhealthy-helm/main
helm repo update
helm install kuberhealthy kuberhealthy/kuberhealthy \
  -n kuberhealthy \
  --create-namespace

Upgrade From The Helm Repository

helm repo add kuberhealthy https://raw.githubusercontent.com/kuberhealthy/kuberhealthy-helm/main
helm repo update
helm upgrade kuberhealthy kuberhealthy/kuberhealthy \
  -n kuberhealthy

Install From Source

git clone https://github.com/kuberhealthy/kuberhealthy-helm.git
helm install kuberhealthy ./kuberhealthy-helm/charts/kuberhealthy \
  -n kuberhealthy \
  --create-namespace

Upgrade From Source

git clone https://github.com/kuberhealthy/kuberhealthy-helm.git
helm upgrade kuberhealthy ./kuberhealthy-helm/charts/kuberhealthy \
  -n kuberhealthy

Common Settings

  • Set the namespace with --namespace or --create-namespace.
  • Configure environment variables in deployment.env.
  • Adjust replicas and rollout strategy in deployment.
  • Set zone topology spread with deployment.topologySpreadConstraints. Hostname podAntiAffinity does not satisfy a zone constraint. Empty default leaves current scheduling unchanged.
  • 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 ./kuberhealthy-helm/charts/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 ./kuberhealthy-helm/charts/kuberhealthy \
  -n kuberhealthy \
  --set service.prometheusScrape.enabled=false \
  --set deployment.prometheusScrape.enabled=false

If 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.yaml

Release Process

Chart releases are tagged independently from the main Kuberhealthy application repo. To release a new chart version:

  1. Update charts/kuberhealthy/Chart.yaml.
  2. Run scripts/test.sh.
  3. Commit the chart change.
  4. Tag the chart repository with the chart version, prefixed with v.
  5. Push the tag.

For example:

git tag v1.0.0
git push origin v1.0.0

The 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.

Migration From The Main Repository

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-namespace

to:

helm install kuberhealthy ./kuberhealthy-helm/charts/kuberhealthy -n kuberhealthy --create-namespace

About

Official Helm chart for Kuberhealthy.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages