Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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:
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'Sprawdź regułę pamięci podręcznej ACR. Powinien on zawierać
aks-managed-rulerepozytorium źródłowemcr.microsoft.com/*i repozytorium doceloweaks-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ępujeaks-managed-rule.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.
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.