안녕하세요 쓰니입니다.
조직이 커지고, 복잡해 질수록 다양한 이유로 IP를 구분하여 사용하기 때문에 관련한 자원 할당과 관리가 어려운 것 같습니다.
저희 회사에서도 airflow on EKS 에 kubernetes executor를 사용해 파이프라인을 운영 중인데요.
최근 회사의 합병 이후 늘어나는 신규 파이프라인으로 서브넷 IP 부족 현상이 일어나 조치를 했습니다.
리서치한 내용이 좋아서 비슷한 문제를 겪으시는 분들께 도움이 되길 바라며 여러분께 소개하려 합니다.
다음에는 이슈 해결을 위해 차근차근 적용한 방법을 정리한 글을 작성해보도록 하겠습니다.
해결책:
Case1. 새로운 클러스터 생성
- 더 큰 범위의 VPC CIDR 범위 계획
- IPv6 사용
Case2. 기존 EKS 클러스터 사용
- VPC secondary CIDR 범위 추가 (Custom pod networking 기능)
- AWS VPC CNI의 Warm Pool 파라미터 최적화
- WARM_ENI_TARGET (L-IPAMD가 필요시 바로 사용할 ENI 를 선점)
- WARM_IP_TARGET (L-IPAMD의 웜풀에서 선점하여 유지되는 ip 수)
- MINIMUM_IP_TARGET (노드가 할당 되면서 선점하는 최소 IP 주소 수)
- WARM_PREFIX_TARGET (노드 네트워크 인터페이스에 정의된 수의 Prefix (/28 CIDR 블록)를 추가함)
참고:
AWS Builders Korea Program Special (Amazon EKS Networking 최용호 AWS SA)
https://youtu.be/DfQX3dgjWQs?feature=shared&t=472
AWS 인스턴스 타입별 할당 가능한 네트워크 인터페이스,ip 수
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI
AWS 인스턴스 타입별 최대 가용 ip 수 (계산 방법: 가용 ENI * (# of IPv4 per ENI - 1) + 2) )
https://github.com/awslabs/amazon-eks-ami/blob/master/files/eni-max-pods.txt
WARM_PREFIX_TARGET, WARM_IP_TARGET and MINIMUM_IP_TARGET
https://github.com/aws/amazon-vpc-cni-k8s/blob/master/docs/prefix-and-ip-target.md
Amazon VPC CNI plugin increases pods per node limits
https://trans.yonghochoi.com/translations/aws_vpc_cni_increase_pods_per_node_limits.ko
EKS 서브넷 Warm pool 관리하기
https://teamblog.joonggonara.co.kr/eks-%EC%84%9C%EB%B8%8C%EB%84%B7-warm-pool-%EA%B4%80%EB%A6%AC%ED%95%98%EA%B8%B0-7739f90a84e0
'AWS > EKS' 카테고리의 다른 글
Amazon EKS 클러스터 업그레이드 가이드 문서 리뷰 (0) | 2024.01.05 |
---|---|
EKS v1.24 버전 1.25로 업그레이드 여정 후기 글 (0) | 2023.12.27 |