Application Gateway 수신 컨트롤러란?

AGIC(Application Gateway 수신 컨트롤러)는 Kubernetes 애플리케이션으로, AKS(Azure Kubernetes Service) 고객이 Azure의 네이티브 Application Gateway L7 부하 분산 장치를 활용하여 클라우드 소프트웨어를 인터넷에 노출할 수 있습니다. AGIC는 호스팅되는 Kubernetes 클러스터를 모니터링하고 Application Gateway를 지속적으로 업데이트하여 선택한 서비스가 인터넷에 노출되도록 합니다.

수신 컨트롤러는 고객의 AKS에 있는 자체 Pod에서 실행됩니다. AGIC는 Kubernetes 리소스의 하위 집합에서 변경 내용을 모니터링합니다. AKS 클러스터의 상태는 Application Gateway 특정 구성으로 변환되고 ARM(Azure Resource Manager)적용됩니다.

컨테이너용 Application Gateway란?도 참조 하세요.

Application Gateway 수신 컨트롤러의 이점

AGIC를 사용하면 AKS 클러스터 앞에 다른 부하 분산 장치/공용 IP 주소가 필요하지 않으며 요청이 AKS 클러스터에 도달하기 전에 데이터 경로에서 여러 홉을 방지할 수 있습니다. Application Gateway는 개인 IP 주소를 사용하여 Pod와 직접 대화하며 NodePort 또는 KubeProxy 서비스가 필요하지 않습니다. 또한 이 기능은 배포에 더 나은 성능을 제공합니다.

수신 컨트롤러는 Standard_v2 및 WAF_v2 SKU에서만 지원되므로 자동 크기 조정 혜택도 사용할 수 있습니다. AKS 클러스터의 리소스를 사용하지 않고 트래픽 로드의 증가 또는 감소에 대응하여 적절하게 크기를 조정할 수 있습니다.

AGIC 외에도 Application Gateway를 사용하면 TLS 정책 및 WAF(웹 애플리케이션 방화벽) 기능을 제공하여 AKS 클러스터를 보호할 수 있습니다.

Azure Application Gateway + AKS

AGIC는 서비스 및 배포/Pod와 함께 Kubernetes 수신 리소스를 통해 구성됩니다. Azure의 네이티브 Application Gateway L7 부하 분산 장치를 사용하여 많은 기능을 제공합니다. 몇 가지 이름을 지정하려면 다음을 수행합니다.

  • URL 라우팅
  • 쿠키 기반 선호도
  • TLS 종료
  • 엔드투엔드 TLS
  • 퍼블릭, 프라이빗 및 하이브리드 웹 사이트 지원
  • 통합 웹 애플리케이션 방화벽

Helm 배포와 AKS 추가 기능 간의 차이점

AKS 클러스터에 AGIC를 배포하는 방법에는 두 가지가 있습니다. 첫 번째 방법은 Helm을 통한 것입니다. 두 번째는 AKS를 추가 기능으로 사용하는 것입니다. AKS 추가 기능으로 AGIC를 배포할 때의 주요 이점은 Helm을 통해 배포하는 것보다 더 간단하다는 것입니다. 새 설치의 경우 Azure CLI에서 한 줄에 AGIC를 추가 기능으로 사용하여 새 Application Gateway 및 새 AKS 클러스터를 배포할 수 있습니다. 또한 추가 기능은 완전히 관리되는 서비스이며, 자동 업데이트 및 지원 증가와 같은 추가 이점을 제공합니다. AGIC(Helm 및 AKS 추가 기능)를 배포하는 두 가지 방법은 모두 Microsoft에서 완벽하게 지원됩니다. 또한 추가 기능을 사용하면 AKS를 첫 번째 클래스 추가 기능으로 사용하여 AKS와의 통합을 개선할 수 있습니다.

AGIC 추가 기능은 여전히 고객의 AKS 클러스터에서 Pod로 배포되지만 Helm 배포 버전과 AGIC의 추가 기능 버전 간에는 몇 가지 차이점이 있습니다. 다음은 두 버전 간의 차이점 목록입니다.

  • HELM 배포 값은 AKS 추가 기능에서 수정할 수 없습니다.
    • verbosityLevel 는 기본적으로 5로 설정됩니다.
    • usePrivateIp 는 기본적으로 false로 설정됩니다. 이 설정은 use-private-ip 주석으로 덮어쓸 수 있습니다.
    • shared 가 추가 기능에서 지원되지 않음
    • reconcilePeriodSeconds 가 추가 기능에서 지원되지 않음
    • armAuth.type 가 추가 기능에서 지원되지 않음
  • Helm을 통해 배포된 AGIC는 ProhibitedTargets를 지원합니다. 즉, AGIC는 다른 기존 백 엔드에 영향을 주지 않고 AKS 클러스터용 Application Gateway를 구성할 수 있습니다. AGIC 추가 기능은 현재 이 기능을 지원하지 않습니다.
  • AGIC 추가 기능은 관리되는 서비스이므로 고객이 AGIC를 수동으로 업데이트해야 하는 Helm을 통해 배포된 AGIC와 달리 고객은 자동으로 최신 버전의 AGIC 추가 기능으로 업데이트됩니다.

참고 항목

고객은 AKS 클러스터당 하나의 AGIC 추가 기능만 배포할 수 있으며, 각 AGIC 추가 기능은 현재 하나의 Application Gateway만 대상으로 지정할 수 있습니다. 클러스터당 두 개 이상의 AGIC가 필요한 배포 또는 Application Gateway 하나를 대상으로 하는 여러 AGIC가 필요한 배포의 경우 Helm을 통해 배포된 AGIC를 계속 사용하세요.

다음 단계

  • AKS 추가 기능 Greenfield 배포: 빈 슬레이트 인프라에 AGIC 추가 기능, AKS 및 Application Gateway를 설치하는 방법에 대한 지침입니다.
  • AKS 추가 기능 Brownfield 배포: 기존 Application Gateway를 사용하여 AKS 클러스터에 AGIC 추가 기능을 설치합니다.
  • Helm 그린필드 배포: Helm, 새로운 AKS 클러스터 및 새로운 Application Gateway를 통해 빈 슬레이트 인프라에 AGIC를 설치합니다.
  • Helm Brownfield 배포: 기존 AKS 클러스터 및 Application Gateway에서 Helm을 통해 AGIC를 배포합니다.