Azure 상식

AKS Overlay Network 구성에 대한 이해: POD IP 할당과 특징

ktzzang0601 2025. 8. 23. 01:58

1. 오버레이 네트워크란?

  • 오버레이 네트워크는 물리적 네트워크 위에 논리적 가상 네트워크 계층을 추가로 만들고, 그 내부에서 Pod들에게 네트워크 주소(IP)를 할당하는 방식입니다.
  • 클러스터의 각 노드는 Azure Virtual Network (VNet)의 서브넷에 배포되며, 노드 자체는 실제 VNet IP를 갖습니다.
  • Pod들은 노드가 속한 VNet과는 논리적으로 분리된 별도의 프라이빗 CIDR(논리 IP Pool)에서 IP를 할당받습니다.
  • Pod 간 통신은 이 오버레이 네트워크 내부에서 가상 터널링(VXLAN, Geneve 등)을 통해 직접 연결됩니다.
  • 외부로 나가는 트래픽은 노드 IP로 NAT(Source NAT)되어 전송됩니다.
  • 외부(온프레미스, 인터넷)에서 Pod에 직접 접근은 불가능하며, 반드시 Service LoadBalancer 또는 Ingress Controller를 통해 서비스합니다.

2. AKS 오버레이 네트워크 동작 원리 및 구조

  • 클러스터 노드는 VNet 서브넷 내에서 CIDR /24(예: 10.0.0.0/24) 주소 공간을 할당받습니다.
  • 각 노드는 자신에게 할당된 논리 서브넷에서 Pod에게 IP(pool) 할당 (Pod CIDR, 예: 10.244.0.0/16 내 /24)
  • Pod간 트래픽은 TCP/UDP 패킷을 VXLAN 터널링으로 캡슐화하여 노드 간 전달
  • 기존 VNet 라우팅 테이블엔 Pod CIDR이 별도의 라우팅 도메인을 형성하여 독립적 라우팅 제공
  • 노드 IP를 통한 NAT로 클러스터 외부 통신 처리, Pod의 논리 IP는 외부에 노출되지 않음
  • Pod가 외부 리소스에 접근할 떄는 노드 IP로 라우팅되고, 반대로 외부에서 Pod로 직접 접근 불가

3. 주요 특징 및 장점

특징 설명
논리적 IP 주소 할당 물리적 VNet 다른 프라이빗 CIDR 대역에서 논리 IP 할당해 IP 주소 효율적 활용
Pod  직접 통신 VXLAN 기반 가상 터널로 노드  Pod 직접 통신 가능
네트워크 격리  보안 강화 격리된 논리 IP 영역, 네트워크 정책 적용 가능
클러스터 IP 주소 확장성 제공 Pod IP 주소 공간 확장 용이, 대규모 클러스터 지원
외부 IP 고갈 문제 해소 VNet  IP 고갈 문제 없이 오버레이 IP Pool 범위 확장
NAT 통한 외부네트워크 접근 지원 노드 IP 통한 NAT 아웃바운드 리소스 접근
외부에서 Pod 직접 접근 차단 보안성 강화, 외부 리소스는 클러스터  Service 또는 LB 통한 접근 필수

 

4. 운영 시 고려 사항 및 제한

  • Overlay 네트워크 설정 시, Pod IP 풀(CIDR)과 VNet 서브넷 CIDR의 충돌 방지 필요
  • NAT 포트 부족으로 인한 아웃바운드 병목 가능성 대비, 관리형 NAT Gateway 활용 권장
  • VXLAN 터널링 장애, 네트워크 정책(NSG), 사용자 정의 라우팅(UDR) 적용 시 경로 오류에 유의
  • 클러스터 스케일링 시 신규 노드에 대한 서브넷 자동 배분 관리 필요
  • 로깅 모니터링 툴을 통해 Overlay 터널 상태 및 트래픽 이상 조기 감지 체계 구현
  • IPv6 또는 Dual stack 환경에서는 지원 제한 사항 및 구성 제한 확인 필요

5. AKS Overlay 네트워크 주요 설정 옵션

옵션명 예시 설명
networkPlugin azure (Azure CNI) Azure CNI 플러그인 지정
networkPluginMode overlay Overlay 네트워크 모드 활성화
podCidr 10.244.0.0/16 Pod 할당할 논리 IP 대역 사이즈
vnetSubnetId 전체 서브넷 리소스 ID (URI) 클러스터가 속한 Azure VNet 서브넷 리소스 ID
serviceCidr 10.0.0.0/16 Kubernetes 서비스 IP  CIDR
dnsServiceIp 10.0.0.10 Kubernetes 내부 DNS 서비스 IP
outboundType loadBalancermanagedNATGateway 아웃바운드 NAT 트래픽 처리 방식 지정
nsgId NSG(네트워크 보안 그룹) 리소스 ID Azure 네트워크 보안 규칙 연동
routeTableId 라우팅 테이블 ID 사용자 정의 라우팅 테이블 관리
privateClusterEnabled true/false 제어 플레인 프라이빗 클러스터 활성화 여부

 

- AKS Overlay 네트워크 구성 예시 (Azure CLI)

bash
az aks create \
  --resource-group myResourceGroup \
  --name myOverlayCluster \
  --network-plugin azure \
  --network-plugin-mode overlay \
  --pod-cidr 10.244.0.0/16 \
  --service-cidr 10.0.0.0/16 \
  --dns-service-ip 10.0.0.10 \
  --outbound-type managedNATGateway \
  --vnet-subnet-id /subscriptions/xxx/resourceGroups/yyy/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet \
  --nsg-resource-id /subscriptions/xxx/resourceGroups/yyy/providers/Microsoft.Network/networkSecurityGroups/myNSG \
  --route-table-id /subscriptions/xxx/resourceGroups/yyy/providers/Microsoft.Network/routeTables/myUDR \
  --enable-private-cluster false

 

6. 관련 링크