Azure Kubernetes Service 하이브리드를 사용한 Windows 컨테이너 네트워킹

완료됨

AKS(Azure Kubernetes Service) 하이브리드는 AKS 클러스터를 확장하여 온-프레미스로나 다른 클라우드에서 실행할 수 있는 기능입니다. AKS 하이브리드를 사용하면 모든 Kubernetes 클러스터에서 Windows 컨테이너를 실행할 수 있습니다. 이 방법을 사용하면 애플리케이션을 실행하는 위치를 보다 유연하게 제어할 수 있습니다. AKS에 사용하는 것과 동일한 도구와 명령을 사용하여 AKS 하이브리드 클러스터를 관리하고 모니터링할 수 있습니다. 이 모듈에서 배운 것과 동일한 네트워킹 개념 및 리소스를 사용할 수도 있습니다.

Azure Arc를 사용하는 AKS 하이브리드

Docker 및 Windows를 사용하여 몇 개의 컨테이너는 수동으로 쉽게 관리할 수 있지만 애플리케이션은 종종 5개, 10개 또는 수백 개의 컨테이너를 사용합니다. 더 크거나 더 복잡한 구성의 경우 Kubernetes 오케스트레이션은 컨테이너 관리에 매우 유용합니다. AKS는 Kubernetes 및 필수 Azure 추가 기능을 설정하고 워크로드를 호스트할 Kubernetes 클러스터를 만드는 데 도움이 되는 마법사를 제공하여 온-프레미스 Kubernetes 배포를 간소화합니다.

AKS 하이브리드를 사용하여 온-프레미스 Kubernetes를 설정하고 Kubernetes 클러스터를 만든 후에는 Azure Arc를 사용하여 Azure Portal에서 Kubernetes 인프라를 관리하고 모니터링할 수 있습니다. Azure Arc는 동일한 위치(또는 단일 창)에서 하이브리드 리소스를 관리하고 제어할 수 있도록 도와주는 서비스입니다. 클라우드 및 온-프레미스 환경에서 Kubernetes 클러스터에 배포된 애플리케이션을 관리할 수 있습니다. 또한 Azure Arc를 사용하면 Azure Monitor, Azure Policy 및 역할 기반 액세스 제어를 비롯한 다른 Azure 서비스를 사용하여 Kubernetes 클러스터를 관리할 수 있습니다.

AKS 하이브리드 네트워킹 모델

AKS 하이브리드에서는 Flannel Overlay 또는 Project Calico 네트워킹 모델을 사용하여 클러스터를 배포할 수 있습니다. 두 구현 모두 오버레이 네트워크 구성 모델을 사용합니다. 오버레이 모델은 나머지 데이터 센터 네트워킹과 연결이 끊긴 IP 주소 할당을 제공합니다.

Important

현재 오버레이 네트워킹 모드에서는 Calico가 기본 선택 사항입니다. New-AksHciCluster에서 Flannel 모델을 사용하도록 클러스터를 구성할 수 있습니다. PowerShell 명령. 오버레이 네트워킹 모델을 구성하고 클러스터를 배포한 후에는 네트워킹 구성을 변경할 수 없습니다.

Flannel Overlay 모델에서 네트워크 리소스는 일반적으로 클러스터를 배포할 때 생성되고 구성됩니다. 이 모델은 컨테이너용으로 특별히 설계된 가상 네트워킹 레이어입니다. Flannel은 호스트 네트워크를 오버레이하는 플랫 네트워크를 만듭니다. 모든 컨테이너와 Pod는 단일 IP 주소에 할당되며 서로의 IP 주소에 연결하여 직접 통신합니다.

Project Calico 모델은 네트워크 정책 및 흐름 제어와 같은 추가 네트워킹 기능을 제공합니다. Calico는 컨테이너, 가상 머신, 네이티브 호스트 기반 워크로드를 위한 오픈 소스 네트워킹 및 네트워크 보안 솔루션입니다. 이 모델은 HNS(Windows Host Networking Service) 데이터 평면을 포함한 여러 데이터 평면을 지원합니다.

Kubernetes 노드 네트워킹

AKS 하이브리드의 네트워킹 구성에서 가장 먼저 고려해야 할 사항은 충분한 IP 주소를 제공하는 네트워크 모델을 선택하는 것입니다. AKS 하이브리드는 가상 네트워킹을 사용하여 Kubernetes 노드 리소스에 IP 주소를 할당합니다.

두 가지 IP 주소 할당 모델이 있습니다.

  • 고정 IP 네트워킹: 이 모델은 더 예측 가능하지만 초기 구성에 더 많은 노력이 필요합니다.
  • DHCP(동적 호스트 구성 프로토콜) 네트워킹: 이 할당은 IP 주소의 동적 할당을 사용하므로 수고가 덜 들지만 사용 가능한 IP 풀을 모두 소진하지 않도록 주의해야 합니다. 또한 가상 IP 풀 및 클라우드 에이전트 서비스와 같은 특정 클러스터 전체 리소스에 대한 예약 및 제외 범위를 관리해야 합니다.

두 할당 모델 모두 가상 IP 풀과 Kubernetes 노드 VM IP 풀에 대한 IP 주소를 계획해야 합니다.

IP 주소 할당

애플리케이션 워크로드의 네트워크 구성을 간소화하기 위해 AKS 하이브리드는 배포의 특정 개체에 IP 주소를 할당합니다.

  • Kubernetes 클러스터 API 서버. Kubernetes API를 노출하는 Kubernetes 컨트롤 플레인의 프런트 엔드입니다.
  • Kubernetes 노드(작업자 가상 머신). 이러한 가상 머신은 AKS 하이브리드에서 고가용성 가상 머신으로 만들어집니다.
  • Kubernetes 서비스. 서비스는 Pod IP 주소를 그룹화하여 단일 IP 주소를 통해 직접 액세스할 수 있도록 하고 부하 분산 장치를 사용하여 트래픽을 분산합니다.
  • HAProxy 부하 분산 장치. 여러 엔드포인트에 수신 요청을 분산하는 TCP/HTTP 부하 분산 장치 및 프록시 서버입니다.
  • Microsoft 온-프레미스 클라우드 서비스. 온-프레미스 AKS 하이브리드 클러스터에서 Kubernetes를 호스팅하는 가상화된 환경을 만들고 관리할 수 있는 클라우드 공급자입니다. AKS 하이브리드 클러스터에 구현된 네트워킹 모델에 따라 Microsoft 온-프레미스 클라우드 서비스에서 사용하는 IP 주소 할당 방식이 결정됩니다.

AKS 하이브리드의 부하 분산

소규모 배포의 경우 기본 제공 부하 분산 장치를 사용할 수 있습니다. 이 옵션은 HAProxy 및 KeepAlive를 사용하여 Linux 가상 머신으로 배포됩니다. AKS 클러스터의 일부로 배포된 애플리케이션 서비스에 트래픽을 보냅니다. 사용자 지정 부하 분산 장치를 사용하여 서비스의 트래픽을 관리할 수도 있습니다. 이 옵션은 배포에 유연성을 더하고 부하 분산 장치를 사용하는 SDN(소프트웨어 정의 네트워크) 배포와 같은 기존 배포와 함께 AKS 하이브리드가 작동하도록 합니다.