Terraform ile AWS EKS Otomasyonu: Altyapı Kod Olarak (IaC)
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.