다음을 통해 공유


Azure Kubernetes Service 환경에 대한 확장성 고려 사항

AKS(Azure Kubernetes Service)는 인프라 요구 사항(더 많거나 적은 용량 필요)에 따라 스케일 인 및 스케일 아웃할 수 있으며, GPU 또는 애플리케이션 요구와 같은 특수 기능이 있는 노드 풀을 추가할 수 있습니다. 이 경우 동시 연결 수 및 속도, 요청 수, AKS 애플리케이션의 백 엔드 대기 시간과 같은 몇 가지 요인이 있습니다.

AKS의 가장 일반적인 확장성 옵션은 클러스터 자동 크기 조정기수평 Pod 자동 크기 조정기입니다. 클러스터 자동 크기 조정기는 노드 풀에서 요청된 컴퓨팅 리소스에 따라 노드 수를 조정합니다. HPA(가로 Pod 자동 크기 조정기)는 CPU 사용률 또는 기타 구성된 메트릭에 따라 배포의 Pod 수를 조정합니다.

디자인 고려 사항

고려해야 할 몇 가지 중요한 요인은 다음과 같습니다.

  • 빠른 확장성이 애플리케이션에 대한 요구 사항인가요(대기 시간 없음)?

    • Pod의 빠른 프로비저닝이 가상 노드를 사용하도록 하려면 Linux 노드/Pod에서만 지원됩니다.
  • 워크로드가 시간에 민감하지 않고 중단을 처리할 수 있나요? 스폿 VM 사용 고려

  • 기본 인프라(네트워크 플러그 인, IP 범위, 구독 제한, 할당량 등)를 스케일 아웃할 수 있나요?

  • 확장성 자동화 고려

  • 다중 영역 및 노드 풀을 사용하여 확장성 고려

    • 노드 풀을 만들 때 AKS를 사용하여 가용성 영역을 설정하는 것이 좋습니다.
    • 여러 노드 풀을 사용하여 요구 사항이 다른 애플리케이션을 지원하는 것이 좋습니다.
    • 클러스터 자동 크기 조정기를 사용하여 노드 풀을 스케일링합니다.
    • 사용자 노드 풀을 0으로 스케일링할 수 있습니다. 제한 사항을 참조하세요.

디자인 권장 사항

디자인에 대한 다음 모범 사례를 따릅니다.

  • 자동 크기 조정, 여러 노드 풀 및 Windows 노드 풀 지원을 비롯한 시나리오에 필요한 VMSS(가상 머신 확장 집합)를 사용합니다.
    • Azure Portal 또는 Azure CLI를 사용하여 VMSS 확장성 설정을 수동으로 사용하거나 편집하지 마세요. 대신 클러스터 자동 크기 조정기를 사용합니다.
  • 빠른 버스트 자동 크기 조정이 필요한 경우 빠른 무한 확장성 및 초당 청구를 위해 Azure Container Instances 및 가상 노드를 사용하여 AKS 클러스터에서 버스트를 선택합니다.
  • VM 기반 작업자 노드를 사용하여 예측 가능한 확장성을 위해 클러스터 자동 크기 조정기0으로 스케일링을 사용합니다.
  • 애플리케이션 요구를 충족하도록 클러스터 자동 크기 조정기를 활성화합니다.
  • HPA(Horizontal Pod Autoscaler)를 활성화하여 애플리케이션의 사용량이 많은 시간을 완화합니다.
    • 모든 컨테이너 및 Pod에는 리소스 요청 및 제한이 정의되어 있어야 합니다.
    • HPA는 관찰된 리소스 제한 CPU/메모리 또는 사용자 지정 메트릭에 따라 Pod 수를 자동으로 스케일링합니다.
  • 컨테이너용 Azure Monitor 및 라이브 모니터링을 활성화하여 클러스터 및 워크로드 사용률을 모니터링합니다.
  • 애플리케이션에 서로 다른 리소스 요구 사항이 있는 경우 여러 노드 풀을 사용합니다.
  • 중단 및 제거를 처리할 수 있는 시간에 민감하지 않은 워크로드에 대해 스폿 VM 기반 노드 풀을 고려합니다.