This directory contains several ways to deploy Kuberhealthy to your cluster. You do not need all of the specs in this directory. Older releases are available by browsing through the release tags on Github, then checking the files in this directory at that tagged revision.
Each flat spec file here requires you to first create the kuberhealthy
namespace with kubectl create ns kuberhealthy
before application. Then, simply use kubectl apply -f
on the file to deploy Kuberhealthy and some basic checks into your cluster. These flat spec files are automatically updated to install the most recent changes to Kuberhealthy, or everything currently in the master branch. Use this to test the latest changes to Kuberhealthy.
kuberhealthy-prometheus-operator.yaml
A flat file that includes everything but a namespace for clusters with Prometheus Operator installed. For deploying Kuberhealthy in a cluster that has the Prometheus Operator deployed to it.
servicemonitor.yaml
A service monitor definition for Prometheus Operator that targets Kuberhealthy.
kuberhealthy-prometheus.yaml
A flat file that includes everything but a namespace for clusters with Prometheus installed. Create the Kuberhealthy namespace with kubectl create ns kuberhealthy
and install with kubectl apply -f kuberhealthy-prometheus.yaml
kuberhealthy.yaml
A flat file that includes everything but a namespace for clusters without Prometheus installed. Create the Kuberhealthy namespace with kubectl create ns kuberhealthy
and install with kubectl apply -f kuberhealthy.yaml
helm/kuberhealthy
A helm chart for deploying Kuberhealthy. This is the same helm chart published in our Helm registry. The helm chart installs the latest Kuberhealthy release. Install this chart with the following steps:
-
Create namespace "kuberhealthy" in the desired Kubernetes cluster/context:
kubectl create namespace kuberhealthy
-
Set your current namespace to "kuberhealthy":
kubectl config set-context --current --namespace=kuberhealthy
-
Add the kuberhealthy repo to Helm:
helm repo add kuberhealthy https://kuberhealthy.github.io/kuberhealthy/helm-repos
-
Install kuberhealthy with Helm using one of the following:
-
Without Prometheus:
helm install kuberhealthy kuberhealthy/kuberhealthy
-
With Prometheus:
helm install kuberhealthy kuberhealthy/kuberhealthy --set prometheus.enabled=true --set prometheus.prometheusRule.enabled=true
-
With Prometheus Operator:
helm install kuberhealthy kuberhealthy/kuberhealthy --set prometheus.enabled=true --set prometheus.prometheusRule.enabled=true --set prometheus.prometheusRule.release={prometheus-operator-release-name} --set prometheus.prometheusRule.namespace={prometheus-operator-namespace} --set prometheus.serviceMonitor.enabled=true --set prometheus.serviceMonitor.release={prometheus-operator-release-name} --set prometheus.serviceMonitor.namespace={prometheus-operator-namespace}
-
With kube-prometheus:
-
Make sure to set your serviceMonitor and prometheusRule
release:
label with the matching serviceMonitorSelectorrelease:
label in your prometheus configuration. This is set to whatever you name your release when you helm install the kube-prometheus-stack. Ex.helm install prometheus prometheus-community/kube-prometheus-stack
implies that your release name isprometheus
and so your serviceMonitor should be set with the labelrelease: prometheus
. -
Make sure you set your serviceMonitor and prometheusRule namespaces to wherever you've deployed your kube-prometheus-stack
-
helm install kuberhealthy kuberhealthy/kuberhealthy --set prometheus.enabled=true --set prometheus.prometheusRule.enabled=true --set prometheus.prometheusRule.release={prometheus-operator-release-name} --set prometheus.prometheusRule.namespace={prometheus-operator-namespace} --set prometheus.serviceMonitor.enabled=true --set prometheus.serviceMonitor.release={kube-prometheus-stack-release-name} --set prometheus.serviceMonitor.namespace={kube-prometheus-stack-namespace}
-
-
grafana/
An example dashboard for displaying Kuberhealthy checks from Prometheus data sources. Import the json file within to Grafana.