다음을 통해 공유


Azure Arc에서 사용하도록 설정된 AKS의 가용성 집합

가용성 집합 은 물리적 클러스터에서 사용 가능한 장애 도메인에 균등하게 분산되도록 서로 약한 선호도 방지 관계가 있는 VM의 논리적 그룹입니다. 이 컨텍스트의 장애 도메인은 물리적 호스트 또는 물리적 호스트 그룹입니다. AKS Arc는 가용성 집합을 사용하여 Kubernetes 워크로드의 가용성 및 배포를 개선할 수 있습니다. 가용성 집합은 단일 노드 오류로 인해 여러 VM이 중단되거나 불균형해질 수 있는 시나리오를 방지할 수 있습니다.

개요

가용성 집합은 다음과 같은 Azure 로컬 사용자의 AKS에 대한 몇 가지 이점을 제공합니다.

  • 단일 노드 오류로 인해 동일한 노드 풀 또는 컨트롤 플레인 내의 여러 VM이 다운되거나 불균형해지는 시나리오를 방지하여 애플리케이션의 가용성 및 복원력을 향상시킵니다.
  • VM이 사용 가능한 노드에 균등하게 분산되고 단일 노드 또는 노드의 하위 집합에 집중되지 않도록 하여 클러스터의 리소스 사용량 및 성능을 최적화합니다.
  • 안정적이고 일관된 온-프레미스 Kubernetes 환경을 찾고 있는 고객 및 파트너의 모범 사례 및 기대에 부합합니다.

가용성 집합 사용

Azure Local 버전 23H2의 AKS를 사용하면 노드 풀을 만들 때 가용성 집합 기능이 기본적으로 사용하도록 설정됩니다. Windows Server의 AKS를 사용하면 AKS 클러스터를 만들 때 매개 변수를 -enableAvailabilitySet 추가하여 가용성 집합 기능을 사용하도록 설정할 수 있습니다. 예를 들면 New-AksHciCluster -Name <name> -controlPlaneNodeCount 3 -osType Linux -kubernetesVersion $kubernetesVersion -enableAvailabilitySet다음과 같습니다.

Azure Arc에서 사용하도록 설정된 AKS에서 가용성 집합이 작동하는 방식

새 AKS Arc 클러스터를 만들 때 AKS Arc는 자동으로 가용성 집합을 만듭니다. 하나는 컨트롤 플레인 VM용이고 다른 하나는 Kubernetes 클러스터의 각 노드 풀에 대한 집합입니다. 각 노드 풀에는 고유한 가용성 집합이 있습니다. 이 레이아웃을 사용하면 AKS Arc는 동일한 역할(컨트롤 플레인 또는 노드 풀)의 VM이 동일한 실제 호스트에 위치하지 않으며 클러스터에서 사용 가능한 노드에 분산되도록 합니다.

가용성 집합이 만들어지고 VM이 할당되면 시스템은 해당 물리적 노드에 자동으로 배치합니다. 노드가 실패하면 시스템은 VM을 다른 노드로 자동으로 장애 조치하고 노드가 복구되면 다시 균형을 조정합니다. 이러한 방식으로 수동 개입 없이 Kubernetes 워크로드의 고가용성 및 최적 배포를 달성할 수 있습니다.

두 개의 물리적 호스트 컴퓨터, 호스트 A 및 호스트 B, 3개의 제어 평면 VM 및 2개의 작업자 노드 VM, Nodepool1VM1 Nodepool1VM2가 있는 Azure Local 버전 23H2 클러스터의 AKS를 고려합니다. Kubernetes 애플리케이션의 고가용성을 보장하기 위해 계획된 유지 관리 또는 용량 문제에 호스트 중 하나를 일시적으로 사용할 수 없으면 노드 풀 VM이 동일한 호스트를 공유해서는 안 됩니다. 이로 인해 VM(가상 머신)이 임시로 대체 호스트에 배치될 수 있습니다.

다음 다이어그램에서 각 색은 선호도 방지 그룹을 나타냅니다.

선호도 방지 그룹의 호스트를 보여 주는 다이어그램

다시 부팅으로 인해 호스트 B가 다운되면 다음 그림과 같이 Control Plane VM2, Control Plane VM3Nodepool1VM2가 호스트 A로 장애 조치(failover)됩니다. 애플리케이션이 NodePoolVM1에서 Pod를 실행 중이라고 가정하면 이 재부팅은 애플리케이션에 영향을 주지 않습니다.

호스트 B 다운을 보여 주는 다이어그램

이전 아키텍처에서 다시 부팅한 후 호스트 B가 다시 온라인 상태가 된 경우 VM이 호스트 A에서 호스트 B로 다시 이동(리밸런싱)되므로 워크로드가 동일한 호스트에 유지되고 다음 다이어그램과 같이 단일 실패 지점을 만들도록 보장할 수 없습니다.

리밸런싱을 보여 주는 다이어그램

AKS Arc에 대한 가용성 집합은 호스트가 임시 중단에서 복구되면 VM의 균형을 재조정하는 데 도움이 될 수 있습니다. 이 예제에서는 다음과 같이 ControlPlaneVM2, ControlPlaneVM3Nodepool1VM2가 자동으로 호스트 B로 이동합니다.

선호도 방지 그룹의 호스트를 보여 주는 다이어그램

Important

AKS Arc의 가용성 집합은 여전히 진화하고 개선되고 있는 새로운 기능입니다. 장애 도메인 또는 가용성 집합의 수동 구성은 아직 지원되지 않습니다. 가용성 집합을 만든 후에는 장애 도메인을 변경할 수 없습니다. VM은 클러스터를 만들 때 가용성 집합에 할당되며 다른 가용성 집합으로 마이그레이션할 수 없습니다.

컴퓨터 추가 또는 삭제

호스트 삭제 시나리오에서 호스트는 더 이상 클러스터의 일부로 간주되지 않습니다. 이 삭제는 일반적으로 하드웨어 문제로 인해 컴퓨터를 교체하거나 다른 이유로 Azure 로컬 클러스터를 축소할 때 발생합니다. 노드가 중단되는 동안 노드는 Azure 로컬 클러스터의 일부로 유지되지만 아래쪽으로 표시됩니다.

클러스터에서 물리적 컴퓨터(장애 도메인)가 영구적으로 삭제되는 경우 가용성 집합 구성은 장애 도메인 수를 줄이기 위해 수정되지 않습니다. 이 시나리오에서 가용성 집합은 비정상 상태가 됩니다. 가용성 집합이 적절한 수의 장애 도메인으로 업데이트되도록 Kubernetes 클러스터를 다시 배포하는 것이 좋습니다.

새 물리적 컴퓨터(장애 도메인)가 클러스터에 추가되면 가용성 집합 구성이 새 컴퓨터를 포함하도록 자동으로 확장됩니다. 그러나 기존 VM은 가용성 집합에 이미 할당되어 있으므로 이 새 구성을 적용하기 위해 균형을 조정하지 않습니다. 가용성 집합이 적절한 수의 장애 도메인으로 업데이트되도록 Kubernetes 클러스터를 다시 배포하는 것이 좋습니다.

다음 단계

AKS 개요