EKS versions monitoring¶
Imported from Confluence
Content may be outdated. Verify before following any procedures. View original | Last updated: April 2022
Summary¶
Due to dynamic nature of Kubernetes project every upgrade provides lots of security and functional enhancements. Also same as the Kubernetes community support for Kubernetes versions, Amazon EKS is committed to supporting at least four production-ready versions of Kubernetes at any given time. Taking all this into account, we decided to gather all the versions related data in one place.

This dashboard has two parts: a list of officially supported EKS versions on the left side and versions of Kubernetes clusters we currently use on the right.
How it works¶
While the right side with currently used EKS versions is purely manual and is basically a bunch of tweaked queries to dedicated prometheus servers, the left part is a tiny bit trickier. This process involves the following steps:
- Kubernetes CronJob spawnes a Job every four hours;
- Job creates a Pod, which scrapes supported versions from AWS official docs Kubernetes Versions and pushes them to Pushgateway;
- Metric is collected by Prometheus from Pushgateway;
- Grafana fetches the metric from Prometheus.
Info
CronJob is deployed via helm chart to devops namespace of arn:aws:eks:eu-west-1:767648288756:cluster/aws-production-eks-common EKS cluster.
Image used¶
The following Dockerfile was used to build an image for the pod (the script itself could be found here):
FROM python:3.9-alpine
COPY scrape_eks_versions.py /tmp/
RUN pip install --no-cache-dir --upgrade pip && \
pip install --no-cache-dir requests prometheus_client bs4
CMD ["cat", "/etc/os-release"]
Useful links¶
| Column 1 | Column 2 |
|---|---|
| Helm chart | get-eks-versions (Bitbucket) |
| Script iself | copy_docker_images_to_ecr.py (Github) |
| Grafana dashboard | Grafana - Eks Current Versions Vs Supported Versions |
| Grafana JSON | |
| Initial ticket | DEVOPSBLN-2449 |