Kubernetes Clusters
Create and manage production-grade Kubernetes clusters on AWS EKS with automated setup and best practices built-in.
What is Kubernetes?
Kubernetes (K8s) is an open-source container orchestration platform that automates deployment, scaling, and management of containerized applications.
Key Benefits:
- Auto-scaling - Scale applications based on demand
- Self-healing - Automatically restart failed containers
- Load balancing - Distribute traffic across pods
- Rolling updates - Deploy without downtime
- Service discovery - Automatic DNS for services
Enterprise Features
SeaGit provides production-ready EKS clusters with automated setup and enterprise-grade features out of the box:
Node Group Management
- ✅ On-demand node groups - Reliable compute for production workloads
- ✅ Spot node groups - Up to 90% cost savings with correct override structure
- ✅ Fast node provisioning - Nodes reach Ready state in ~60 seconds
- ✅ Instance refresh - Rolling updates for node groups with zero downtime
Networking & Security
- ✅ VPC CNI initialization - Automatic setup with proper ready states
- ✅ IAM policies - Worker, ECR, CNI, and SSM policies attached automatically
- ✅ Access entries - Automated IAM to Kubernetes RBAC mapping
Auto-scaling & Reliability
- ✅ Cluster Autoscaler - Automatic node group discovery and scaling
- ✅ Node Termination Handler - Monitors instances and raises resiliency bar of your clusters
- ✅ Scheduled terminations - Enable through action rules to cut costs by 30% or more
💡 Cost Optimization Tip
Combine spot instances with scheduled terminations to achieve at least 30% cost reduction on non-production environments while maintaining reliability through Node Termination Handler.
Creating a Cluster
Prerequisites
- Network/VPC created (see Networks guide)
- AWS provider configured (see Providers guide)
Step 1: Navigate to Clusters
- Go to Organization → Clusters
- Click "+ Create Cluster"
Step 2: Select Network
Choose the VPC network where your cluster will be deployed.
Step 3: Configure Node Groups
On-Demand Nodes:
- Instance type: t3.medium, t3.large, t3.xlarge
- Min nodes: 2 (high availability)
- Max nodes: 10 (auto-scaling limit)
- Disk size: 20-100 GB
Spot Instances (Optional):
- Up to 90% cost savings
- Can be interrupted with 2-minute warning
- Best for: dev, test, batch processing
Step 4: Install Add-ons
SeaGit supports 12 cluster add-ons. Recommended for production:
- ALB Controller - AWS Load Balancer integration
- Cert-Manager - Automatic TLS certificates
- External DNS - Auto DNS record management
- Prometheus - Metrics and monitoring
Step 5: Create
Creation Time: 15-20 minutes
Cluster Add-ons
1. AWS Load Balancer Controller (ALB)
Automatically provisions AWS Application Load Balancers for ingress resources.
2. NGINX Ingress Controller
Alternative ingress controller with more flexibility than ALB.
3. Cert-Manager
Automates TLS certificate issuance and renewal using Let's Encrypt.
4. External DNS
Automatically creates DNS records in Route53, Cloudflare, or PowerDNS.
5. ArgoCD
GitOps continuous delivery tool for Kubernetes.
6. Prometheus
Monitoring and alerting toolkit.
kubectl Access
# Update kubeconfig aws eks update-kubeconfig --name cluster-name --region us-east-1 # Test connection kubectl get nodes # View pods kubectl get pods -A
Cost Optimization
- Use spot instances for non-production workloads
- Right-size node instance types
- Use cluster autoscaler to scale down when idle
- Stop clusters when not in use using action rules