Running on Kubernetes
We advise running any production-grade Private Location and Checkly Agent deployments on a container orchestrator like Kubernetes. To help you get started, we created the checkly-k8s repo which contains a Helm chart and a few example Kubernetes manifests.
Prerequisites
- You’ve created a Private Location and have an API key.
- A Kubernetes setup. Can be minikube, EKS, on-prem etc. We are not picky.
- Helm if you are using Helm charts.
Now, clone the repo with the examples:
git clone https://github.com/checkly/checkly-k8s.git
cd checkly-k8
Helm chart
Find the Helm chart in the /helm-cart
directory. The Helm chart does two basic things:
- Creates a secret for the API key.
- Spins up two pods running the Checkly Agent
Assuming you have Helm set up to point at your K8S cluster, run it with the following command, making sure you
replace the apikey="pl_..."
with your Checkly Private Location API key.
helm install checkly-agent --set apiKey="pl_..." ./helm-chart
Kubernetes manifests
If you are not using Helm, you can also use these K8S manifest files to create your preferred cluster setup for the Checkly Agent. Here is a rundown of the manifest files you can find in the repo
agentSecret.yaml
Creates a secret containing the API key your agents use to connect to the private location. Useful if you want to obfuscate
the key so others can’t see it with the kubectl describe pod
command. The pod and deployment manifests are configured
to use this secret.
agentPod.yaml
Creates a single pod running the Checkly agent. Connects to the Private Location using the API key specified in agentSecret.yaml. Uses the latest image.
agentDeployment.yaml
Create a deployment of Checkly agent pods (default: 2). Connects to the private location using the API key specified in agentSecret.yaml. Uses the latest image. Rolling updates are enabled.
checklyNamespace.yaml
Optional - Creates a namespace for the Checkly agent resources.
You can contribute to this documentation by editing this page on Github