Udostępnij przez


Rozwiązywanie problemów z błędami pobierania interfejsu sieciowego kontenera

W tym artykule omówiono sposób identyfikowania i rozwiązywania CniDownloadTimeoutVMExtensionError kodu błędu (znanego również jako kod ERR_CNI_DOWNLOAD_TIMEOUTbłędu , numer błędu 41) lub WINDOWS_CSE_ERROR_DOWNLOAD_CNI_PACKAGE kodu błędu (numer błędu 35), który występuje podczas próby utworzenia i wdrożenia klastra usługi Microsoft Azure Kubernetes Service (AKS).

Wymagania wstępne

  • Narzędzie wiersza polecenia Curl
  • Dostęp sieciowy z tego samego środowiska, gdzie zostaną wdrożone węzły AKS (ta sama sieć wirtualna, reguły firewall itp.)

Symptomy

Podczas próby utworzenia klastra usługi AKS opartego na systemie Linux zostanie wyświetlony następujący komunikat o błędzie:

Message: We are unable to serve this request due to an internal error
SubCode: CniDownloadTimeoutVMExtensionError;
Message="VM has reported a failure when processing extension 'vmssCSE'.
Error message: "Enable failed: failed to execute command: command terminated with exit status=41\n[stdout]\n{
"ExitCode": "41",

Podczas próby utworzenia klastra usługi AKS opartego na systemie Windows zostanie wyświetlony następujący komunikat o błędzie:

Message="VM has reported a failure when processing extension 'vmssCSE' (publisher 'Microsoft.Compute' and type 'CustomScriptExtension').
Error message: 'Command execution finished, but failed because it returned a non-zero exit code of: '1'. The command had an error output of: 'ExitCode: |35|,
Output: |WINDOWS_CSE_ERROR_DOWNLOAD_CNI_PACKAGE|, Error: |Failed in downloading \r\nhttps://acs-mirror.azureedge.net/azure-cni/v1.4.56/binaries/azure-vnet-cni-overlay-windows-amd64-v1.4.56.zip.
Error: \r\nUnable to connect to the r|\r\nAt line:1 ...'
For more information, check the instance view by executing Get-AzVmssVm or Get-AzVm (https://aka.ms/GetAzVm). These commands can be executed using CloudShell (https://aka.ms/CloudShell)'. More information on troubleshooting is available at https://aka.ms/VMExtensionCSEWindowsTroubleshoot.

Przyczyna

Węzły klastra nie mogą łączyć się z punktem końcowym używanym do pobierania bibliotek interfejsu sieciowego kontenera (CNI). W większości przypadków ten problem występuje, ponieważ wirtualne urządzenie sieciowe blokuje komunikację secure Sockets Layer (SSL) lub certyfikat SSL.

Rozwiązanie

Uruchom polecenie Curl, aby sprawdzić, czy węzły mogą pobrać pliki binarne:

Najpierw spróbuj wykonać testowe pobranie pakietu Azure CNI dla systemu Linux z oficjalnego punktu końcowego lustrzanego.

curl -I https://acs-mirror.azureedge.net/cni/azure-vnet-cni-linux-amd64-v1.0.25.tgz

Wyniki:

HTTP/2 200 
content-length: 970752
content-type: application/x-gzip
last-modified: Wed, 22 Jun 2022 00:00:00 GMT
etag: "0x8DA53F1234567"
server: ECAcc (dab/4B9E)
x-cache: HIT
cache-control: public, max-age=86400
accept-ranges: bytes
date: Thu, 05 Jun 2025 00:00:00 GMT

To polecenie sprawdza, czy punkt końcowy jest osiągalny i zwraca nagłówki HTTP. Jeśli zostanie wyświetlona 200 OK odpowiedź, oznacza to, że punkt końcowy jest dostępny.

Następnie spróbuj pobrać plik z weryfikacją i zapisz plik lokalnie w celu dalszego rozwiązywania problemów. Pomoże to określić, czy łączność SSL lub wychodząca jest poprawnie skonfigurowana.

# Create a temporary directory for testing
mkdir -p /tmp/cni-test

# Download the CNI package to the temp directory
curl -L --fail https://acs-mirror.azureedge.net/cni/azure-vnet-cni-linux-amd64-v1.0.25.tgz --output /tmp/cni-test/azure-vnet-cni-linux-amd64-v1.0.25.tgz && echo "Download successful" || echo "Download failed"

Wyniki:

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 6495k  100 6495k    0     0  8234k      0 --:--:-- --:--:-- --:--:-- 8230k
Download successful

Sprawdź pobrany plik:

ls -la /tmp/cni-test/
file /tmp/cni-test/azure-vnet-cni-linux-amd64-v1.0.25.tgz

Wyniki:

total 6500
drwxr-xr-x 2 user user    4096 Jun 20 10:30 .
drwxrwxrwt 8 root root    4096 Jun 20 10:30 ..
-rw-r--r-- 1 user user 6651392 Jun 20 10:30 azure-vnet-cni-linux-amd64-v1.0.25.tgz

/tmp/cni-test/azure-vnet-cni-linux-amd64-v1.0.25.tgz: gzip compressed data, from Unix, original size modulo 2^32 20070400

Wyczyść pliki testowe:

rm -rf /tmp/cni-test/

Jeśli nie możesz pobrać tych plików, upewnij się, że ruch jest dozwolony do punktu końcowego pobierania. Aby uzyskać więcej informacji, zobacz Globalna wymagana nazwa FQDN/reguły aplikacji platformy Azure.

Informacje