SEAGIT DOCS
Clusters

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

Step 1: Navigate to Clusters

  1. Go to OrganizationClusters
  2. 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