βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Enterprise EKS Multi-AZ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β AZ-2a β β AZ-2b β β AZ-2c β β
β β βββββββββββ β β βββββββββββ β β βββββββββββ β β
β β β Nodes β β β β Nodes β β β β Nodes β β β
β β βββββββββββ β β βββββββββββ β β βββββββββββ β β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β EKS Control Plane β β
β β (Multi-AZ Managed) β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Highly available, production-ready EKS cluster spanning multiple Availability Zones. Designed for mission-critical workloads with advanced security, monitoring, disaster recovery, and compliance capabilities.
- Multi-AZ Deployment - Nodes distributed across 3 availability zones
- Auto Scaling - Cluster and pod autoscaling with predictive scaling
- Load Balancing - Application Load Balancer with health checks
- Disaster Recovery - Cross-region backup and automated failover
- Private Subnets - Worker nodes isolated in private subnets
- IAM Integration - Fine-grained access control with RBAC
- Network Policies - Pod-to-pod communication control
- Secrets Management - AWS Secrets Manager and KMS integration
- Image Scanning - Container vulnerability scanning with Trivy
- CloudWatch Container Insights - Native AWS monitoring
- Prometheus & Grafana - Custom metrics and dashboards
- Jaeger Tracing - Distributed request tracing
- Centralized Logging - Fluentd with CloudWatch Logs
# Required tools
aws-cli >= 2.0
terraform >= 1.5
kubectl >= 1.28
helm >= 3.0
# Clone repository
git clone https://github.com/uldyssian-sh/enterprise-eks-multi-az-cluster.git
cd enterprise-eks-multi-az-cluster
# Configure variables
cp terraform/environments/dev/terraform.tfvars.example terraform/environments/dev/terraform.tfvars
# Edit terraform.tfvars with your settings
# Deploy infrastructure
cd terraform/environments/dev
terraform init
terraform plan
terraform apply
# Update kubeconfig
aws eks update-kubeconfig --region us-west-2 --name eks-multi-az-cluster-dev
# Verify deployment
kubectl get nodes
kubectl get pods --all-namespaces
- System Nodes - Dedicated for system components (3-9 nodes)
- Application Nodes - General workloads (6-30 nodes)
- Database Nodes - Stateful workloads with taints (3-12 nodes)
- VPC Configuration - Custom VPC with public/private subnets
- CNI Plugin - AWS VPC CNI with security groups for pods
- Ingress Controller - AWS Load Balancer Controller
- Service Mesh - Istio for advanced traffic management
- EBS CSI Driver - Dynamic persistent volume provisioning
- EFS CSI Driver - Shared file system storage
- Storage Classes - Multiple performance tiers (gp3, io2, st1)
# Prometheus configuration
prometheus:
retention: 30d
storage: 100Gi
replicas: 2
grafana:
persistence: true
dashboards:
- kubernetes-cluster
- kubernetes-pods
- aws-load-balancer
- Cluster Health - Node and pod availability
- Resource Utilization - CPU, memory, storage thresholds
- Application Performance - Response time and error rates
- Security Events - Failed authentication attempts
# Network policies example
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: deny-all-ingress
spec:
podSelector: {}
policyTypes:
- Ingress
- Restricted - Production workloads
- Baseline - Development environments
- Privileged - System components only
- Enterprise Deployment Guide - Complete deployment instructions
- Prerequisites Check - Validate environment setup
- Configuration Examples - Sample configurations
- Security Scanning - Automated security assessment
- Monitoring Setup - Prometheus and Grafana configuration
- Backup Validation - Backup verification procedures
- Monitoring Stack - Complete monitoring deployment
- Security Policies - Network policies and security configurations
- Ingress Configuration - Load balancer and ingress setup
- GitHub Actions - Automated testing and deployment
- Security Scanning - Vulnerability assessment
- Cost Estimation - Infrastructure cost analysis
- EKS Module - Complete EKS cluster configuration
- VPC Module - Network infrastructure
- Monitoring Module - Observability stack
- Spot Instances - 70% cost savings for fault-tolerant workloads
- Reserved Instances - Predictable workload cost reduction
- Cluster Autoscaler - Dynamic scaling based on demand
- Fargate - Serverless containers for variable workloads
- Right-sizing - Automated resource optimization
- Fork Repository - Create your fork
- Development Setup - Local development environment
- Submit Pull Request - Contribute improvements
This project is licensed under the MIT License - see the LICENSE file for details.
- GitHub Issues - Bug reports and feature requests
- Discussions - Community support and Q&A
- Security Policy - Vulnerability reporting
- AWS EKS Documentation - Official AWS EKS documentation# Trigger deployment