Monitoring Kubernetes with Statuscake
Statuscake push monitors are a basic (and free) check that can be setup to make sure your kube-scheduler is functioning correctly.
This guide will show you how to create a Kubernetes job that launches a curl command to your Statuscake push monitor.
Prerequisites :
- Free Statuscake account with a contact group setup.
- Kubernetes Cluster with kubectl setup on your local machine.
Statuscake setup
Login to Statuscake and click New Uptime Test from the navigation menu.
Select a test type of PUSH, add your test name and contact group. Save your new monitor. Save the Push URL for later.
Kubernetes Setup
Create a secret with your Statuscake push URL by running the following command:
kubectl create secret generic statuscake \
--from-literal=url="<Your push URL>"
Create statuscake-cronjob.yml or
kubectl apply -f https://raw.githubusercontent.com/adamhancock/statuscake-push-k8s/master/statuscake-cronjob.yaml
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: statuscakepush
spec:
schedule: "*/5 * * * *"
successfulJobsHistoryLimit: 0
concurrencyPolicy: Replace
failedJobsHistoryLimit: 0
jobTemplate:
spec:
template:
spec:
containers:
- name: statuscakepush
env:
- name: statuscake
valueFrom:
secretKeyRef:
name: statuscake
key: url
image: busybox
imagePullPolicy: IfNotPresent
args:
- /bin/sh
- -c
- wget -q "$(statuscake)"
restartPolicy: OnFailure
statuscake-cronjob.yml
Run kubectl apply to create the cronjob
kubectl apply -f statuscake-cronjob.yml