다음을 통해 공유


AKS(Azure Kubernetes Service)의 가용성 영역 개요

이 문서에서는 AKS(Azure Kubernetes Service)의 가용성 영역을 사용하여 애플리케이션의 가용성을 높이는 방법에 대한 개요를 제공합니다.

AKS 클러스터는 기본 Azure 인프라의 논리 섹션에 노드 및 스토리지와 같은 리소스를 배포합니다. 가용성 영역을 사용하면 노드가 다른 가용성 영역에 배포된 다른 노드와 물리적으로 분리됩니다. 클러스터에 구성된 여러 가용성 영역을 사용하여 배포된 AKS 클러스터는 하드웨어 오류 또는 계획된 유지 관리 이벤트를 방지할 수 있는 높은 수준의 가용성을 제공합니다.

Azure 가용성 영역은 무엇입니까?

가용성 영역은 데이터 센터 오류로부터 애플리케이션 및 데이터를 보호하는 데 도움이 됩니다. 영역은 Azure 지역 내의 고유한 물리적 위치입니다. 각 영역에는 전력, 냉각 및 네트워킹을 독립적으로 갖춘 하나 이상의 데이터 센터가 포함됩니다. 복원력을 보장하기 위해 모든 영역 사용 지역에는 항상 둘 이상의 영역이 있습니다. 한 지역 내에서 가용성 영역을 물리적으로 구분하면 애플리케이션 및 데이터를 데이터 센터 오류로부터 보호할 수 있습니다.

가용성 영역을 사용하여 배포된 AKS 클러스터는 단일 지역 내의 여러 영역에 노드를 배포할 수 있습니다. 예를 들어 미국 동부 2 지역의 클러스터는 미국 동부 2의 모든 3개 가용성 영역에 노드를 만들 수 있습니다. 이 AKS 클러스터 리소스 배포는 특정 영역의 오류에 대한 복원력을 제공하므로 클러스터 가용성이 향상됩니다.

가용성 영역 간 AKS 노드 분포를 보여 주는 다이어그램

단일 영역을 사용할 수 없는 경우 애플리케이션은 여러 영역에 분산되도록 구성된 클러스터에서 계속 실행됩니다.

자세한 내용은 Azure 가용성 영역 사용을 참조하세요.

참고 항목

클러스터 자동 크기 조정기를 사용하여 가용성 영역을 구현할 때 각 영역에 단일 노드 풀을 사용하는 것이 좋습니다. --balance-similar-node-groups 매개 변수를 true로 설정하면 스케일 업 작업 중에 워크로드에 대해 영역 전체에 균형 잡힌 노드 배포를 유지할 수 있습니다. 이 방식이 구현되지 않으면 스케일 다운 작업으로 인해 영역 간 노드 균형이 중단될 수 있습니다. 이 구성은 유사한 노드 그룹이 동일한 수의 노드를 가지는 것을 보장하지 않습니다.

  • 현재 분산은 강화 작업 중에만 발생합니다. 클러스터 자동 크기 조정기는 노드 그룹의 상대적 크기에 관계없이 사용량이 부족한 노드를 축소합니다.
  • 클러스터 자동 크기 조정기는 모든 기존 Pod를 실행하는 데 필요한 만큼의 노드만 추가합니다. 예약된 Pod가 더 많은 경우 일부 그룹에는 다른 그룹보다 더 많은 노드가 있을 수 있습니다.
  • 클러스터 자동 크기 조정기는 동일한 보류 중인 Pod 집합을 지원할 수 있는 노드 그룹 간에만 균형을 유지합니다.

또한 Azure ZRS(영역 중복 스토리지) 디스크를 사용하여 선택한 지역의 세 가용성 영역에서 스토리지를 복제할 수 있습니다. ZRS 디스크를 사용하면 데이터 손실 없이 가용성 영역 오류를 복구할 수 있습니다. 자세한 내용은 관리 디스크에 대한 ZRS를 참조하세요.

제한 사항

가용성 영역을 사용하여 AKS 클러스터를 만들 때는 다음과 같은 제한 사항이 적용됩니다.

  • 클러스터 또는 노드 풀을 만드는 동안에만 가용성 영역을 정의할 수 있습니다.
  • 클러스터를 만든 후에는 가용성 영역을 사용하도록 기존 비가용성 영역 클러스터를 업데이트할 수 없습니다.
  • 선택한 노드 크기(VM SKU)를 선택한 모든 가용성 영역에서 사용할 수 있어야 합니다.
  • 가용성 영역이 사용하도록 설정된 클러스터를 영역 간에 배포하려면 Azure 표준 Load Balancer를 사용해야 합니다. 클러스터 만들기 시간에만 이 부하 분산 장치 유형을 정의할 수 있습니다. 표준 부하 분산 장치에 대한 자세한 내용과 제한 사항은 Azure 부하 분산 장치 표준 SKU 제한 사항을 참조하세요.

Azure Disk 가용성 영역 지원

Azure 관리형 LRS 디스크를 사용하는 볼륨은 영역 중복 리소스가 아니며 영역 간 연결은 지원되지 않습니다. 대상 Pod를 호스트하는 지정된 노드와 동일한 영역에서 볼륨을 공동 배치해야 합니다. Azure 관리형 ZRS 디스크를 사용하는 볼륨은 영역 중복 리소스입니다. 모든 영역 및 비영역 에이전트 노드에서 해당 볼륨을 예약할 수 있습니다. 다음 예제에서는 StandardSSD_ZRS 디스크를 사용하여 스토리지 클래스를 만드는 방법을 보여 줍니다.

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: managed-csi-zrs
provisioner: disk.csi.azure.com
parameters:
  skuName: StandardSSD_ZRS  # or Premium_ZRS
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer
allowVolumeExpansion: true

Kubernetes 버전 1.12 이상은 Azure 가용성 영역에 대해 알고 있습니다. Azure Managed Disk를 참조하는 PersistentVolumeClaim 개체를 다중 영역 AKS 클러스터에 배포할 수 있으며, Kubernetes는 올바른 가용성 영역에서 이 PVC를 클레임하는 Pod를 예약하는 과정을 담당합니다.

Kubernetes 버전 1.29부터 효과적으로 AKS(Azure Kubernetes Service) 클러스터를 여러 가용성 영역에 배포할 때 AKS는 이제 ZRS(영역 중복 스토리지)를 활용하여 기본 제공 스토리지 클래스 내에 관리 디스크를 만듭니다. ZRS는 선택한 지역의 여러 Azure 가용성 영역에서 Azure 관리 디스크의 동기 복제를 보장합니다. 이 중복성 전략은 애플리케이션의 복원력을 강화하고 데이터 센터 오류로부터 데이터를 보호합니다.

그러나 ZRS(영역 중복 스토리지)는 LRS(로컬 중복 스토리지)에 비해 비용이 더 높다는 점에 유의해야 합니다. 비용 최적화가 우선 순위인 경우 skuname 매개 변수를 LRS로 설정하여 새 스토리지 클래스를 만들 수 있습니다. 그런 다음 PVC(영구 볼륨 클레임)에서 새 스토리지 클래스를 사용할 수 있습니다.

다음 단계