다음을 통해 공유


AKS(Azure Kubernetes Service) 노드 자동 복구

AKS(Azure Kubernetes Service)는 작업자 노드의 상태를 지속적으로 모니터링하고 비정상 상태가 되면 자동 노드 복구를 수행합니다. Azure VM(가상 머신) 플랫폼은 문제가 발생한 VM에서 유지 관리를 수행합니다. AKS와 Azure VM은 함께 작동하여 클러스터에 대한 서비스 중단을 최소화합니다.

이 문서에서는 Windows 및 Linux 노드에서 자동 노드 복구 기능이 어떻게 작동하는지 알아봅니다.

AKS에서 NotReady 노드를 확인하는 방법

AKS는 다음 규칙을 사용하여 노드가 비정상이고 복구가 필요한지 여부를 확인합니다.

  • 노드가 10분 이내에 연속 확인하여 NotReady 상태를 보고합니다.
  • 노드가 10분 내에 상태를 보고하지 않습니다.

kubectl get nodes 명령을 사용하여 노드의 상태를 수동으로 확인할 수 있습니다.

자동 복구 작동 방법

참고 항목

AKS는 사용자 계정 aks-remediator로 복구 작업을 시작합니다.

AKS가 5분 이상 비정상 상태로 유지되는 비정상 노드를 식별하는 경우 AKS는 다음 작업을 수행합니다.

  1. AKS는 노드를 다시 부팅합니다.
  2. 다시 부팅한 후 노드가 비정상 상태로 유지되면 AKS는 노드를 이미지로 다시 설치합니다.
  3. 이미지 다시 설치 후 노드가 비정상 상태로 유지되고 Linux 노드인 경우 AKS는 노드를 다시 배포합니다.

AKS는 노드가 비정상 상태로 유지되는 경우 다시 시작, 이미지 다시 설치 및 재배포 시퀀스를 최대 3회 다시 시도합니다. 전체 자동 복구 프로세스를 완료하는 데 최대 1시간이 걸릴 수 있습니다.

제한 사항

AKS 노드 자동 복구는 최상의 작업 서비스이며 노드가 다시 정상 상태로 복원된다는 보장은 없습니다. 노드가 비정상 상태로 유지되는 경우 노드에 대한 수동 조사를 수행하는 것이 좋습니다. 노드 NotReady 상태 문제 해결에 대해 자세히 알아봅니다.

AKS가 자동 복구를 수행하지 않는 경우가 있습니다. 노드를 자동으로 복구하지 못하면 의도적으로 또는 Azure에서 문제가 있음을 감지할 수 없는 경우 발생할 수 있습니다. 자동 복구가 수행되지 않는 경우의 예는 다음과 같습니다.

  • 네트워크 구성 오류로 인해 노드 상태가 보고되지 않습니다.
  • 노드가 처음에 정상 노드로 등록하지 못했습니다.
  • 노드에 다음 taint 중 하나가 있는 경우 , node.cloudprovider.kubernetes.io/shutdownToBeDeletedByClusterAutoscaler.

Kubernetes 이벤트를 사용하여 노드 자동 복구 모니터링

AKS가 클러스터에서 노드 자동 복구를 수행하는 경우 AKS는 가시성을 위해 aks 자동 복구 원본에서 Kubernetes 이벤트를 내보냅니다. 자동 복구가 수행되면 노드 개체에 다음 이벤트가 표시됩니다.

Kubernetes 이벤트에 대한 경고 액세스, 저장 및 구성에 대한 자세한 내용은 Azure Kubernetes Service의 문제 해결을 위해 Kubernetes 이벤트 사용을 참조하세요.

원인 이벤트 메시지 설명
NodeRebootStart 노드 자동 복구는 NotReady 상태가 5분 이상 지속되어 다시 부팅 작업을 시작합니다. 이 이벤트는 노드에서 다시 부팅이 수행될 때 사용자에게 알리기 위해 내보내집니다. 이 작업은 전체 노드 자동 복구 시퀀스의 첫 번째 작업입니다.
NodeRebootEnd 노드 자동 복구에서 다시 부팅 작업이 완료되었습니다. 노드에서 다시 부팅이 완료되면 내보내집니다. 이 이벤트는 다시 부팅이 수행된 후 노드의 상태(정상 또는 비정상)를 나타내지 않습니다.
NodeReimageStart 노드 자동 복구는 NotReady 상태가 5분 이상 지속되어 이미지 다시 설치 작업을 시작합니다. 이 이벤트는 노드에서 이미지 다시 설치가 수행될 때 사용자에게 알리기 위해 내보내집니다.
NodeReimageEnd 노드 자동 복구에서 이미지 다시 설치 작업이 완료되었습니다. 노드에서 이미지 다시 설치가 완료되면 내보냅니다. 이 이벤트는 이미지 다시 설치가 수행된 후 노드의 상태(정상 또는 비정상)를 나타내지 않습니다.
NodeRedeployStart 노드 자동 복구는 NotReady 상태가 5분 이상 지속되어 다시 배포 작업을 시작합니다. 이 이벤트는 노드에서 다시 배포가 수행될 때 사용자에게 알리기 위해 내보내집니다. 다시 배포는 노드 자동 복구 시퀀스의 마지막 작업입니다.
NodeRedeployEnd 노드 자동 복구에서 다시 배포 작업이 완료되었습니다. 노드에서 다시 배포가 완료되면 내보냅니다. 이 이벤트는 다시 배포가 수행된 후 노드의 상태(정상 또는 비정상)를 나타내지 않습니다.

노드 자동 복구 프로세스 중에 오류가 발생하면 다음 이벤트가 축자 오류 메시지와 함께 내보내집니다. 일반적인 노드 자동 복구 오류 문제 해결에 대해 자세히 알아봅니다.

참고 항목

다음 이벤트 메시지의 오류 코드 는 보고된 오류에 따라 달라집니다.

원인 이벤트 메시지 설명
NodeRebootError 노드 자동 복구 다시 부팅 작업이 작업 실패로 인해 실패했습니다. 오류 세부 정보는 다음을 참조하세요. 오류 코드 다시 부팅 작업에 오류가 있을 때 내보냅니다.
NodeReimageError 노드 자동 복구 이미지 작업이 작업 실패로 인해 실패했습니다. 오류 세부 정보는 다음을 참조하세요. 오류 코드 이미지 다시 설치 작업에 오류가 있을 때 내보냅니다.
NodeRedeployError 노드 자동 복구 다시 배포 작업이 작업 실패로 인해 실패했습니다. 오류 세부 정보는 다음을 참조하세요. 오류 코드 다시 배포 작업에 오류가 있을 때 내보냅니다.

다음 단계

기본적으로 지난 1시간 동안 AKS 클러스터의 Kubernetes 이벤트 및 로그에 액세스할 수 있습니다. 지난 90일 동안의 이벤트 및 로그를 저장하고 쿼리하려면 AKS 클러스터에서 더 심층적인 문제 해결을 위해 Container Insights를 사용하도록 설정합니다.