프리픽스로 Amazon EKS 노드에 더 많은 IP 주소 할당

프리픽스로 Amazon EKS 노드에 더 많은 IP 주소 할당

적용 대상: Amazon EC2 인스턴스가 있는 Linux 및 Windows 노드 적용 대상: 퍼블릭 및 프라이빗 서브넷

각 Amazon EC2 인스턴스는 최대 탄력적 네트워크 인터페이스 수와 각 네트워크 인터페이스에 할당할 수 있는 최대 IP 주소 수를 지원합니다. 각 노드는 네트워크 인터페이스마다 IP 주소 하나가 필요합니다. 나머지 사용 가능한 IP 주소는 모두 Pods에 할당할 수 있습니다. 각 Pod는 자체 IP 주소가 필요합니다. 그 결과 노드에 사용 가능한 컴퓨팅 및 메모리 리소스가 있음에도 노드에 Pod에 할당할 IP 주소가 고갈되어 추가 Pods를 수용할 수 없는 상황이 발생할 수 있습니다.

노드에 개별 보조 IP 주소를 할당하는 대신 IP 프리픽스(prefix)를 할당하면 노드가 Pods에 할당할 수 있는 IP 주소 수를 늘릴 수 있습니다. 각 프리픽스에는 여러 IP 주소가 포함됩니다. 클러스터를 IP 프리픽스 할당용으로 구성하지 않으면 클러스터가 Pod 연결에 필요한 네트워크 인터페이스와 IP 주소를 구성하기 위해 더 많은 Amazon EC2 애플리케이션 프로그래밍 인터페이스(API) 호출을 해야 합니다. 클러스터가 커질수록 이러한 API 호출의 빈도는 Pod와 인스턴스 시작 시간을 길어지게 할 수 있습니다. 이는 크고 갑작스러운 워크로드 수요를 맞추기 위한 스케일링 지연을 초래하고, 스케일링 요구를 충족하기 위해 추가 클러스터와 VPC를 프로비저닝해야 하므로 비용과 관리 오버헤드가 늘어납니다. 자세한 내용은 GitHub의 Kubernetes Scalability thresholds를 참조하세요.

출처: 문서

본문

Amazon VPC CNI 플러그인 for Kubernetes 기능과의 호환성

다음 기능과 함께 IP 프리픽스를 사용할 수 있습니다.

  • IPv4 소스 네트워크 주소 변환 – 자세한 내용은 Pod에 대한 아웃바운드 인터넷 액세스 활성화를 참조하세요.
  • 클러스터, Pod, 서비스의 IPv6 주소 – 자세한 내용은 클러스터, Pod, 서비스의 IPv6 주소 알아보기를 참조하세요.
  • Kubernetes 네트워크 정책으로 트래픽 제한 – 자세한 내용은 Kubernetes 네트워크 정책으로 Pod 트래픽 제한을 참조하세요.

다음 목록은 적용되는 Amazon VPC CNI 플러그인 설정 정보를 제공합니다. 각 설정에 대한 자세한 내용은 GitHub의 amazon-vpc-cni-k8s를 참조하세요.

  • WARM_IP_TARGET
  • MINIMUM_IP_TARGET
  • WARM_PREFIX_TARGET

고려 사항

이 기능을 사용할 때 다음 사항을 고려하세요.

  • 각 Amazon EC2 인스턴스 유형은 최대 Pod 수를 지원합니다. 관리형 노드 그룹이 여러 인스턴스 유형으로 구성된 경우 클러스터의 인스턴스 중 최소 최대 Pod 수가 클러스터의 모든 노드에 적용됩니다.
  • 기본적으로 노드에서 실행할 수 있는 최대 Pods 수는 110이지만 이 숫자를 변경할 수 있습니다. 숫자를 변경하고 기존 관리형 노드 그룹이 있으면 노드 그룹의 다음 AMI 또는 시작 템플릿 업데이트에서 변경된 값으로 새 노드가 시작됩니다.
  • IP 주소 할당에서 IP 프리픽스 할당으로 전환할 때는 기존 노드의 롤링 교체를 수행하는 대신 새 노드 그룹을 만들어 사용 가능한 IP 주소 수를 늘리는 것을 권장합니다. IP 주소와 프리픽스가 모두 할당된 노드에서 실행 중인 Pod는 광고된 IP 주소 용량의 불일치를 초래하여 해당 노드의 향후 워크로드에 영향을 줄 수 있습니다. 전환을 수행하는 권장 방법은 Amazon EKS Best Practices Guide의 Linux용 Prefix Delegation 모드를 참조하세요.
  • 보안 그룹 범위는 노드 수준입니다 – 자세한 내용은 보안 그룹(Security group)을 참조하세요.
  • 네트워크 인터페이스에 할당된 IP 프리픽스는 노드당 높은 Pod 밀도를 지원하며 시작 시간이 가장 좋습니다.
  • IP 프리픽스와 IP 주소는 표준 Amazon EC2 탄력적 네트워크 인터페이스에 연결됩니다. 특정 보안 그룹이 필요한 Pod에는 분기(branch) 네트워크 인터페이스의 기본 IP 주소가 할당됩니다. 같은 노드에서 IP 주소를 받는 Pod나 IP 프리픽스의 IP 주소를 받는 Pod를 분기 네트워크 인터페이스를 받는 Pod와 섞어서 배포할 수 있습니다.
  • Linux 노드만 있는 클러스터의 경우입니다.
  • 추가 기능이 네트워크 인터페이스에 프리픽스를 할당하도록 구성한 뒤에는 클러스터의 모든 노드 그룹에서 모든 노드를 제거하지 않고서는 Amazon VPC CNI 플러그인 for Kubernetes 추가 기능을 1.9.0(또는 1.10.1) 미만 버전으로 다운그레이드할 수 없습니다.
  • Pod용 보안 그룹도 사용 중이고 POD_SECURITY_GROUP_ENFORCING_MODE=standard, AWS_VPC_K8S_CNI_EXTERNALSNAT=false인 경우, Pod가 VPC 밖의 엔드포인트와 통신할 때 Pod에 할당한 보안 그룹이 아니라 노드의 보안 그룹이 사용됩니다.
  • Pod용 보안 그룹도 사용 중이고 POD_SECURITY_GROUP_ENFORCING_MODE=strict인 경우, Pods가 VPC 밖의 엔드포인트와 통신할 때 Pod's(Pod의) 보안 그룹이 사용됩니다.

더 알아보기 (Learn more)