Condividi tramite


Risolvere gli errori di download dell'interfaccia di rete del contenitore

Questo articolo illustra come identificare e risolvere il CniDownloadTimeoutVMExtensionError codice di errore (noto anche come codice ERR_CNI_DOWNLOAD_TIMEOUTdi errore , numero di errore 41) o il WINDOWS_CSE_ERROR_DOWNLOAD_CNI_PACKAGE codice di errore (numero di errore 35) che si verifica quando si tenta di creare e distribuire un cluster di Microsoft servizio Azure Kubernetes (servizio Azure Kubernetes).

Prerequisiti

  • Strumento da riga di comando Curl
  • Accesso alla rete dallo stesso ambiente in cui verranno distribuiti i nodi del servizio Azure Kubernetes (stessa rete virtuale, regole del firewall e così via)

Sintomi

Quando si tenta di creare un cluster del servizio Azure Kubernetes basato su Linux, viene visualizzato il messaggio di errore seguente:

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",

Quando si tenta di creare un cluster del servizio Azure Kubernetes basato su Windows, viene visualizzato il messaggio di errore seguente:

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.

Causa

I nodi del cluster non possono connettersi all'endpoint usato per scaricare le librerie CNI (Container Network Interface). Nella maggior parte dei casi, questo problema si verifica perché un'appliance virtuale di rete blocca la comunicazione SSL (Secure Sockets Layer) o un certificato SSL.

Soluzione

Eseguire un comando Curl per verificare che i nodi possano scaricare i file binari:

Prima di tutto, provare a scaricare un test del pacchetto Azure CNI per Linux dall'endpoint mirror ufficiale.

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

Risultati:

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

Questo comando controlla se l'endpoint è raggiungibile e restituisce le intestazioni HTTP. Se viene visualizzata una 200 OK risposta, indica che l'endpoint è accessibile.

Successivamente, provare a eseguire un download con la convalida e salvare il file in locale per ulteriori operazioni di risoluzione dei problemi. Ciò consentirà di determinare se la connettività SSL o in uscita è configurata correttamente.

# 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"

Risultati:

  % 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

Verificare il file scaricato:

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

Risultati:

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

Pulire i file di test:

rm -rf /tmp/cni-test/

Se non è possibile scaricare questi file, assicurarsi che il traffico sia consentito all'endpoint di download. Per altre informazioni, vedere Regole FQDN/application necessarie a livello globale di Azure.

Riferimenti

Contattaci per ricevere assistenza

In caso di domande, è possibile porre domande al supporto della community di Azure. È possibile anche inviare un feedback sul prodotto al feedback della community di Azure.