AKS 노드 배포를 위한 네트워크 개념

적용 대상: Azure Stack HCI 22H2의 AKS, Windows Server의 AKS

Azure Arc에서 사용하도록 설정된 AKS에 대한 네트워킹 아키텍처에 대한 두 개의 IP 주소 할당 모델 중에서 선택할 수 있습니다. AKS는 AKS(Azure Kubernetes Service)에 대한 여러 배포 옵션을 지원합니다.

  • 고정 IP 네트워킹: 가상 네트워크는 Kubernetes 클러스터 API 서버, Kubernetes 노드, 기본 VM, 부하 분산 장치 및 클러스터 위에서 실행되는 모든 Kubernetes 서비스에 고정 IP 주소를 할당합니다.
  • DHCP 네트워킹: 가상 네트워크는 DHCP 서버를 사용하여 Kubernetes 노드, 기본 VM 및 부하 분산 장치에 동적 IP 주소를 할당합니다. Kubernetes 클러스터 API 서버와 클러스터 위에서 실행하는 모든 Kubernetes 서비스는 여전히 고정 IP 주소가 할당됩니다.

참고

AKS Arc에 대해 여기에 정의된 가상 네트워킹 아키텍처는 데이터 센터의 기본 물리적 네트워킹 아키텍처와 다를 수 있습니다.

가상 IP 풀

VIP(가상 IP) 풀은 AKS Arc의 모든 배포에 필수 IP 주소 집합입니다. VIP 풀은 Kubernetes 클러스터 API 서버에 IP 주소를 할당하는 데 사용되는 예약된 IP 주소의 범위입니다. Kubernetes 서비스의 애플리케이션에 항상 연결할 수 있도록 보장합니다. 가상 네트워킹 모델 및 선택한 주소 할당 모델에 관계없이 AKS 호스트 배포를 위한 VIP 풀을 제공해야 합니다.

VIP 풀의 IP 주소 수는 배포에 대해 계획된 워크로드 클러스터 및 Kubernetes 서비스의 수에 따라 달라집니다.

네트워킹 모델에 따라 VIP 풀 정의는 다음과 같은 방식으로 다릅니다.

  • 고정 IP: 고정 IP를 사용하는 경우 가상 IP 주소가 제공된 동일한 서브넷에 있는지 확인합니다.
  • DHCP: 네트워크가 DHCP로 구성된 경우 네트워크 관리자와 협력하여 AZURE Stack HCI 배포의 AKS에 사용되는 DHCP scope VIP 풀 IP 범위를 제외합니다.

Kubernetes 노드 VM IP 풀

Kubernetes 노드는 AKS Arc에서 특수 가상 머신으로 배포됩니다. AKS는 이러한 가상 머신에 IP 주소를 할당하여 Kubernetes 노드 간의 통신을 사용하도록 설정합니다.

  • 고정 IP: Kubernetes 노드 VM IP 풀 범위를 지정해야 합니다. 이 범위의 IP 주소 수는 AKS 호스트 및 워크로드 Kubernetes 클러스터에 배포하는 데 사용할 총 Kubernetes 노드 수에 따라 달라집니다. 업데이트는 업데이트 중에 1~3개의 추가 IP 주소를 사용합니다.
  • DHCP: Kubernetes 노드에 대한 IP 주소가 네트워크의 DHCP 서버에 의해 동적으로 할당되므로 Kubernetes 노드 VM 풀을 지정할 필요가 없습니다.

이 네트워킹 모델은 정적으로 정의된 주소 풀의 IP 주소를 배포의 모든 개체에 할당하는 가상 네트워크를 만듭니다. 고정 IP 네트워킹을 사용할 경우의 추가 이점은 수명이 긴 배포 및 애플리케이션 워크로드에 항상 연결할 수 있다는 것입니다.

고정 IP 구성을 사용하여 가상 네트워크를 정의하는 동안 다음 매개 변수를 지정합니다.

중요

AKS 호스트 또는 워크로드 클러스터가 배포된 후에는 이 버전의 AKS에서 네트워크 구성 변경을 허용하지 않습니다. 네트워킹 설정을 변경하려면 워크로드 클러스터를 제거하고 AKS를 제거하여 새로 시작해야 합니다.

  • 이름: 가상 네트워크의 이름입니다.

  • 주소 접두사: 서브넷에 사용할 IP 주소 접두사입니다.

  • 게이트웨이: 서브넷에 대한 기본 게이트웨이의 IP 주소입니다.

  • DNS 서버: 서브넷에 사용할 DNS 서버를 가리키는 IP 주소 배열입니다. 최소 1개 및 최대 3개의 서버를 제공할 수 있습니다.

  • Kubernetes 노드 VM 풀: Kubernetes 노드 VM에 사용할 IP 주소의 연속 범위입니다.

  • 가상 IP 풀: Kubernetes 클러스터 API 서버 및 Kubernetes 서비스에 사용할 IP 주소의 연속 범위입니다.

    참고

    VIP 풀은 Kubernetes 노드 VM 풀과 동일한 서브넷의 일부여야 합니다.

  • vLAN ID: 가상 네트워크의 vLAN ID입니다. 생략하면 가상 네트워크에 태그가 지정되지 않습니다.

DHCP 네트워킹을 사용하여 가상 네트워크

이 네트워킹 모델은 배포의 모든 개체에 DHCP를 사용하여 IP 주소를 할당하는 가상 네트워크를 만듭니다.

고정 IP 구성을 사용하여 가상 네트워크를 정의하는 동안 다음 매개 변수를 지정해야 합니다.

중요

이 버전의 AKS에서는 AKS 호스트 또는 워크로드 클러스터가 배포되면 네트워크 구성을 변경할 수 없습니다. 네트워킹 설정을 변경하는 유일한 방법은 워크로드 클러스터를 제거하고 AKS를 제거하여 새로 시작하는 것입니다.

  • 이름: 가상 네트워크의 이름입니다.

  • 가상 IP 풀: Kubernetes 클러스터 API 서버 및 Kubernetes 서비스에 사용할 IP 주소의 연속 범위입니다.

    참고

    VIP 풀 주소는 DHCP scope 동일한 서브넷에 있어야 하며, 주소 충돌을 방지하려면 DHCP scope 제외해야 합니다.

  • vLAN ID: 가상 네트워크의 vLAN ID입니다. 생략하면 가상 네트워크에 태그가 지정되지 않습니다.

Microsoft 온-프레미스 클라우드 서비스

Microsoft 온-프레미스 클라우드(MOC)는 Azure Stack HCI 및 Windows Server 기반 SDDC의 가상 머신을 클라우드에서 관리할 수 있는 관리 스택입니다. MOC는 다음으로 구성됩니다.

  • 클러스터에 배포된 고가용성 cloud agent 서비스의 단일 instance. 이 에이전트는 Azure Stack HCI 또는 Windows Server 클러스터의 한 노드에서 실행되며 다른 노드로 장애 조치(failover)되도록 구성됩니다.
  • node agent 모든 Azure Stack HCI 물리적 노드에서 실행되는 입니다.

MOC와의 통신을 사용하도록 설정하려면 서비스에 사용할 IP 주소 CIDR을 제공해야 합니다. 는 -cloudserviceCIDR 클라우드 에이전트 서비스에 IP 주소를 할당하고 클라우드 에이전트 서비스의 고가용성을 사용하도록 설정하는 데 사용되는 명령의 매개 변수 Set-AksHciConfig 입니다.

MOC 서비스에 대한 IP 주소 선택은 Azure Stack HCI 또는 Windows Server에서 클러스터 배포에 사용되는 기본 네트워킹 모델에 따라 달라집니다.

참고

MOC 서비스에 대한 IP 주소 할당은 Kubernetes 가상 네트워크 모델과 독립적입니다. IP 주소 할당은 기본 물리적 네트워크와 데이터 센터의 Azure Stack HCI 또는 Windows Server 클러스터 노드에 대해 구성된 IP 주소에 따라 달라집니다.

  • DHCP 기반 IP 주소 할당 모드가 있는 Azure Stack HCI 및 Windows Server 클러스터 노드: Azure Stack HCI 노드에 실제 네트워크에 있는 DHCP 서버의 IP 주소가 할당된 경우 MOC 서비스도 DHCP 서버에서 IP 주소를 수신하므로 MOC 서비스에 IP 주소를 명시적으로 제공할 필요가 없습니다.

  • 고정 IP 할당 모델을 사용하는 Azure Stack HCI 및 Windows Server 클러스터 노드: 클러스터 노드에 고정 IP 주소가 할당된 경우 MOC 클라우드 서비스에 대한 IP 주소를 명시적으로 제공해야 합니다. MOC 서비스의 IP 주소는 Azure Stack HCI 및 Windows Server 클러스터 노드의 IP 주소와 동일한 서브넷에 있어야 합니다. MOC 서비스에 대한 IP 주소를 명시적으로 할당하려면 명령에서 -cloudserviceCIDR 매개 변수를 Set-AksHciConfig 사용합니다. CIDR 형식으로 IP 주소를 입력해야 합니다(예: "10.11.23.45/16").

네트워크 모델 비교

DHCP 및 고정 IP는 모두 Azure Stack HCI 및 Windows Server 배포의 AKS에서 네트워크 연결을 제공합니다. 그러나 각 방법에는 장단점이 있습니다. 대략적인 수준에서는 다음과 같은 고려 사항이 적용됩니다.

DHCP - AKS 배포의 일부 리소스 종류에 대한 수명이 긴 IP 주소를 보장하지 않습니다. - 배포가 처음에 예상했던 것보다 커지면 예약된 DHCP IP 주소의 확장을 지원합니다.

고정 IP - AKS 배포의 모든 리소스에 대해 수명이 긴 IP 주소를 보장합니다. - Kubernetes 노드 IP 풀의 자동 확장은 지원되지 않으므로 Kubernetes 노드 IP 풀을 모두 사용한 경우 새 클러스터를 만들지 못할 수 있습니다.

다음 표에서는 고정 IP와 DHCP 네트워킹 모델 간의 리소스에 대한 IP 주소 할당을 비교합니다.

기능 고정 IP DHCP
Kubernetes 클러스터 API 서버 VIP 풀을 사용하여 정적으로 할당됩니다. VIP 풀을 사용하여 정적으로 할당됩니다.
Kubernetes 노드(가상 머신의 경우) Kubernetes 노드 IP 풀을 사용하여 할당됩니다. 동적으로 할당됩니다.
Kubernetes 서비스 VIP 풀을 사용하여 정적으로 할당됩니다. VIP 풀을 사용하여 정적으로 할당됩니다.
HAProxy 부하 분산 장치 VM Kubernetes 노드 IP 풀을 사용하여 할당됩니다. 동적으로 할당됩니다.
Microsoft 온-프레미스 클라우드 서비스 Azure Stack HCI 및 Windows Server 클러스터 노드에 대한 물리적 네트워킹 구성에 따라 달라집니다. Azure Stack HCI 및 Windows Server 클러스터 노드에 대한 물리적 네트워킹 구성에 따라 달라집니다.
VIP 풀 필수 필수
Kubernetes 노드 VM IP 풀 필수 지원되지 않음

AKS 배포에 대한 최소 IP 주소 예약

배포 모델에 관계없이 예약된 IP 주소 수는 동일하게 유지됩니다. 이 섹션에서는 AKS Arc 배포 모델에 따라 예약해야 하는 IP 주소의 수를 설명합니다.

최소 IP 주소 예약

최소한 배포를 위해 다음 IP 주소를 예약해야 합니다.

클러스터 유형 컨트롤 플레인 노드 작업자 노드 업데이트 작업의 경우 부하 분산 장치
AKS 호스트 하나의 IP 해당 없음 두 IP 해당 없음
워크로드 클러스터 노드당 하나의 IP 노드당 하나의 IP 5 IP 하나의 IP

또한 VIP 풀에 대해 다음 수의 IP 주소를 예약해야 합니다.

리소스 유형 IP 주소 수
클러스터 API 서버 클러스터당 1
Kubernetes 서비스 서비스당 1
애플리케이션 서비스 계획된 서비스당 1

여기서 볼 수 있듯이 필요한 IP 주소 수는 AKS 배포의 아키텍처 및 Kubernetes 클러스터에서 실행하는 서비스 수에 따라 가변적입니다. 배포를 위해 최소 256개의 IP 주소(/24개 서브넷)를 예약하는 것이 좋습니다.

예제 배포 연습

Jane은 Azure Arc에서 사용하도록 설정된 AKS부터 시작하는 IT 관리자입니다. Azure Stack HCI 클러스터에 Kubernetes 클러스터 A 및 Kubernetes 클러스터 B라는 두 개의 Kubernetes 클러스터를 배포하려고 합니다. 또한 클러스터 위에서 투표 애플리케이션을 실행하려고 합니다. 이 애플리케이션에는 두 클러스터에서 실행되는 프런트 엔드 UI의 인스턴스 3개와 백 엔드 데이터베이스의 instance 1개가 있습니다.

  • Kubernetes 클러스터 A에는 3개의 컨트롤 플레인 노드와 5개의 작업자 노드가 있습니다.
  • Kubernetes 클러스터 B에는 컨트롤 플레인 노드 1개와 작업자 노드 3개가 있습니다.
  • 프런트 엔드 UI의 인스턴스 3개(포트 443).
  • 백 엔드 데이터베이스의 1 instance(포트 80).

이전 표에 따라 다음을 예약해야 합니다.

  • AKS 호스트의 IP 주소 3개(컨트롤 플레인 노드의 경우 IP 1개, 업데이트 작업을 실행하기 위한 IP 2개).
  • 클러스터 A의 컨트롤 플레인 노드에 대한 3개의 IP 주소(컨트롤 플레인 노드당 하나의 IP).
  • 클러스터 A의 작업자 노드에 대한 5개의 IP 주소(작업자 노드당 하나의 IP).
  • 클러스터 A에 추가로 6개의 IP 주소(업데이트 작업을 실행하기 위한 IP 5개 및 부하 분산 장치의 경우 IP 1개).
  • 클러스터 B의 컨트롤 플레인 노드에 대한 1개의 IP 주소(컨트롤 플레인 노드당 하나의 IP).
  • 클러스터 B의 작업자 노드에 대한 3개의 IP 주소(작업자 노드당 하나의 IP).
  • 클러스터 B에 추가로 6개의 IP 주소(업데이트 작업을 실행하기 위한 IP 5개 및 부하 분산 장치의 경우 IP 1개).
  • Kubernetes 클러스터 API 서버에 대한 2개의 IP 주소(Kubernetes 클러스터당 하나의 IP).
  • Kubernetes 서비스의 IP 주소 3개(프런트 엔드 UI의 instance당 하나의 IP 주소입니다. 모두 동일한 포트를 사용하므로 백 엔드 데이터베이스는 다른 포트를 사용하는 한 세 IP 주소 중 하나를 사용할 수 있습니다.

앞에서 설명한 것처럼 Jane은 클러스터를 배포하려면 총 32개의 IP 주소가 필요합니다. 따라서 Jane은 가상 네트워크에 대해 /26 서브넷을 예약해야 합니다.

고정 IP 네트워크 모델을 기반으로 예약된 IP 주소 분할

예약된 IP 주소의 총 수는 동일하게 유지되지만 배포 모델은 이러한 IP 주소를 IP 그룹 간에 나누는 방법을 결정합니다. 고정 IP 네트워크 모델에는 두 개의 IP 풀이 있습니다.

  • Kubernetes 노드 VM IP 풀: Kubernetes 노드 VM 및 부하 분산 장치 VM의 경우 이 IP 풀에는 업데이트 작업을 실행하는 데 필요한 IP 주소도 포함됩니다.
  • 가상 IP 풀: Kubernetes API 서버 및 Kubernetes 서비스용입니다.

이 예제를 사용하여 Jane은 이러한 IP 주소를 VIP 풀과 Kubernetes 노드 IP 풀 간에 추가로 나누어야 합니다.

  • VIP 풀의 IP 주소 32개 중 5개(Kubernetes 클러스터 API 서버의 경우 2개, Kubernetes 서비스용 3개).
  • Kubernetes 노드 IP 풀에 대한 27(Kubernetes 노드 및 기본 VM, 부하 분산 장치 VM 및 업데이트 작업에 대한 모든 IP 주소)

DHCP 네트워크 모델을 기반으로 예약된 IP 주소 분할

예약된 IP 주소의 총 수는 동일하게 유지되지만 배포 모델은 이러한 IP 주소를 IP 그룹 간에 나누는 방법을 결정합니다. 이전 섹션에서 설명한 대로 DHCP 네트워크 모델에는 하나의 IP scope 있습니다.

  • 가상 IP 풀: Kubernetes API 서버 및 Kubernetes 서비스용

이전 예제로 작업:

  • Jane은 DHCP 서버에서 총 32개의 IP 주소 또는 /26 서브넷을 예약해야 합니다.
  • VIP 풀에 대한 32개의 IP 주소 중 DHCP scope 5개(Kubernetes 클러스터 API 서버의 경우 2개, Kubernetes 서비스의 경우 3개)를 제외해야 합니다.

수신 컨트롤러

대상 클러스터 HAProxy를 배포하는 동안 기반 부하 분산 장치 리소스가 만들어집니다. 이 부하 분산 장치는 지정된 포트에서 서비스의 Pod에 트래픽을 분산 하도록 구성됩니다. 부하 분산 장치는 서비스가 실제 애플리케이션을 인식하지 못했음을 나타내는 계층 4에서만 작동합니다. 즉, 추가 라우팅 고려 사항을 만들 수 없습니다.

수신 컨트롤러는 계층 7에서 작동하며 더 지능적인 규칙을 사용하여 애플리케이션 트래픽을 분산할 수 있습니다. 수신 컨트롤러의 일반적인 용도는 인바운드 URL을 기반으로 HTTP 트래픽을 다른 애플리케이션으로 라우팅하는 것입니다.

Azure Stack HCI의 AKS 클러스터에서 수신 트래픽 흐름을 보여 주는 다이어그램

다음 단계

이 문서에서는 Azure Stack HCI에 AKS 노드를 배포하기 위한 몇 가지 네트워킹 개념에 대해 설명합니다. 자세한 내용은 다음 문서를 참조하세요.