2024-10-05Hünkar Döner

Terraform ile AWS EKS Otomasyonu: Altyapı Kod Olarak (IaC)

TerraformIaCEKSAutomation
T

Terraform ile AWS EKS Otomasyonu

Bulut altyapılarını yönetmenin altın kuralı: "Konsoldan tıklama, Kod yaz!" Infrastructure as Code (IaC) yaklaşımı, altyapınızın tekrarlanabilir, versiyonlanabilir ve denetlenebilir olmasını sağlar. AWS EKS gibi karmaşık bir servisi kurarken Terraform kullanmak neredeyse bir zorunluluktur.

Bu rehberde, Terraform kullanarak üretim ortamına hazır bir EKS kümesini nasıl kuracağımızı inceleyeceğiz. Terraform konusunda profesyonel destek için Terraform Danışmanlığı hizmetlerimizi inceleyebilirsiniz.

Neden Terraform?

  • Modülerlik: EKS için hazır modülleri kullanarak yüzlerce satır kod yazmaktan kurtulursunuz.
  • State Yönetimi: Altyapınızın mevcut durumunu takip eder ve sadece değişen kısımları günceller.
  • Bağımlılık Yönetimi: VPC oluşmadan EKS'in oluşmayacağını bilir ve sırayı otomatik ayarlar.

Terraform ile EKS Kurulum Adımları

1. Provider Ayarları

Öncelikle AWS provider'ını tanımlayın.

provider "aws" {
  region = "eu-central-1"
}

2. VPC Modülü

EKS için özel bir ağ yapısı gerekir. AWS VPC modülü işimizi kolaylaştırır.

module "vpc" {
  source = "terraform-aws-modules/vpc/aws"
  name   = "my-eks-vpc"
  cidr   = "10.0.0.0/16"

  azs             = ["eu-central-1a", "eu-central-1b"]
  private_subnets = ["10.0.1.0/24", "10.0.2.0/24"]
  public_subnets  = ["10.0.101.0/24", "10.0.102.0/24"]

  enable_nat_gateway = true
  enable_vpn_gateway = true

  tags = {
    "kubernetes.io/cluster/my-cluster" = "shared"
  }
}

3. EKS Modülü

Topluluk tarafından desteklenen terraform-aws-modules/eks/aws modülü, EKS kurulumunu inanılmaz basitleştirir.

module "eks" {
  source  = "terraform-aws-modules/eks/aws"
  version = "~> 20.0"

  cluster_name    = "my-cluster"
  cluster_version = "1.30"

  vpc_id     = module.vpc.vpc_id
  subnet_ids = module.vpc.private_subnets

  eks_managed_node_groups = {
    general = {
      min_size     = 1
      max_size     = 3
      desired_size = 2
      instance_types = ["t3.medium"]
    }
  }

  enable_cluster_creator_admin_permissions = true
}

Çalıştırma

terraform init
terraform apply

Bu komutlardan sonra yaklaşık 15-20 dakika içinde VPC'si, Güvenlik Grupları, IAM Rolleri ve Worker Node'ları ile hazır bir EKS kümeniz olacak.

Sonuç

Terraform ile EKS yönetimi, manuel hataları ortadan kaldırır ve altyapı değişikliklerini (örneğin node sayısını artırmak veya versiyon yükseltmek) sadece bir kod değişikliği ve apply komutu ile yapmanızı sağlar.