msfidelis / eks-terraform-orchestration

:package: :whale: :rocket: Complete setup process to manage EKS cluster using Terraform

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

EKS Setup Example with Terraform πŸ“¦ 🐳 πŸš€

Version Documentation License: MIT Build Twitter: fidelissauro

Easy Way to Setup EKS with Ingress Controller like Nginx, Traefik, Envoy e etc

This repo contains methods to deploy this resources on Amazon EKS

  • Custom Ingress Controller behind the ALB
  • Jaeger to improve observability
  • Deployment methods for infraestructure and applications

Enjoy and customize to your use case

🏠 Homepage

✨ Demo

Install

git clone git@github.com:msfidelis/eks-terraform-setup.git

Usage

This repo should be used like template or reference to your project.

Edit variables.tf

vim variables.tf

Apply

terraform plan
terraform install --auto-approve

Configure credentials to local workstation or bastion host

aws eks --region {region} update-kubeconfig --name {cluster name}
aws eks --region us-east-1 update-kubeconfig --name k8s-demo

Deploy applications for this demo

cd kubernetes/applications/
kubectl apply -f *

Choose your ingress

Available flavors

  • Traefik
  • NGINX
  • Haproxy
  • Gloo
  • Ambassador
  • Kong
  • Contour
cd kubernetes/ingress/{your flavor}/

Deploy your ingress controller as Daemonset

kubectl apply -f ingress.yml

Deploy the ingress rules

kubectl apply -f rules.yml

Run tests

terraform validate

Author

πŸ‘€ Matheus Fidelis

🀝 Contributing

Contributions, issues and feature requests are welcome!
Feel free to check issues page. You can also take a look at the contributing guide.

Show your support

Give a ⭐️ if this project helped you!

πŸ“ License

Copyright Β© 2020 Matheus Fidelis.
This project is MIT licensed.


This README was generated with ❀️ by readme-md-generator

About

:package: :whale: :rocket: Complete setup process to manage EKS cluster using Terraform


Languages

Language:HCL 100.0%