This Jenkins pipeline automates the deployment of below resources into an Amazon EKS cluster using Terraform. The pipeline includes the deployment of the following resources:
-
Nginx Ingress Controller Helm Chart:
- The Nginx Ingress Controller is crucial for enabling and managing Ingress resources in the EKS cluster.
- Helm chart for Nginx Ingress Controller can be found here.
-
Prometheus Helm Chart:
- Prometheus is utilized for monitoring and analyzing the performance of the application.
- The official Helm chart for Prometheus was not downloaded. Instead, follow the setup instructions here.
-
Kube State Metrics Helm Chart:
- Kube State Metrics (KSM) provides metrics about the state of Kubernetes objects in the cluster.
- Referred this link to setup Kube State Metrics. https://devopscube.com/setup-kube-state-metrics/
-
SonarQube:
- SonarQube is a static code analysis tool for assessing code quality.
- Deploying SonarQube server as a pod and exposing it as publicly accessible.
- Jenkinsfile that includes the Terraform steps for deploying the Nginx Ingress Controller, Prometheus, and SonarQube to an Amazon EKS cluster.
- In Terraform, utilizing the Kubernetes and Helm providers facilitates the deployment of resources into an Amazon EKS cluster. The Helm and Kubernetes provider enables the deployment of the Nginx Ingress Controller, Prometheus, and SonarQube into the specified Kubernetes environment.
-
terraform init:
- Initialize the Terraform working directory.
-
Terraform Plan:
- Generate and show an execution plan.
-
terraform apply:
- Apply the changes as per the Terraform plan.