EKS Cluster K8S Version 과 Addon Version Compatibility

Junseo·2025년 3월 28일

Terraform 형식을 통해 EKS Cluster 구성 중, Cluster 에 추가할 Add-on 설정에 관한 오류 이해 과정이다.

잘못된 내용은 지적, 수정 환영

기본적으로 설정한 과정은 다음과 같다.

Resources

  1. EKS Cluster Kubernetes Version : 1.32

  2. Addon settings (Terraform)

# EKS Cluster Addons
resource "aws_eks_addon" "vpc_cni" {
    cluster_name = aws_eks_cluster.eks.name
    addon_name   = "vpc-cni"
    addon_version = "v1.32.0-eksbuild.1"
}
resource "aws_eks_addon" "coredns" {
    cluster_name = aws_eks_cluster.eks.name
    addon_name   = "coredns"
    addon_version = "v1.32.0-eksbuild.1"
}
resource "aws_eks_addon" "kube_proxy" {
    cluster_name = aws_eks_cluster.eks.name
    addon_name   = "kube-proxy"
    addon_version = "v1.32.0-eksbuild.1"
}
resource "aws_eks_addon" "node_monitoring" {
    cluster_name = aws_eks_cluster.eks.name
    addon_name   = "node-monitoring"
    addon_version = "v1.32.0-eksbuild.1"
}

(무지성으로 코드를 생성하다보니 버전 세팅이 엉망이다)

그렇게 오류를 만났다.

 
그렇다면 맞는 버전을 찾아서 수정을 해야한다.

그 과정은 아래와 같다.

  1. 콘솔에서 생성하며 직접 확인 후 Add
  2. AWS CLI 활용

본 글에서는 후자의 방법을 알아볼 것이다.

AWS CLI 에서 명령을 통해 Compatibility를 검증할 수 있다.

aws eks describe-addon-versions --addon-name <addon > --kubernetes version 1.32

해당 명령을 통해 json 형식의 결과를 얻을 수 있다.

{
    "addons": [
        {
            "addonName": "coredns",
            "type": "networking",
            "addonVersions": [
                {
                    "addonVersion": "v1.11.4-eksbuild.2",
                    "architecture": [
                        "amd64",
                        "arm64"
                    ],
                    "computeTypes": [
                        "ec2",
                        "hybrid",
                        "fargate",
                        "auto"
                    ],
                    "compatibilities": [
                        {
                            "clusterVersion": "1.32",
                            "platformVersions": [
                                "*"
                            ],
                            "defaultVersion": true
                        }
                    ],
                    "requiresConfiguration": false,
                    "requiresIamPermissions": false
                }
            ],
            "publisher": "eks",
            "owner": "aws"
        }
    ]
}

현재 CoreDNS와 1.32버전 클러스터의 호환성에 대해 확인해 보았고, 결과적으로 CoreDNS의 경우, "v1.11.4-eksbuild.2" 와 동작하는 것을 알 수 있다.

해당 과정을 통해 다른 Addon 의 호환성도 확인하여 수정하였다.

이후

terraform init

terraform plan

terraform apply

과정을 통해 확인해보았다.

오류없이 무사히 apply 완료하였다.

콘솔 상에서도 이상 없이 Active 확인하였다.

 

참고내역
https://velog.io/@dldldl1022/eks-업그레이드-인사이트와-Kubernetes-업데이트에-관한-정리

profile
동그라미 네모

0개의 댓글