Compartir a través de


Solución de problemas de descarga de la interfaz de red de contenedor

En este artículo se describe cómo identificar y resolver el CniDownloadTimeoutVMExtensionError código de error (también conocido como código ERR_CNI_DOWNLOAD_TIMEOUTde error , número de error 41) o el WINDOWS_CSE_ERROR_DOWNLOAD_CNI_PACKAGE código de error (número de error 35) que se produce al intentar crear e implementar un clúster de Microsoft Azure Kubernetes Service (AKS).

Requisitos previos

Síntomas

Al intentar crear un clúster de AKS basado en Linux, recibirá el siguiente mensaje de error:

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

Al intentar crear un clúster de AKS basado en Windows, recibirá el siguiente mensaje de error:

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

Los nodos del clúster no se pueden conectar al punto de conexión que se usa para descargar las bibliotecas de interfaz de red de contenedor (CNI). En la mayoría de los casos, este problema se produce porque una aplicación virtual de red bloquea la comunicación de capa de sockets seguros (SSL) o un certificado SSL.

Solución

Ejecute un comando curl para comprobar que los nodos pueden descargar los archivos binarios:

En primer lugar, intente una descarga de prueba del paquete de Azure CNI para Linux desde el punto de conexión del espejo oficial.

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

Resultados:

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

Este comando comprueba si el punto de conexión es accesible y devuelve los encabezados HTTP. Si ve una 200 OK respuesta, indica que el punto de conexión es accesible.

A continuación, intente descargar con validación y guarde el archivo localmente para obtener más solución de problemas. Esto ayudará a determinar si la conectividad SSL o saliente está configurada correctamente.

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

Resultados:

  % 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

Compruebe el archivo descargado:

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

Resultados:

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

Limpie los archivos de prueba:

rm -rf /tmp/cni-test/

Si no puede descargar estos archivos, asegúrese de que el tráfico está permitido para el punto de conexión de descarga. Para más información, consulte Reglas de aplicación o FQDN necesarias para Azure Global.

Referencias