https://github.com/lily-g1/eks-deployment-pipeline
Utilizing a Jenkins CI/CD pipeline to deploy a micro-service application on AWS EKS; configured with monitoring applications (Prometheus & Grafana)
https://github.com/lily-g1/eks-deployment-pipeline
aws aws-eks aws-vpc ci-cd-pipeline grafana-dashboards helm iac-managed jenkins kubernetes prometheus terraform
Last synced: 8 months ago
JSON representation
Utilizing a Jenkins CI/CD pipeline to deploy a micro-service application on AWS EKS; configured with monitoring applications (Prometheus & Grafana)
- Host: GitHub
- URL: https://github.com/lily-g1/eks-deployment-pipeline
- Owner: Lily-G1
- Created: 2023-04-05T04:20:38.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-03-25T16:19:26.000Z (over 1 year ago)
- Last Synced: 2024-12-28T05:16:29.891Z (10 months ago)
- Topics: aws, aws-eks, aws-vpc, ci-cd-pipeline, grafana-dashboards, helm, iac-managed, jenkins, kubernetes, prometheus, terraform
- Language: HCL
- Homepage:
- Size: 39.1 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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.
- The sock-shop project can be found here: https://github.com/microservices-demo/microservices-demo
- The web form is a personal creation. It is a simple HTML/CSS/PHP application that collects user data and stores it in a backend MySQL database.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)