Skip to content

Commit eebe9d3

Browse files
author
Simonx Xu
authored
Merge pull request #8858 from AmandaAZ/Branch-CI5668
AB#5668, AB#5252: Private PR for PR#1840
2 parents aa5f662 + e02a558 commit eebe9d3

File tree

3 files changed

+121
-0
lines changed

3 files changed

+121
-0
lines changed
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
---
2+
title: OrasPullNetworkTimeoutVMExtensionError When Creating AKS Clusters
3+
description: Learn how to troubleshoot the OrasPullNetworkTimeoutVMExtensionError error (211) when you try to create and deploy an Azure Kubernetes Service (AKS) cluster.
4+
ms.date: 05/09/2025
5+
ms.reviewer: xinhl, v-weizhu
6+
ms.service: azure-kubernetes-service
7+
#Customer intent: As an Azure Kubernetes user, I want to troubleshoot the OrasPullNetworkTimeoutVMExtensionError error code (OrasPullNetworkTimeoutVMExtensionError (211)) so that I can successfully create and deploy an Azure Kubernetes Service (AKS) cluster.
8+
ms.custom: sap:Create, Upgrade, Scale and Delete operations (cluster or nodepool)
9+
---
10+
# OrasPullNetworkTimeoutVMExtensionError error code (211) when deploying an AKS cluster
11+
12+
This article discusses how to identify and resolve the `OrasPullNetworkTimeoutVMExtensionError` error (error code 211) that occurs when you try to create and deploy a Microsoft Azure Kubernetes Service (AKS) cluster.
13+
14+
## Symptoms
15+
16+
When you try to create an AKS cluster with the outbound type `none` or `block`, you receive the following error message:
17+
18+
> VMExtensionProvisioningError: VM has reported a failure when processing extension 'vmssCSE'.
19+
>
20+
> Error message: "Enable failed: failed to execute command: command terminated with exit status=211
21+
>
22+
> Bootstrap Container Registry is not reachable. Please check the network configuration and try again.
23+
24+
## Cause
25+
26+
For [network isolated cluster](/azure/aks/concepts-network-isolated), egress traffic is limited. The feature introduces private Azure Container Registry (ACR) cache that acts as a proxy to download necessary binaries or images from Microsoft Artifact Registry (MAR) for AKS bootstrap. VM instances connect to the private ACR via a private link. Incorrect configuration of the private link causes VM bootstrap Custom Script Extension (CSE) to fail.
27+
28+
## Solution
29+
30+
To resolve this issue, follow these steps:
31+
32+
1. Retrieve the ACR resource ID that AKS uses as the bootstrap ACR by running the following command:
33+
34+
```console
35+
az aks show -g ${RESOURCE_GROUP} -n ${CLUSTER_NAME} --query 'bootstrapProfile.containerRegistryResourceId'
36+
```
37+
38+
2. Verify the ACR cache rule. It should include `aks-managed-rule` with source repo `mcr.microsoft.com/*` and target repo `aks-managed-reposity/*`. Ensure no other cache rule exists with source or target repo as `*`, which override `aks-managed-rule`.
39+
40+
3. Review the [container registry private link](/azure/container-registry/container-registry-private-link) to ensure that the connection configuration is correct, including the private Domain Name System (DNS) zone and private link.
41+
42+
4. Access any failed VM instance using Secure Shell (SSH) and run curl on the ACR host. If successful, reconcile the cluster. If it still fails, return to step 3.
43+
44+
## References
45+
46+
- [General troubleshooting of AKS cluster creation issues](../create-upgrade-delete/troubleshoot-aks-cluster-creation-issues.md)
47+
48+
- [Network isolated Azure Kubernetes Service (AKS) clusters](/azure/aks/concepts-network-isolated)
49+
50+
- [Container registry private link](/azure/container-registry/container-registry-private-link)
51+
52+
[!INCLUDE [Azure Help Support](../../../includes/azure-help-support.md)]
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
---
2+
title: OrasPullUnauthorizedVMExtensionError When Creating AKS Clusters
3+
description: Learn how to troubleshoot the OrasPullUnauthorizedVMExtensionError error (212) when you try to create and deploy an Azure Kubernetes Service (AKS) cluster.
4+
ms.date: 05/09/2025
5+
ms.reviewer: xinhl, v-weizhu
6+
ms.service: azure-kubernetes-service
7+
#Customer intent: As an Azure Kubernetes user, I want to troubleshoot the OrasPullUnauthorizedVMExtensionError error code (OrasPullUnauthorizedVMExtensionError (212)) so that I can successfully create and deploy an Azure Kubernetes Service (AKS) cluster.
8+
ms.custom: sap:Create, Upgrade, Scale and Delete operations (cluster or nodepool)
9+
---
10+
# OrasPullUnauthorizedVMExtensionError error code (212) when deploying an AKS cluster
11+
12+
This article discusses how to identify and resolve the `OrasPullUnauthorizedVMExtensionError` error (error code 212) that occurs when you try to create and deploy a Microsoft Azure Kubernetes Service (AKS) cluster.
13+
14+
## Symptoms
15+
16+
When you try to create an AKS cluster with the outbound type `none` or `block`, you receive the following error message:
17+
18+
> VMExtensionProvisioningError: VM has reported a failure when processing extension 'vmssCSE'.
19+
>
20+
> Error message: "Enable failed: failed to execute command: command terminated with exit status=212
21+
>
22+
> Bootstrap Container Registry authorization failed. Please ensure kubelet identity has pull access to the registry.
23+
24+
## Cause
25+
26+
For [network isolated cluster](/azure/aks/concepts-network-isolated), egress traffic is limited. The feature introduces private Azure Container Registry (ACR) cache that acts as a proxy to download necessary binary or images from Microsoft Artifact Registry (MAR) for AKS bootstrap. It's suggested to disable anonymous access to the ACR. The AKS node uses the kubelet identity to access the ACR. If the `acrpull` permission isn't set correctly or the kubelet identity isn't bound to the VM instance, an unauthorized error occurs.
27+
28+
## Solution
29+
30+
To resolve this issue, follow these steps:
31+
32+
1. Access the VM instance using Secure Shell (SSH) to get the log file`/var/log/azure/cluster-provision.log`. Review the log to determine if the issue is related to a 401 error, Azure Instance Metadata Service (IMDS) connection time-out, or an identity not found with HTTP code 400.
33+
34+
2. Retrieve the ACR resource ID that AKS uses as the bootstrap ACR by running the following command:
35+
36+
```console
37+
export REGISTRY_ID=$(az aks show -g ${RESOURCE_GROUP} -n ${CLUSTER_NAME} --query 'bootstrapProfile.containerRegistryId' -o tsv)
38+
```
39+
40+
3. If the issue is related to a 401 error, check if the kubelet identity has the `acrpull` permission to the ACR by running the following command:
41+
42+
```console
43+
export KUBELET_IDENTITY_PRINCIPAL_ID=$(az aks show -g ${RESOURCE_GROUP} -n ${CLUSTER_NAME} --query 'identityProfile.kubeletidentity.clientId' -o tsv)
44+
```
45+
46+
If not, run the following command:
47+
48+
```console
49+
az role assignment create --role AcrPull --scope ${REGISTRY_ID} --assignee-object-id ${KUBELET_IDENTITY_PRINCIPAL_ID} --assignee-principal-type ServicePrincipal
50+
```
51+
52+
4. If the log error indicates that the identity isn't found, manually bind the kubelet identity to the Virtual Machine Scale Set (VMSS) for a quick fix.
53+
54+
5. If the issue is related to IMDS connection time-out, submit a support ticket.
55+
6. Reconcile the cluster if the preceding operations are completed.
56+
57+
## References
58+
59+
- [General troubleshooting of AKS cluster creation issues](../create-upgrade-delete/troubleshoot-aks-cluster-creation-issues.md)
60+
61+
- [Network isolated Azure Kubernetes Service (AKS) clusters](/azure/aks/concepts-network-isolated)
62+
63+
- [container registry authentication managed identity](/azure/container-registry/container-registry-authentication-managed-identity)
64+
65+
[!INCLUDE [Azure Help Support](../../../includes/azure-help-support.md)]

support/azure/azure-kubernetes/toc.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -358,6 +358,10 @@
358358
items:
359359
- name: VMExtension error codes
360360
items:
361+
- name: OrasPullNetworkTimeoutVMExtensionError
362+
href: error-codes/vmextensionerror-oraspullnetworktimeout.md
363+
- name: OrasPullUnauthorizedVMExtensionError
364+
href: error-codes/vmextensionerror-oraspullunauthorized.md
361365
- name: VMExtensionError_CniDownloadTimeout error
362366
href: error-codes/vmextensionerror-cnidownloadtimeout.md
363367
- name: VMExtensionError_OutboundConnFail error

0 commit comments

Comments
 (0)