의사 결정 기준

완료됨

사용 사례에 가장 적합한 네트워크 플러그 인을 선택하는 것은 다양한 의사 결정 기준에 따라 달라집니다. 각 옵션에는 장단점이 있으며 선택할 때 절충 사항을 고려해야 합니다.

높은 수준의 의사 결정 기준

IPv4 소모

Kubenet은 IP 주소 공간의 보존을 염두에 두고 설계되었습니다. Azure CNI는 Pod에 완벽한 네트워크 연결을 제공하지만 더 많은 IP 주소 공간과 계획이 필요합니다. 주소 범위가 너무 작아서 확장 또는 업그레이드 작업 중에 더 많은 노드를 허용하거나 예상되는 애플리케이션 요구를 지원할 수 없습니다.

Kubenet을 사용하면 클러스터에서 실행될 수 있는 모든 잠재적 pod를 위해 많은 수의 IP 주소를 미리 예약할 필요가 없이, 노드가 정의된 IP 주소를 수신할 수 있습니다. 훨씬 더 작은 IP 주소 범위를 사용할 수 있으며 대규모 클러스터 및 애플리케이션 요구를 여전히 지원할 수 있습니다.

다음 기본 계산은 네트워크 모델의 차이를 비교합니다.

  • kubenet - 간단한 /24 IP 주소 범위 하나로 클러스터의 노드를 최대 251개 지원할 수 있습니다(각 Azure Virtual Network 서브넷은 관리 작업을 위해 처음 3개의 IP 주소를 예약함). 이 노드 수로 최대 27,610개의 pod를 지원할 수 있습니다(kubenet을 사용할 경우 노드당 최대 pod 기본값이 110개임).
  • Azure CNI - 동일한 기본/24 서브넷 범위는 클러스터에서 최대 8개의 노드만 지원할 수 있습니다. 이 노드 수로 최대 240개의 pod만 지원할 수 있습니다(Azure CNI를 사용할 경우 노드당 최대 pod 기본값이 30개임).

클러스터 크기

Kubenet의 하드 최대 노드 개수는 클러스터당 400개입니다. Azure CNI를 사용하는 경우 클러스터당 노드 제한은 플러그 인을 구성하는 방법에 따라 달라집니다.

연결

Kubenet에서는 UDR(사용자 정의 경로)을 수동으로 관리하고 유지 관리해야 합니다. 클러스터 외부에서 Pod에 도달하려면 부하 분산 장치를 사용해야 합니다. Azure CNI를 사용하는 경우 Pod는 전체 가상 네트워크 연결을 가져오고 연결된 네트워크에서 개인 IP 주소를 통해 직접 연결할 수 있습니다.

다중 클러스터 지원

kubenet에서는 여러 클러스터가 동일한 노드 서브넷을 사용할 수 없습니다. Azure CNI를 사용하면 이 구성이 가능합니다.

대기 시간

Azure CNI에 비해 Kubenet에는 약간의 대기 시간을 도입할 수 있는 추가 홉이 필요합니다. 대기 시간에 민감한 워크로드는 Azure CNI를 사용하여 클러스터에 배포해야 합니다.

추가 기능

Azure CNI는 노드 풀당 서브넷, IP의 동적 할당, 노드 대 Pod 서브넷 할당과 같은 복잡한 네트워크 토폴로지를 지원합니다. 또한 많은 기능에는 가상 노드 또는 Azure 네트워크 정책과 같은 Azure CNI 네트워킹도 필요합니다.

Kubenet과 Azure CNI 간의 동작 차이

높은 수준의 조건 외에도 기능 지원에는 많은 동작 차이와 불일치가 있습니다.

기능 kubenet Azure CNI
기존 또는 새 가상 네트워크에 클러스터 배포 지원됨 - UDR이 수동 적용됨 지원 여부
Pod - Pod 연결 지원 여부 지원 여부
Pod - VM 연결, 동일한 가상 네트워크의 VM Pod에 의해 시작된 경우 작동함 두 가지 방식 작동
Pod - VM 연결, 피어링된 가상 네트워크의 VM Pod에 의해 시작된 경우 작동함 두 가지 방식 작동
VPN 또는 Express 경로를 사용하여 온-프레미스 액세스 Pod에 의해 시작된 경우 작동함 두 가지 방식 작동
서비스 엔드포인트에 의해 보호되는 리소스 액세스 지원 여부 지원됨
프라이빗 엔드포인트에서 노출된 리소스에 대한 액세스 지원됨 지원 여부
부하 분산 장치 서비스, App Gateway 또는 수신 컨트롤러를 사용하는 Expose Kubernetes 서비스 지원 여부 지원 여부
기본 Azure DNS 및 프라이빗 영역 지원 여부 지원됨
Windows 노드 풀 지원 지원되지 않음 지원됨
가상 노드 지원되지 않음 지원됨
하나의 서브넷을 공유하는 여러 클러스터 지원되지 않음 지원됨
지원되는 네트워크 정책 Calico Calico 및 Azure 네트워크 정책