AKS 네트워크 방식 비교 가이드: Azure CNI Overlay, Azure CNI, Kubenet 비교

Azure Kubernetes Service(AKS)에서 제공하는 세 가지 주요 네트워크 방식의 차이점과 선택 기준을 상세히 알아봅니다.

2025. 8. 15.
7개 태그

AKS 네트워크 방식 비교 가이드

Azure Kubernetes Service(AKS)의 구성에 있어서 적절한 네트워크 방식을 선택하는 것은 클러스터의 성능, 확장성, 그리고 관리 복잡도에 큰 영향을 미칩니다. 이 포스트에서는 AKS에서 제공하는 세 가지 주요 네트워크 방식을 깊이 있게 살펴보겠습니다.

🔍 AKS 네트워크 방식 개요

AKS는 현재 다음과 같은 주요 네트워크 방식을 지원합니다:

  1. Azure CNI (Flat Network)
    • Node Subnet (Legacy) - 노드와 Pod가 같은 서브넷 사용
    • Pod Subnet (권장) - Pod 전용 서브넷 사용
  2. Azure CNI Overlay (권장)
  3. Kubenet (⚠️ 2028년 3월 31일 서비스 종료 예정)
Mermaid diagram
Kubenet 서비스 종료 공지

Kubenet은 2028년 3월 31일부로 완전히 서비스가 종료됩니다. 새로운 클러스터 생성이 불가능해지므로, 기존 Kubenet 클러스터는 Azure CNI Overlay로 마이그레이션을 계획해야 합니다.

1. Azure CNI (Flat Network)

Azure CNI는 Pod에 Azure VNet 서브넷에서 직접 IP 주소를 할당하는 방식으로, 두 가지 구성 방법을 제공합니다.

Azure CNI Node Subnet (Legacy)

개념과 특징

전통적인 Azure CNI 방식으로, 노드와 Pod가 같은 서브넷에서 IP 주소를 할당받습니다. 각 노드는 미리 정해진 수의 IP 주소를 예약하여 Pod에 할당합니다.

주요 특징

  • 고정 IP 예약: 각 노드가 미리 정해진 수의 IP 주소를 예약
  • 동일 서브넷: 노드와 Pod가 같은 VNet 서브넷 사용
  • IP 고갈 위험: 대규모 확장 시 IP 주소 고갈 가능성

Azure CNI Pod Subnet

개념과 특징

노드와 Pod가 서로 다른 서브넷을 사용하는 개선된 방식입니다. Pod 전용 서브넷을 통해 더 효율적인 IP 관리가 가능합니다.

주요 특징

  • 분리된 서브넷: 노드 서브넷과 Pod 서브넷을 별도로 관리
  • 동적 IP 할당: 필요에 따라 동적으로 Pod IP 할당
  • 향상된 확장성: IP 주소 고갈 문제 해결
  • 독립적 확장: 노드와 Pod 서브넷을 독립적으로 확장 가능

Pod Subnet 할당 방식

  • Dynamic IP Allocation: Pod IP를 동적으로 할당하여 효율적인 IP 사용
  • Static Block Allocation: CIDR 블록 단위로 정적 할당 (최대 100만 Pod 지원, Kubernetes 1.28+ 필요)

Azure CNI 공통 장점

  • 직접 VNet 연결: Pod가 전체 VNet 연결성을 가지며, 연결된 네트워크에서 private IP 주소를 통해 직접 접근할 수 있습니다
  • 고급 기능 지원: Virtual nodes, Network Policies 등 모든 AKS 고급 기능 지원
  • 외부 통신: 클러스터 외부 리소스와의 통신이 주를 이루는 경우에 적합
  • SNAT 없음: 클러스터를 떠나는 트래픽이 SNAT되지 않으며, Pod IP 주소가 목적지에 직접 노출

IP 주소 할당 구조 비교

Node Subnet (Legacy) 방식

  • 클러스터 노드: VNet 서브넷에서 IP 할당 (예: 10.1.1.4, 10.1.1.5, 10.1.1.6)
  • Pod: 동일한 VNet 서브넷에서 IP 할당 (예: 10.1.1.10, 10.1.1.11, 10.1.1.12)
  • 단점: 노드와 Pod가 같은 서브넷을 공유하여 IP 주소 소모량이 많음
Mermaid diagram

Pod Subnet (권장) 방식

  • 클러스터 노드: 노드 전용 서브넷에서 IP 할당 (예: 10.1.1.4, 10.1.1.5, 10.1.1.6)
  • Pod: Pod 전용 서브넷에서 IP 할당 (예: 10.1.2.10, 10.1.2.11, 10.1.2.12)
  • 장점: 서브넷 분리로 효율적인 IP 관리 및 독립적 확장 가능
Mermaid diagram

사용 시나리오

  • 충분한 IP 주소 공간이 있는 경우
  • 대부분의 Pod 통신이 클러스터 외부 리소스와 발생하는 경우
  • 외부 리소스에서 Pod에 직접 접근해야 하는 경우
  • Virtual nodes 등 고급 AKS 기능이 필요한 경우

제한 사항

  • IP 주소 소모: 대규모의 단편화되지 않은 VNet IP 주소 공간이 필요합니다
  • 복잡한 IP 관리: 클러스터 확장 시 IP 주소 계획이 복잡해집니다

2. Azure CNI Overlay

개념과 특징

Azure CNI Overlay는 클러스터 노드가 Azure Virtual Network(VNet) 서브넷에 배포되지만, Pod들은 VNet과 논리적으로 분리된 별도의 private CIDR에서 IP 주소를 할당받는 방식입니다. Pod와 노드 간의 트래픽은 Overlay 네트워크를 사용하며, 클러스터 외부 리소스에 접근할 때는 NAT(Network Address Translation)를 통해 노드의 IP 주소를 사용합니다.

핵심 장점

Azure CNI Overlay 핵심 이점
  • IP 주소 절약: VNet IP 주소를 대폭 절약하여 대규모 클러스터 확장이 가능합니다
  • 재사용 가능한 CIDR: 동일한 private CIDR을 여러 AKS 클러스터에서 재사용할 수 있어 IP 공간을 확장할 수 있습니다
  • 확장성: 각 노드당 최대 250개의 Pod를 실행할 수 있으며, /24 서브넷에 최대 251개의 노드를 배치할 수 있습니다

IP 주소 할당 구조

Azure CNI Overlay IP 할당 구조:

  • 클러스터 노드: VNet 서브넷에서 IP 할당 (예: 10.1.1.0/24)
  • Pod: 별도 CIDR에서 IP 할당 (예: 192.168.0.0/16)
  • 각 노드: /24 주소 공간 할당 (Pod용)
Mermaid diagram

네트워크 트래픽 처리

Pod 간 트래픽은 캡슐화되지 않으며, 서브넷 NSG 규칙이 적용됩니다. Pod에서 Pod CIDR 블록 외부의 목적지로 향하는 트래픽은 SNAT를 통해 해당 Pod가 실행되는 노드의 IP를 소스 IP로 설정합니다.

사용 시나리오

  • 대규모 Pod 확장이 필요하지만 VNet IP 주소 공간이 제한적인 경우
  • 대부분의 Pod 통신이 클러스터 내부에서 발생하는 경우
  • Virtual nodes와 같은 고급 AKS 기능이 필요하지 않은 경우

3. Kubenet

개념과 특징

Kubenet은 노드가 Azure VNet 서브넷에서 IP 주소를 받고, Pod는 노드의 Azure VNet 서브넷과 논리적으로 다른 주소 공간에서 IP 주소를 받는 방식입니다. NAT(Network Address Translation)를 사용하여 Pod가 Azure VNet의 리소스와 통신할 수 있도록 구성됩니다.

핵심 특징

  • UDR 의존성: 사용자 정의 라우팅(UDR)과 IP 포워딩을 통해 노드 간 Pod 연결을 처리합니다
  • 제한된 확장성: Azure는 UDR에서 최대 400개의 라우트를 지원하므로, AKS 클러스터는 400개 이상의 노드를 가질 수 없습니다
  • 기본 네트워킹: 가장 기본적인 네트워킹 방식

제한 사항

  • Kubenet은 Windows Server 컨테이너에 사용할 수 없습니다
  • AKS virtual nodes와 Azure Network Policies는 Kubenet에서 지원되지 않습니다
  • Kubenet 설계에서는 추가적인 홉이 필요하여 Pod 통신에 약간의 지연이 추가됩니다

4. Azure CNI Overlay vs Kubenet 비교

두 방식 모두 별도의 Pod CIDR을 사용하지만, 서로 다른 노드 간 Pod 통신 방식에서 차이가 있습니다.

Azure CNI Overlay

  • 직접 Pod 간 통신: Pod들이 overlay 네트워크를 통해 직접 통신
Mermaid diagram

Kubenet

  • UDR 의존성: 사용자 정의 라우팅(UDR)과 IP 포워딩을 통해 노드 간 Pod 연결을 처리합니다
Mermaid diagram

핵심 차이점: Pod 간 통신 방식 비교

통신 유형Azure CNI OverlayKubenet
Pod ↔ Pod (같은 노드)✅ 추가 홉 없음 - 직접 통신✅ 추가 홉 없음 - 직접 통신
Pod ↔ Pod (다른 노드)✅ 추가 홉 없음 - Overlay 직접 통신🔴 추가 홉 발생 - UDR + IP Forwarding 경유
Pod ↔ 외부 리소스✅ NAT 적용 - Node IP 사용✅ NAT 적용 - Node IP 사용
외부 ↔ Pod❌ 직접 접근 불가❌ 직접 접근 불가

5. 설치 및 구성 명령어

AKS 네트워크 방식별 클러스터 생성

# Azure CNI Overlay 클러스터 생성
az aks create \
--resource-group myResourceGroup \
--name myAKSCluster \
--network-plugin azure \
--network-plugin-mode overlay \
--pod-cidr 192.168.0.0/16 \
--service-cidr 10.0.0.0/16 \
--dns-service-ip 10.0.0.10 \
--location koreacentral \
--node-count 3 \
--generate-ssh-keys

6. 각 네트워크 방식 비교

특징Azure CNI OverlayAzure CNI Pod SubnetAzure CNI Node SubnetKubenet
IP 주소 절약✅ 우수🟡 보통❌ 많은 소모✅ 절약
외부 직접 접근❌ NAT 필요✅ 직접 접근✅ 직접 접근❌ NAT 필요
고급 기능 지원✅ 대부분 지원✅ 모든 기능✅ 모든 기능❌ 제한적
확장성✅ 우수✅ 우수 (최대 100만 Pod)🟡 VNet 제한 내⚠️ 400 nodes 한계
관리 복잡도🟡 보통🟡 보통🟡 보통🔴 높음 (UDR)
Windows 지원✅ 지원✅ 지원✅ 지원❌ 미지원
권장도✅ 권장✅ 권장⚠️ 레거시❌ 종료 예정

7. 실제 구현 시 고려사항

IP 주소 계획

CNI Overlay 사용 시:

  • Pod CIDR: 클러스터 확장을 고려하여 충분히 큰 범위 선택
  • 노드 서브넷: /24 서브넷당 최대 251개 노드 고려
Mermaid diagram

8. 미래 로드맵

Mermaid diagram
  1. Kubenet 완전 종료: 2028년 3월 31일
  2. CNI Overlay 지속 개선: 성능 최적화 및 기능 확장
  3. Azure CNI powered by Cilium: eBPF 기반 고급 네트워킹 기능

✨ 결론

AKS 네트워킹 권장사항

현재 상황에서는 Azure CNI Overlay가 대부분의 시나리오에서 최선의 선택입니다. IP 주소 효율성, 확장성, 그리고 미래 지향적인 기능 지원을 고려할 때 가장 균형 잡힌 솔루션을 제공합니다.

특별한 요구사항(외부 직접 접근, 고급 기능 필요)이 있는 경우에만 Azure CNI를 고려하고, Kubenet은 2028년 서비스 종료를 대비하여 가능한 빨리 마이그레이션을 계획해야 합니다.

이 포스트는 2025년 8월 기준 최신 Azure 공식 문서를 바탕으로 작성되었습니다. 최신 정보는 Microsoft Learn - AKS의 네트워킹 개념에서 확인하실 수 있습니다.

댓글

0/500
댓글을 불러오는 중...