다음을 통해 공유


컨테이너 네트워크 인터페이스 다운로드 실패 문제 해결

이 문서에서는 AKS(Microsoft Azure Kubernetes Service) 클러스터를 만들고 배포하려고 할 때 발생하는 오류 코드(오류 코드CniDownloadTimeoutVMExtensionError, 오류 번호 41) 또는 ERR_CNI_DOWNLOAD_TIMEOUT 오류 코드(오류 번호 35)를 식별하고 해결하는 WINDOWS_CSE_ERROR_DOWNLOAD_CNI_PACKAGE 방법을 설명합니다.

필수 조건

  • Curl 명령줄 도구
  • AKS 노드가 배포되는 동일한 환경(동일한 VNet, 방화벽 규칙 등)에서 네트워크 액세스

증상

Linux 기반 AKS 클러스터를 만들려고 하면 다음 오류 메시지가 표시됩니다.

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

Windows 기반 AKS 클러스터를 만들려고 하면 다음 오류 메시지가 표시됩니다.

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.

원인

클러스터 노드는 CNI(컨테이너 네트워크 인터페이스) 라이브러리를 다운로드하는 데 사용되는 엔드포인트에 연결할 수 없습니다. 대부분의 경우 네트워크 가상 어플라이언스가 SSL(Secure Sockets Layer) 통신 또는 SSL 인증서를 차단하기 때문에 이 문제가 발생합니다.

솔루션

Curl 명령을 실행하여 노드가 이진 파일을 다운로드할 수 있는지 확인합니다.

먼저 공식 미러 엔드포인트에서 Linux용 Azure CNI 패키지의 테스트 다운로드를 시도합니다.

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

결과:

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

이 명령은 엔드포인트에 연결할 수 있는지 확인하고 HTTP 헤더를 반환합니다. 응답이 200 OK 표시되면 엔드포인트에 액세스할 수 있음을 나타냅니다.

다음으로 유효성 검사를 사용하여 다운로드를 시도하고 추가 문제 해결을 위해 파일을 로컬로 저장합니다. 이렇게 하면 SSL 또는 아웃바운드 연결이 올바르게 구성되었는지 확인하는 데 도움이 됩니다.

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

결과:

  % 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

다운로드한 파일을 확인합니다.

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

결과:

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

테스트 파일을 정리합니다.

rm -rf /tmp/cni-test/

이러한 파일을 다운로드할 수 없는 경우 다운로드 엔드포인트에 대한 트래픽이 허용되는지 확인합니다. 자세한 내용은 Azure Global 필수 FQDN/애플리케이션 규칙을 참조 하세요.

참조

도움을 요청하십시오.

질문이 있는 경우 Azure 커뮤니티 지원을 요청할 수 있습니다. Azure 피드백 커뮤니티에 제품 피드백을 제출할 수도 있습니다.