안녕하세요. Amazon EKS 클러스터 업그레이드를 준비하면서 여러 AWS 공식 문서들을 참고 했었는데요. 참고하면서 좋았던 AWS 클러스터 업그레이드 가이드 문서를 리뷰해 정리하여 글로 써보았습니다. Amazon EKS 버전 업그레이드를 준비하면서 어떻게 준비해야할지 알아가는 목적으로 업그레이드 준비 방향성과 큰 틀 알기, 상세 방법은 링크를 참조해서 보면 좋을 것 같습니다. 😌
가이드 내용의 큰 틀은 다음과 같습니다.
1. Amazon EKS 릴리즈 일정 확인
2. 버전 업그레이드 시 검토, 알아야 할 내용
- Amazon EKS 및 Kubernetes 주요 업데이트 검토
- Kubernetes api deprecation-policy 이해
- Amazon EKS 업그레이드 중 예상되는 상황
3. Amazon EKS 클러스터 버전 업그레이드 (해당하는 부분을 선택 수행)
- 방법론) blue/green 또는 Canary Amazon EKS 클러스터 마이그레이션
- Amazon EKS 관리형 노드 그룹 업그레이드
- Amazon EKS 관리형 노드 그룹으로 마이그레이션
- Amazon add-on version 업그레이드
- AWS Fargate 노드 업그레이드
- Karpentar에서 생성된 그룹없는 노드 업그레이드
1. Amazon EKS 릴리즈 일정 확인
2. 버전 업그레이드 시 검토, 알아야 할 내용
Amazon EKS 및 Kubernetes 주요 업데이트 검토
- Kubernetes 공식 문서에서 업그레이드 목표 버전의 변경 사항과 필요한 업그레이드 단계를 확인.
- Amazon EKS 관리형 클러스터와 관련된 요구 사항이나 절차를 확인.
Kubernetes
[Kubernetes release note] https://kubernetes.io/releases/notes/
[Kubernetes changelog] https://github.com/kubernetes/kubernetes/tree/master/CHANGELOG
Amazon EKS
[Updating an Amazon EKS cluster Kubernetes version] https://docs.aws.amazon.com/eks/latest/userguide/update-cluster.html
[Amazon EKS Kubernetes versions] https://docs.aws.amazon.com/eks/latest/userguide/kubernetes-versions.html
[Amazon EKS platform versions] https://docs.aws.amazon.com/eks/latest/userguide/platform-versions.html
Kubernetes api deprecation-policy 이해
https://kubernetes.io/docs/reference/using-api/deprecation-policy/
v1 GA (계속 사용, 안정)
v1beta (프리릴리즈)
v1alpha1 (실험적 기능)
Amazon EKS 업그레이드 중 예상되는 상황
- 클러스터를 업그레이드하면 Amazon EKS는 업그레이드된 kubernetes 버전으로 기존 노드를 대체하는데, 진행 중에 하나라도 실패하면 이전 버전으로 롤백하며 과정 중에는 어플리케이션에 영향을 주지 않고 진행이 됩니다. (순단은 발생 가능)
- 업그레이드가 완료되면 이전 버전으로 롤백은 불가 합니다.
3. Amazon EKS 클러스터 버전 업그레이드
https://aws.amazon.com/blogs/containers/planning-kubernetes-upgrades-with-amazon-eks/
방법론) blue/green 또는 Canary Amazon EKS 클러스터 마이그레이션
Amazon EKS 관리형 노드 그룹 업그레이드
- Amazon EKS cluster kubernetes version upgrade (https://docs.aws.amazon.com/eks/latest/userguide/update-cluster.html)
- Amazon EKS managed node group upgrade (https://docs.aws.amazon.com/eks/latest/userguide/update-managed-node-group.html)
Amazon EKS 관리형 노드 그룹으로 마이그레이션
Amazon add-on version 업그레이드
- Amazon VPC CNI (https://docs.aws.amazon.com/eks/latest/userguide/managing-vpc-cni.html)
- kube-proxy (https://docs.aws.amazon.com/eks/latest/userguide/managing-kube-proxy.html)
- CoreDNS (https://docs.aws.amazon.com/eks/latest/userguide/managing-coredns.html)
- AWS 로드 밸런서 컨트롤러 (https://docs.aws.amazon.com/eks/latest/userguide/aws-load-balancer-controller.html)
- Amazon Elastic Block Store(Amazon EBS) CSI(컨테이너 스토리지 인터페이스) 드라이버 (https://docs.aws.amazon.com/eks/latest/userguide/managing-ebs-csi.html)
- Amazon Elastic File System(Amazon EFS) 컨테이너 스토리지 인터페이스(CSI) 드라이버 (https://docs.aws.amazon.com/eks/latest/userguide/efs-csi.html)
AWS Fargate 노드 업그레이드
https://docs.aws.amazon.com/eks/latest/userguide/fargate-pod-patching.html
Karpentar에서 생성된 그룹없는 노드 업그레이드
https://karpenter.sh/preview/concepts/disruption/
참고:
[1] Hod do i plan an upgrade strategy for an Amazon EKS cluster?
https://repost.aws/knowledge-center/eks-plan-upgrade-cluster
[2] aws eks best practice for upgrades
https://aws.github.io/aws-eks-best-practices/upgrades/
[3] AWS EKS userguide for cluster update
https://docs.aws.amazon.com/eks/latest/userguide/update-cluster.html
[4] AWS EKS release calender
'AWS > EKS' 카테고리의 다른 글
EKS v1.24 버전 1.25로 업그레이드 여정 후기 글 (0) | 2023.12.27 |
---|---|
EKS 운영 서브넷 IP 부족 관리/해결하기 (0) | 2023.12.12 |