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 błędu występującego VMExtensionProvisioningTimeout podczas próby utworzenia i wdrożenia klastra usługi Microsoft Azure Kubernetes Service (AKS).
Wymagania wstępne
-
Interfejs wiersza polecenia platformy Azure w wersji 2.28.0 lub nowszej. Jeśli interfejs wiersza polecenia platformy Azure jest już zainstalowany, możesz znaleźć numer wersji, uruchamiając polecenie
az --version.
Symptomy
Podczas próby utworzenia klastra usługi AKS przy użyciu interfejsu wiersza polecenia platformy Azure zostanie wyświetlony błąd "VMExtensionProvisioningTimeout" z tekstem, jak w poniższym przykładzie:
Failed to reconcile agent pool agentpool0: err: VMSSAgentPoolReconciler retry failed:
Category: InternalError;
SubCode: VMExtensionProvisioningTimeout;
Dependency: Microsoft.Compute/VirtualMachineScaleSet;
OrginalError:
Code="VMExtensionProvisioningTimeout"
Message="Provisioning of VM extension vmssCSE has timed out. Extension provisioning has taken too long to complete. The extension last reported \"Plugin enabled\".\r\n\r\nMore information on troubleshooting is available at <https://aka.ms/VMExtensionCSELinuxTroubleshoot>";
AKSTeam: NodeProvisioning,
Retriable: true
Szczegóły błędu można również wyświetlić w witrynie Azure Portal.
Przyczyna
Różne problemy mogą powodować błędy z klasy "VMExtensionProvisioningError". Jednak kroki rozwiązywania problemów są takie same dla wszystkich problemów. Możliwe przyczyny są następujące:
Rozszerzenie skryptu niestandardowego, które konfiguruje maszyny wirtualne, nie może nawiązać połączenia z punktem końcowym używanym do pobierania binariów Kubernetes.
Rozszerzenie skryptu niestandardowego, które konfiguruje maszyny wirtualne, nie może nawiązać połączenia do punktu końcowego używanego do pobierania plików binarnych CNI.
Rozszerzenie niestandardowego skryptu, które konfiguruje maszyny wirtualne, nie może ustanowić wymaganego połączenia wychodzącego w celu uzyskania pakietów.
Klaster nie może rozpoznać niezbędnego adresu systemu nazw domen (DNS), aby poprawnie aprowizować węzeł.
Rozszerzenie niestandardowego skryptu, które konfiguruje maszyny wirtualne, osiągnęło limit czasu podczas wykonywania aktualizacji zarządzania pakietami (na przykład apt-get, jeśli pula węzłów korzysta z systemu Linux).
Rozwiązanie
Wykonaj te kroki:
Jeśli filtrowanie ruchu wychodzącego jest skonfigurowane w klastrze (na przykład niestandardowe trasy zdefiniowane przez użytkownika), zobacz Ograniczanie ruchu sieciowego za pomocą usługi Azure Firewall w usłudze Azure Kubernetes Service (AKS) oraz reguł sieci wychodzących i nazw FQDN dla klastrów usługi AKS w celu wyświetlenia niezbędnych wymagań wstępnych i upewnij się, że konfiguracja spełnia wymagania wstępne.
Upewnij się, że na serwerach DNS i zaporze nic nie blokuje rozpoznawania w pełni kwalifikowanej nazwy domeny klastra (FQDN).
Ponieważ niestandardowy serwer DNS może być niepoprawnie skonfigurowany, zapoznaj się z następującymi artykułami, jeśli rozwiązywanie nazw FQDN będzie nadal blokowane.