반응형
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 사용 |
반응형
'CLOUD > AWS' 카테고리의 다른 글
| AWS EKS 의 OIDC와 IRSA 란? (1) | 2025.07.28 |
|---|---|
| [AWS EKS] aws-auth와 iam role 확인 (0) | 2025.07.24 |
| AWS EKS Loadbalancer controller (0) | 2024.03.26 |
| AWS EKS fargate profile 이란? (1) | 2024.03.26 |
| AWS 보안그룹(securitygroup)에서는 임시포트에 대한 설정을 안해도 통신이 될까? (0) | 2024.03.08 |
댓글