AWS EKS 1.19 -> 1.20

이언철·2022년 7월 20일
1

AWS

목록 보기
1/11
post-thumbnail

EKS는 지원이 종료된 버전을 사용 할 수 없습니다.

이에 업데이트를 강제합니다.

업데이트 전에 1.20 Release(https://docs.aws.amazon.com/eks/latest/userguide/kubernetes-versions.html#kubernetes-1.20) 내용을 확인해야 합니다.

우려되는 사항이 있는지 면밀히 검토 후 대책을 마련한 뒤 업데이트를 진행해야 합니다.

일전에 지원 종료기간을 놓쳐 1.19 버전으로 강제 업데이트된 경험을 하였습니다.

  • AWS Support response

    1.19 버전으로 업데이트 되었을 때, kubernetes버전은 정상적으로 업데이트 되었으나, CNI버전은 업데이트 되지 않는 현상이 발생하였고, 이로 인해 pod이 노드에 할당되지 않는 문제가 발생하였습니다.
    ip가 노드에 할당되지 못하는 문제가 발생하게 된 것이죠.

1.19 버전에서 기존 노드에 대해서는 ip를 할당하지 못하는 문제가 발생하지 않아 1.20 버전 업데이트까지 현상유지를 결정하였습니다.

그리고 1.20 버전으로 업데이트를 해야하는 현재 시점에 CNI로 인한 문제를 같이 해결하고자 합니다.

  • 해당 문제는 AWS에서 권장하는 방식으로 해결합니다.

version AS-IS

  • kubernetes: 1.19
  • cni: 1.6.3

version TO-BE

  • kubernetes: 1.20
  • cni: 1.10.2

우선 eks 버전 업데이트를 진행합니다.

버전 업데이트 완료 후 "Add-on"을 사용하여 cni 버전을 업데이트 해줍니다.

cni 버전은 클러스터 버전 별 권장 버전에 맞추어 적용합니다.
(https://docs.aws.amazon.com/eks/latest/userguide/managing-vpc-cni.html#updating-vpc-cni-add-on)

AWS 콘솔에서 간단한 몇번의 클릭으로 VPC-CNI Add-on을 추가하여 버전을 적용합니다.

아래의 최종 상태를 확인하고 실제 클러스터의 상태를 확인해봅니다.

kubernetes의 버전과 cni의 버전이 모두 정상적으로 업데이트 된 것을 확인 할 수 있습니다.

이로써 eks버전 업데이트 적용과 pod이 node에 할당되지 못했던 cni 버전 문제를 해결해보았습니다.

이후 주기적인 관찰을 통해 이슈가 발생하는지 면밀히 확인해 보는 것이 좋을 것 같습니다.

profile
Soomgo, DevOps

0개의 댓글