본문 바로가기
CLOUD/AWS

AWS EKS의 version을 Terraform으로 업그레이드

by Rainbound-IT 2025. 6. 14.
반응형

 

Terraform으로 EKS 클러스터에 적용된 Kubernetes 버전을 변경하려면, .tf 파일에서 EKS 클러스터 리소스의 version 값을 변경하고 terraform apply를 실행해야 합니다.

 

1. EKS 클러스터 정의 예시 (main.tf)

module "eks" {
  source          = "terraform-aws-modules/eks/aws"
  version         = "20.8.4"  # 모듈 버전

  cluster_name    = "my-eks-cluster"
  cluster_version = "1.27"  # Kubernetes 버전 명시

  # 기타 설정들 ...
}
 

2. 버전 변경

  cluster_version = "1.28"  # ➡️ 원하는 버전으로 수정
 

3. 변경 사항 적용

terraform plan
terraform apply

Terraform은 다음과 같이 cluster_version 필드가 변경된 것을 감지하고, EKS Control Plane을 업그레이드합니다.

⚠️ 주의: Control Plane 업그레이드는 빠르게 적용되지만, 노드 그룹도 수동으로 업그레이드 해야 합니다 (다음 섹션 참고).


⚠️ 노드 그룹(Kubernetes Worker Node) 업그레이드

EKS Control Plane만 업그레이드하면 클러스터 버전은 바뀌지만, 노드 그룹은 여전히 이전 Kubernetes 버전을 사용하고 있을 수 있습니다.

노드 그룹을 업그레이드하려면:

A. Terraform으로 관리 중인 경우:

  node_group_defaults = {
    ami_type = "AL2_x86_64"  # 또는 Bottlerocket
    version  = "1.28"        # 노드 그룹도 동일한 버전으로 명시
  }

또는 노드 그룹 별로 version = "1.28" 설정

B. 수동 관리 중이라면:

  • 새 노드 그룹을 만들고
  • 기존 노드 그룹의 파드들을 새 노드 그룹으로 이동 후
  • 기존 노드 그룹 삭제

📌 주의사항

 

항목 설명
terraform apply만으로 Control Plane 버전이 바뀜 무중단 업그레이드 방식
노드 그룹 버전은 자동으로 안 바뀜 별도로 지정하거나 롤링 교체 필요
Addon (CoreDNS, kube-proxy 등)도 수동 업데이트 필요 Terraform이나 aws eks update-addon 사용 가능
 

 


✅ 요약


 

작업 방법
Control Plane 버전 업그레이드 cluster_version = "1.xx" 변경 후 terraform apply
노드 그룹 업그레이드 version 속성 변경 후 apply 또는 새로 생성
EKS Add-on 업그레이드 Terraform 또는 AWS CLI 사용
 

 

반응형

댓글