Skip to content

AWS EKS Lab project showcasing Kubernetes, Terraform, and GitHub Actions integration — built for Caterpillar IT Architect

License

Notifications You must be signed in to change notification settings

RedLeopard/caterpillar-eks-lab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🚜 Caterpillar EKS Lab – AWS Terraform Portfolio Project

This project demonstrates how to provision a production-ready Amazon EKS (Elastic Kubernetes Service) cluster using Terraform, with OIDC integration for GitHub Actions, and AWS IAM roles and networking fully automated.

🌟 Features

  • 🧠 Infrastructure-as-Code using Terraform
  • ☁️ EKS Cluster with node groups across multiple AZs
  • 🔐 GitHub Actions + OIDC + IAM Role for secure deployments
  • 🌐 Public subnets with auto-assigned IPs
  • 📦 Modular, reusable configuration
  • ✅ Screenshots included for visual verification

🏗️ Architecture Overview

graph TD  
    GitHubActions -->|OIDC Token| IAM[OIDC IAM Role]  
    IAM --> Terraform  
    Terraform --> EKS[Amazon EKS Cluster]  
    EKS --> Nodes[EC2 Node Group]  
Loading

📁 Project Structure

caterpillar-eks-lab/  
├── terraform/  
│   ├── main.tf                 # Main Terraform config  
│   ├── github-oidc.tf          # GitHub OIDC provider & IAM role  
│   └── terraform.tfstate       # Terraform state file  
├── LICENSE                     # MIT License  
├── README.md                   # This file  

🚀 How to Deploy

  1. Clone the Repo
git clone https://github.com/RedLeopard/caterpillar-eks-lab.git  
cd caterpillar-eks-lab/terraform  
  1. 🔑 Set up AWS credentials
    Export your AWS access keys or use a named profile.

  2. ⚙️ Initialize Terraform

terraform init  
  1. 📐 Review Plan
terraform plan  
  1. 🚀 Apply the Infrastructure
terraform apply  
  1. Access the Cluster
aws eks update-kubeconfig --name caterpillar-eks-cluster  
kubectl get nodes  

📸 Visual Evidence

✅ EKS Cluster in Console

EC2 Instances

✅ EC2 Node Instances

EKS Cluster

✅ Security Group Details

Security Group

📦 Coming Soon

  • 🔄 GitHub Actions-based CI/CD pipeline
  • 📈 Auto-scaling with Karpenter
  • 📊 Prometheus + Grafana monitoring dashboards

📜 License

MIT License. Feel free to use, improve, or fork this project.

🔗 Built With Pride

Created with ❤️ by Edward Thornton
GitHub ProfilePortfolio

About

AWS EKS Lab project showcasing Kubernetes, Terraform, and GitHub Actions integration — built for Caterpillar IT Architect

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages