Skip to content

Utilizing a Jenkins CI/CD pipeline to deploy a micro-service application on AWS EKS; configured with monitoring applications (Prometheus & Grafana)

Notifications You must be signed in to change notification settings

Lily-G1/EKS-Deployment-Pipeline

Repository files navigation

EKS-Deployment-Pipeline

CI/CD Pipeline to Deploy Web Applications & Monitoring on AWS EKS Cluster

Details:

using Terraform, this project creates a Jenkins CI/CD pipeline to deploy a microservice web application (Weaveworks' sock-shop) alongside a simple web form in an Amazon Elastic Kubernetes Service (EKS) cluster. Prometheus & Grafana monitoring tools are also configured to collect and display performance metrics of the cluster.

To run:

  • Create an AWS S3 bucket by running terraform in the 's3-bucket-state' directory. This bucket will store all terraform state files
  • Launch a Jenkins (EC2) server with required resources by running terraform in the 'create-jenkins-server' directory
  • Configure Jenkins with necessary AWS & Github access credentials
  • Create pipeline in Jenkins and build to launch EKS cluster, deploy web applications to cluster & configure monitoring tools. Web apps, Prometheus & Grafana dashboard can be accessed through Load Balancer DNS names
  • To test built-in metrics in Prometheus, type 'sum(kube_pod_owner{job="kube-state-metrics"}) by (namespace)' in the search bar & click on the Execute button
  • Grafana login details:
    • username: admin
    • password: prom-operator (default)

K8s drawio(small)

About

Utilizing a Jenkins CI/CD pipeline to deploy a micro-service application on AWS EKS; configured with monitoring applications (Prometheus & Grafana)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published