Udostępnij przez


OrasPullNetworkTimeoutVMExtensionError kod błędu (211) podczas wdrażania klastru AKS

W tym artykule omówiono sposób identyfikowania i rozwiązywania OrasPullNetworkTimeoutVMExtensionError błędu (kod błędu 211), który występuje podczas próby utworzenia i wdrożenia klastra usługi Microsoft Azure Kubernetes Service (AKS).

Objawy

Podczas próby utworzenia klastra AKS z typem ruchu wychodzącego none lub block, zostanie wyświetlony następujący komunikat o błędzie:

VMExtensionProvisioningError: maszyna wirtualna zgłosiła błąd podczas przetwarzania rozszerzenia "vmssCSE".

Komunikat o błędzie: "Włączenie nie powiodło się: nie udało się wykonać polecenia: polecenie zakończone z kodem wyjścia 211"

Usługa Bootstrap Container Registry nie jest osiągalna. Sprawdź konfigurację sieci i spróbuj ponownie.

Przyczyna

W przypadku klastra izolowanego w sieci ruch wychodzący jest ograniczony. Ta funkcja wprowadza prywatną pamięć podręczną usługi Azure Container Registry (ACR), która działa jako serwer proxy do pobierania niezbędnych plików binarnych lub obrazów z rejestru Microsoft Artifact Registry (MAR) na potrzeby uruchamiania usługi AKS. Wystąpienia maszyn wirtualnych łączą się z prywatną usługą ACR za pośrednictwem łącza prywatnego. Błędna konfiguracja połączenia prywatnego powoduje niepowodzenie działania niestandardowego rozszerzenia skryptu rozruchowego maszyny wirtualnej (CSE).

Rozwiązanie

Aby rozwiązać ten problem, wykonaj poniższe czynności:

  1. Pobierz identyfikator zasobu ACR, który usługa AKS używa jako ACR początkowy, uruchamiając następujące polecenie:

    az aks show -g ${RESOURCE_GROUP} -n ${CLUSTER_NAME} --query 'bootstrapProfile.containerRegistryResourceId'
    
  2. Sprawdź regułę pamięci podręcznej ACR. Powinien on zawierać aks-managed-rule repozytorium źródłowe mcr.microsoft.com/* i repozytorium docelowe aks-managed-repository/*. Upewnij się, że żadna inna reguła pamięci podręcznej nie istnieje, w której repozytorium źródłowe lub docelowe to *, która zastępuje aks-managed-rule.

  3. Przejrzyj prywatne łącze rejestru kontenerów, aby upewnić się, że konfiguracja połączenia jest poprawna, w tym prywatna strefa systemu nazw domen (DNS) i prywatne łącze.

  4. Uzyskaj dostęp do dowolnej nieudanej instancji maszyny wirtualnej przy użyciu Secure Shell (SSH) i uruchom polecenie curl na hoście ACR. Jeśli się uda, uzgodnij klaster. Jeśli nadal nie powiedzie się, wróć do kroku 3.

Źródła