클러스터형 Azure Stack Edge 디바이스의 Kubernetes 장애 조치(failover) 시나리오
Kubernetes 클러스터는 컨테이너화된 애플리케이션을 오케스트레이션하는 인기 있는 오픈 소스 플랫폼으로 배포됩니다. 이 문서에서는 실패 모드 및 해당 디바이스 응답을 포함하여 2노드 Azure Stack Edge 디바이스에서 Kubernetes가 작동하는 방식을 설명합니다.
Azure Stack Edge Pro의 Kubernetes 정보
Azure Stack Edge 디바이스에서 컴퓨팅을 구성하여 Kubernetes 클러스터를 만들 수 있습니다. 컴퓨팅 역할이 구성되면 마스터 및 작업자 노드를 포함한 Kubernetes 클러스터가 모두 배포되고 자동으로 구성됩니다. 그러면 이 클러스터는 kubectl
, IoT Edge 또는 Azure Arc를 통한 워크로드 배포에 사용됩니다.
Azure Stack Edge 디바이스는 인프라 클러스터를 구성하는 1노드 구성 또는 2노드 구성으로 사용할 수 있습니다. Kubernetes 클러스터는 인프라 클러스터와 별개이며 인프라 클러스터 위에 배포됩니다. 인프라 클러스터는 Azure Stack Edge 디바이스에 영구적 스토리지를 제공하며 Kubernetes 클러스터는 애플리케이션 오케스트레이션만 담당합니다.
Kubernetes 클러스터에는 마스터 노드와 작업자 노드를 구성합니다. 클러스터의 Kubernetes 노드는 애플리케이션 및 클라우드 워크플로를 실행하는 가상 머신입니다.
- Kubernetes 마스터 노드는 클러스터에 대해 원하는 상태를 유지 관리합니다. 마스터 노드는 작업자 노드도 제어합니다.
- 작업자 노드는 컨테이너화된 애플리케이션을 실행합니다.
2노드 디바이스의 Kubernetes 클러스터
2노드 디바이스의 Kubernetes 클러스터에는 마스터 노드 1개와 작업자 노드 2개가 있습니다. 2노드 디바이스는 고가용성이며 노드 중 하나가 실패하더라도 디바이스와 Kubernetes 클러스터가 모두 계속 실행됩니다. Kubernetes 클러스터 아키텍처에 대한 자세한 내용은 Kubernetes core concepts(Kubernetes 핵심 개념)를 참조하세요.
2노드 Azure Stack Edge 디바이스에서 Kubernetes 마스터 VM 및 Kubernetes 작업자 VM이 디바이스의 노드 A에서 실행됩니다. 노드 B에서 단일 Kubernetes 작업자 VM이 실행 중입니다.
Kubernetes 클러스터의 각 작업자 VM은 고정된 Hyper-V VM입니다. 고정된 VM은 실행 중인 특정 노드에 연결됩니다. 디바이스의 노드 A가 실패하면 마스터 VM이 노드 B로 장애 조치(fails over)합니다. 그러나 고정된 VM인 노드 A의 작업자 VM은 노드 B로 장애 조치(failover)되지 않으며 그 반대의 경우도 마찬가지입니다. 대신 노드 A의 작업자 VM에서 나온 Pod는 노드 B로 균형이 다시 조정됩니다.
균형이 다시 조정된 Pod가 디바이스 노드 B에서 실행하기에 충분한 용량을 갖기 위해 시스템은 정기적인 2노드 Azure Stack Edge 클러스터 작업 중에 각 ASE 노드 용량의 50% 이하를 사용하도록 강제합니다. 이 용량 사용량은 최선을 다해 수행되며, 다시 조정된 Pod에 실행하기에 충분한 리소스가 없을 수 있는 상황(예: ASE 노드 B로 균형을 다시 조정할 때 사용할 수 없는 GPU 리소스가 필요한 워크로드)이 있습니다.
이러한 시나리오는 실패 모드 및 동작에 대한 다음 섹션에서 자세히 설명합니다.
오류 모드 및 동작
Azure Stack Edge 디바이스 노드는 특정 조건에서 실패할 수 있습니다. 이 섹션에서는 다양한 오류 모드 및 해당 디바이스 응답이 표로 정리되어 있습니다.
Azure Stack Edge 노드 오류 또는 다시 부팅
Node | 오류 | 응답 |
---|---|---|
노드 A에 오류가 있습니다. (노드 B에 오류가 없음) |
다음과 같은 오류가 발생할 수 있습니다.
|
이러한 각 오류에 대해 다음과 같은 응답이 표시됩니다.
|
노드 A 다시 부팅 (노드 B에 오류가 없음) |
노드 다시 부팅 | 노드 A가 다시 부팅을 완료하고 작업자 VM을 사용할 수 있게 되면 마스터 VM은 노드 B에서 Pod의 균형을 다시 조정합니다. |
노드 B에 오류가 있습니다. (노드 A에 오류가 없음) |
다음과 같은 오류가 발생할 수 있습니다.
|
이러한 각 오류에 대해 다음과 같은 응답이 표시됩니다.
|
노드 B 다시 부팅 (노드 A에 오류가 없음) |
노드 다시 부팅 | 노드 B가 다시 부팅을 완료하고 작업자 VM을 사용할 수 있게 되면 마스터 VM은 노드 B에서 Pod의 균형을 다시 조정합니다. |
Azure Stack Edge 노드 업데이트
업데이트 형식 | 응답 |
---|---|
디바이스 노드 업데이트 | 롤링 업데이트는 디바이스 노드에 적용되고 노드는 다시 부팅됩니다. |
Kubernetes 서비스 업데이트 | Kubernetes 서비스 업데이트에는 다음이 포함됩니다.
|
다음 단계
- Azure Stack Edge 디바이스의 Kubernetes 스토리지에 대해 자세히 알아봅니다.
- Azure Stack Edge 디바이스의 Kubernetes 네트워킹 모델을 이해합니다.
- Azure Portal에서 Azure Stack Edge를 배포합니다.