stable/kuberhealthy/README.md
*** DEPRECATED, please use https://comcast.github.io/kuberhealthy/ instead
<center></center>Easy synthetic testing for Kubernetes clusters. Supplements other solutions like Prometheus nicely.
Kuberhealthy performs stynthetic tests from within Kubernetes clusters in order to catch issues that would otherwise go unnoticed. Instead of trying to identify all the things that could potentially go wrong, Kuberhealthy replicates real workflow and watches carefully for the expected Kubernetes behavior to occur. Kuberhealthy serves both a JSON status page and a Prometheus metrics endpoint for integration into your choice of alerting solution. More checks will be added in future versions to better cover service provisioning, DNS resolution, disk provisioning, and more.
Some examples of errors Kuberhealthy has detected in production:
Terminating due to CNI communication failuresContainerCreating due to disk scheduler errorsPending due to Docker daemon errorskube-system namespace that is restarting too quicklyIt is possible to configure Kuberhealthy's Prometheus integration with Helm variables. Variable breakdown is below:
prometheus:
enabled: true # do we deploy a ServiceMonitor spec?
name: "prometheus" # the name of the Prometheus deployment in your environment.
enableScraping: true # add the Prometheus scrape annotation to Kuberhealthy pods
serviceMonitor: false # use a ServiceMonitor configuration, for if using Prometheus Operator
enableAlerting: true # enable default Kuberhealthy alerts configuration
app:
name: "kuberhealthy" # what to name the kuberhealthy deployment
image:
repository: quay.io/comcast/kuberhealthy
tag: v1.0.2
resources:
requests:
cpu: 100m
memory: 80Mi
limits:
cpu: 400m
memory: 200Mi
tolerations:
# change to true to tolerate and deploy to masters annotated with node-role.kubernetes.io/master
master: true
deployment:
replicas: 2 # any number of replicas are supported, but only act in a failover capacity
maxSurge: 0
maxUnavailable: 1
imagePullPolicy: IfNotPresent
namespace: kuberhealthy
podAnnotations: {} # Annotations to be added to pods created by the deployment
command:
- /app/kuberhealthy
# use this to override location of the test-image, see: https://github.com/Comcast/kuberhealthy/blob/master/docs/FLAGS.md
# args:
# - -dsPauseContainerImageOverride
# - your-repo/google_containers/pause:0.8.0
securityContext: # default container security context
runAsNonRoot: true
runAsUser: 999
fsGroup: 999
allowPrivilegeEscalation: false
For more details, see the Kuberhealthy web site.
To report a bug, see the Kuberhealthy project issues.