이 문서에서는 AKS(Microsoft Azure Kubernetes Service) 클러스터를 만들거나 업데이트하려고 할 때 발생하는 "InvalidLoadBalancerProfileAllocatedOutboundPorts" 오류 코드를 식별하고 해결하는 방법을 설명합니다.
필수 조건
Azure CLI 버전 2.53.0 이상 설치된 버전을 찾으려면 명령을 실행합니다 az --version .
증상
AKS 클러스터 만들기 또는 업데이트 작업이 실패하고 다음 오류 메시지를 반환합니다.
코드: InvalidLoadBalancerProfileAllocatedOutboundPorts
메시지: 할당된 포트 8000의 부하 분산 장치 프로필은 프로비전된 노드 및 IP 수를 고려할 때 허용 가능한 범위에 있지 않습니다. 총 노드 수 9에는 72000개의 포트가 필요하지만 1개의 아웃바운드 공용 IP가 제공된 경우 64000개의 포트만 사용할 수 있습니다. 자세한 내용은https://aka.ms/aks/slb-ports참조하세요.
원인
아웃바운드 형식 LoadBalancer의 클러스터에서 클러스터 노드에서 발생하는 트래픽(Pod에서 실행되는 애플리케이션의 트래픽 포함)은 이러한 아웃바운드 연결을 설정하기 위해 SNAT(원본 네트워크 주소 변환) 포트를 사용하는 AKS 관리 부하 분산 장치를 통해 송신됩니다.
기본적으로 각 클러스터에는 총 64,000개의 SNAT 포트를 허용하는 하나의 아웃바운드 프런트 엔드 IP 주소가 할당되며 클러스터의 각 작업자 노드는 이러한 포트의 공유를 할당받습니다. 예를 들어 클러스터에 노드가 50개 이하인 경우 각 작업자 노드에는 1,024개의 포트가 할당됩니다. 클러스터에서 실행되는 애플리케이션에서 많은 수의 아웃바운드 연결을 설정해야 하는 일부 시나리오에서는 사용 가능한 SNAT 포트의 기본 수가 부족하여 SNAT 포트가 소모될 수 있습니다.
SNAT 포트 고갈 문제를 해결하려면 다음 방법 중 하나 또는 둘 다를 사용합니다.
- 아웃바운드 프런트 엔드 IP 주소 수를 변경합니다. 각 IP 주소는 추가로 64,000개의 SNAT 포트를 제공합니다.
- 각 작업자 노드에 할당된 SNAT 포트 수를 변경합니다.
"InvalidLoadBalancerProfileAllocatedOutboundPorts" 오류는 지정된 노드 수, 아웃바운드 프런트 엔드 IP 주소 수 및 노드당 할당된 포트 수가 가능한 구성을 구성하지 않을 때 발생합니다.
해결 방법
"InvalidLoadBalancerProfileAllocatedOutboundPorts" 오류를 해결하려면 다음 단계를 수행합니다.
다음 수식을 사용하여 원하는 구성이 가능한지 확인합니다.
64,000 ports per IP / <outbound ports per node> * <number of outbound IPs> = <maximum number of nodes in the cluster>비고
이 검사를 수행할 때 클러스터 업그레이드 및 기타 작업 중에 발생하는 노드 서지를 고려해야 합니다. AKS는 업그레이드 작업을 위해 기본적으로 하나의 버퍼 노드로 설정되지만 maxSurge 매개 변수를 사용하여 이 숫자를 수정할 수 있습니다.
클러스터의 노드 수, 아웃바운드 프런트 엔드 IP 주소 수 또는 노드당 SNAT 포트 수를 변경합니다.
할당된 아웃바운드 포트를 구성하는 방법 및 필요한 포트 수의 예제 및 계산에 대한 자세한 내용은 할당된 아웃바운드 포트 구성을 참조하세요.
참고 문헌
아웃바운드 연결에 SNAT(Source Network Address Translation) 사용
도움을 요청하십시오.
질문이 있는 경우 Azure 커뮤니티 지원을 요청할 수 있습니다. Azure 피드백 커뮤니티에 제품 피드백을 제출할 수도 있습니다.