AWS EKS update(1.28 > 1.29)

행복한 콩🌳·2024년 6월 5일
0

AWS

목록 보기
8/8

1. EKS 업데이트 순서

1-1. 사전 준비 작업

런치 템플릿 준비

  • AWS에서 관리하는 경우 AMI update를 통해 eks cluster와 Node의 버전을 맞출 수 있음
  • AWS에서 관리하지 않는 경우(사용자가 ami를 지정한 경우) 사전에 EKS cluster 버전에 맞는 ami를 가진 런치 템플릿을 준비해야함
  • 1.27 > 1.28 > 1.29 이렇게 여러 버전을 올라가는 경우에는 각 클러스터 버전에 따른 ami를 준비

컴포넌트 버전 조사

  • k9s에서 한 번에 조회했음
  • namespace별로 deployment와 daemonset을 조사, EKS Add-on을 사용하는 경우 콘솔에서 확인 가능
  • eks cluster에 맞는 컴포넌트 버전 확인

Amazon EKS Upgrade Journey From 1.26 to 1.27 (Chill Vibes)

Amazon EKS Upgrade Journey From 1.27 to 1.28- welcoming Planternetes

Amazon EKS Upgrade Journey From 1.28 to 1.29- say hello to “Mandala”

1-2. 작업 순서

  1. EKS cluster 업데이트
  2. node group의 ami 업데이트(LT 업데이트)
  3. EKS cluster 버전에 맞춰 컴포넌트 버전 업데이트

2. EKS 버전에 따른 컴포넌트 버전 업데이트

v1.29

eniconifg backup

kubectl get eniconfig ap-northeast-2a -o yaml > eniconfig_a_240416
kubectl get eniconfig ap-northeast-2c -o yaml > eniconfig_c_240416

secondary network 확인 - k9s pods , eniconfig 확인

kubectl get eniconfig

kubectl 업데이트

기존 kubectl 버전 확인

kubectl version

1.23 → 1.29

curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.29.0/2024-01-04/bin/linux/amd64/kubectl
  1. 바이너리에 실행 권한을 적용
    chmod +x ./kubectl
  2. $PATH 설정which kubectl 의 결과로 나온 PATH 저장 cp ./kubectl {which kubectl의 결과로 나온 PATH}

Amazon VPC CNI(Add-ons)

  • 콘솔에서 업데이트시 optional configurateion settings에 하기 내용 추가
    {"env":{"AWS_VPC_K8S_CNI_CUSTOM_NETWORK_CFG":"true"}}

Amazon EBS CSI Driver(Add-ons)

  • 콘솔에서 버전 업데이트

cluster autoscaler

kubectl -n kube-system set image deployment.apps/cluster-autoscaler cluster-autoscaler=registry.k8s.io/autoscaling/cluster-autoscaler:v1.29.0

CoreDNS

kubectl describe deployment coredns -n kube-system | grep Image
kubectl set image deployment.apps/coredns -n kube-system  coredns=602401143452.dkr.ecr.ap-northeast-2.amazonaws.com/eks/coredns:v1.11.1-eksbuild.6
kubectl describe deployment coredns -n kube-system | grep Image | cut -d ":" -f 3

Kube-Proxy

kubectl describe daemonset kube-proxy -n kube-system | grep Image
kubectl set image daemonset.apps/kube-proxy -n kube-system kube-proxy=602401143452.dkr.ecr.ap-northeast-2.amazonaws.com/eks/kube-proxy:v1.27.10-minimal-eksbuild.2
kubectl describe daemonset kube-proxy -n kube-system | grep Image | cut -d ":" -f 3

3. 주의사항

Amazon VPC CNI(Add-ons) 업데이트시

Optional configuration settings > Configuration values 에 해당 사항 추가해줘야함

{"env":{"AWS_VPC_K8S_CNI_CUSTOM_NETWORK_CFG":"true"}}

4. 참고

https://github.com/aws/amazon-vpc-cni-k8s/issues/1245

profile
매일매일 조금씩 모여 숲이 되자🐣

0개의 댓글