Articles

A complete CI/CD and logging platform on EKS — Jenkins and ELK

A project I built to show what the three things that hold modern infrastructure together — automation, visibility and scaling — look like when they work as one platform on Kubernetes rather than three separate tools.

What is in the platform

How it is built

Infrastructure as code

Terraform provisions the VPC, subnets, the EKS cluster, IAM, Jenkins and the load balancers. The same code brings up a new environment from scratch, which is the difference between a platform and a server somebody once set up.

Deployment

Helm deploys Jenkins, and Terraform drives Helm, so there is no manual step in the middle. The ELK stack is deployed with Kubernetes manifests into its own namespace.

Namespace separation

Two namespaces: jenkins and elk. That separation sounds trivial until you need to restrict permissions, set resource quotas, or delete one environment without touching the other.

The log pipeline

Jenkins ships logs through the Logstash plugin to an in-cluster Logstash, which forwards them to Elasticsearch, and Kibana visualises them. The result: instead of opening build after build in the Jenkins UI, you search free text across every build.

What I took from it

The code

The full code and deployment guide are onGitHub(the k8-jenkins-kibana-project repository), including a README with the deployment steps.

A shorter version first appearedon LinkedIn.

Keep reading

Want the same for your cloud?

A short call, then a written plan with a cost estimate and a fixed scope. No obligation.