You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/aks/limit-egress-traffic.md
+16-14Lines changed: 16 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -32,7 +32,7 @@ You can use [Azure Firewall][azure-firewall] or a 3rd-party firewall appliance t
32
32
33
33
> [!IMPORTANT]
34
34
> When you use Azure Firewall to restrict egress traffic and create a user-defined route (UDR) to force all egress traffic, make sure you create an appropriate DNAT rule in Firewall to correctly allow ingress traffic. Using Azure Firewall with a UDR breaks the ingress setup due to asymmetric routing. (The issue occurs if the AKS subnet has a default route that goes to the firewall's private IP address, but you're using a public load balancer - ingress or Kubernetes service of type: LoadBalancer). In this case, the incoming load balancer traffic is received via its public IP address, but the return path goes through the firewall's private IP address. Because the firewall is stateful, it drops the returning packet because the firewall isn't aware of an established session. To learn how to integrate Azure Firewall with your ingress or service load balancer, see [Integrate Azure Firewall with Azure Standard Load Balancer](https://docs.microsoft.com/azure/firewall/integrate-lb).
35
-
> You can lock down the traffic for TCP port 9000 and TCP port 22 using a network rule between the egress worker node IP(s) and the IP for the API server.
35
+
> You can lock down the traffic for TCP port 9000, TCP port 22 and UDP port 1194 using a network rule between the egress worker node IP(s) and the IP for the API server.
36
36
37
37
In AKS, there are two sets of ports and addresses:
38
38
@@ -48,7 +48,7 @@ The following outbound ports / network rules are required for an AKS cluster:
48
48
49
49
* TCP port *443*
50
50
* TCP [IPAddrOfYourAPIServer]:443 is required if you have an app that needs to talk to the API server. This change can be set after the cluster is created.
51
-
* TCP port *9000* and TCP port *22* for the tunnel front pod to communicate with the tunnel end on the API server.
51
+
* TCP port *9000*, TCP port *22* and UDP port *1194* for the tunnel front pod to communicate with the tunnel end on the API server.
52
52
* To get more specific, see the **.hcp.\<location\>.azmk8s.io* and **.tun.\<location\>.azmk8s.io* addresses in the following table.
53
53
* UDP port *123* for Network Time Protocol (NTP) time synchronization (Linux nodes).
54
54
* UDP port *53* for DNS is also required if you have pods directly accessing the API server.
@@ -59,31 +59,32 @@ The following FQDN / application rules are required:
59
59
> ***.blob.core.windows.net and aksrepos.azurecr.io** are no longer required FQDN rules for egress lockdown. For existing clusters, [perform a cluster upgrade operation][aks-upgrade] using the `az aks upgrade` command to remove these rules.
60
60
61
61
> [!IMPORTANT]
62
-
> *.cdn.mscr.io has been replaced by a *.data.mcr.microsoft.com for the Azure public cloud regions. Please upgdate your existing firewall rules for the changes to take effect.
62
+
> *.cdn.mscr.io has been replaced by *.data.mcr.microsoft.com for the Azure public cloud regions. Please upgrade your existing firewall rules for the changes to take effect.
|*.hcp.\<location\>.azmk8s.io | HTTPS:443, TCP:22, TCP:9000| This address is the API server endpoint. Replace *\<location\>* with the region where your AKS cluster is deployed. |
69
-
|*.tun.\<location\>.azmk8s.io | HTTPS:443, TCP:22, TCP:9000| This address is the API server endpoint. Replace *\<location\>* with the region where your AKS cluster is deployed. |
68
+
|*.hcp.\<location\>.azmk8s.io | HTTPS:443, TCP:22, TCP:9000, UDP:1194 | This address is required for Node <-> API server communication. Replace *\<location\>* with the region where your AKS cluster is deployed. |
69
+
|*.tun.\<location\>.azmk8s.io | HTTPS:443, TCP:22, TCP:9000, UDP:1194 | This address is required for Node <-> API server communication. Replace *\<location\>* with the region where your AKS cluster is deployed. |
70
70
| mcr.microsoft.com | HTTPS:443 | This address is required to access images in Microsoft Container Registry (MCR). This registry contains first-party images/charts(for example, moby, etc.) required for the functioning of the cluster during upgrade and scale of the cluster |
71
71
|*.data.mcr.microsoft.com | HTTPS:443 | This address is required for MCR storage backed by the Azure content delivery network (CDN). |
72
72
| management.azure.com | HTTPS:443 | This address is required for Kubernetes GET/PUT operations. |
73
73
| login.microsoftonline.com | HTTPS:443 | This address is required for Azure Active Directory authentication. |
74
74
| ntp.ubuntu.com | UDP:123 | This address is required for NTP time synchronization on Linux nodes. |
75
75
| packages.microsoft.com | HTTPS:443 | This address is the Microsoft packages repository used for cached *apt-get* operations. Example packages include Moby, PowerShell, and Azure CLI. |
76
-
| acs-mirror.azureedge.net | HTTPS:443 | This address is for the repository required to install required binaries like kubenet and Azure CNI. |
76
+
| acs-mirror.azureedge.net | HTTPS:443 | This address is for the repository required to install required binaries like kubenet and Azure CNI. |
|*.hcp.\<location\>.cx.prod.service.azk8s.cn | HTTPS:443, TCP:22, TCP:9000| This address is the API server endpoint. Replace *\<location\>* with the region where your AKS cluster is deployed. |
83
-
|*.tun.\<location\>.cx.prod.service.azk8s.cn | HTTPS:443, TCP:22, TCP:9000| This address is the API server endpoint. Replace *\<location\>* with the region where your AKS cluster is deployed. |
82
+
|*.hcp.\<location\>.cx.prod.service.azk8s.cn | HTTPS:443, TCP:22, TCP:9000, UDP:1194 | This address is required for Node <-> API server communication. Replace *\<location\>* with the region where your AKS cluster is deployed. |
83
+
|*.tun.\<location\>.cx.prod.service.azk8s.cn | HTTPS:443, TCP:22, TCP:9000, UDP:1194 | This address is required for Node <-> API server communication. Replace *\<location\>* with the region where your AKS cluster is deployed. |
84
84
|*.azk8s.cn | HTTPS:443 | This address is required to download required binaries and images|
85
85
| mcr.microsoft.com | HTTPS:443 | This address is required to access images in Microsoft Container Registry (MCR). This registry contains first-party images/charts(for example, moby, etc.) required for the functioning of the cluster during upgrade and scale of the cluster |
86
86
|*.cdn.mscr.io | HTTPS:443 | This address is required for MCR storage backed by the Azure Content Delivery Network (CDN). |
87
+
|*.data.mcr.microsoft.com | HTTPS:443 | This address is required for MCR storage backed by the Azure content delivery network (CDN). |
87
88
| management.chinacloudapi.cn | HTTPS:443 | This address is required for Kubernetes GET/PUT operations. |
88
89
| login.chinacloudapi.cn | HTTPS:443 | This address is required for Azure Active Directory authentication. |
89
90
| ntp.ubuntu.com | UDP:123 | This address is required for NTP time synchronization on Linux nodes. |
@@ -93,15 +94,16 @@ The following FQDN / application rules are required:
|*.hcp.\<location\>.cx.aks.containerservice.azure.us | HTTPS:443, TCP:22, TCP:9000| This address is the API server endpoint. Replace *\<location\>* with the region where your AKS cluster is deployed. |
97
-
|*.tun.\<location\>.cx.aks.containerservice.azure.us | HTTPS:443, TCP:22, TCP:9000| This address is the API server endpoint. Replace *\<location\>* with the region where your AKS cluster is deployed. |
97
+
|*.hcp.\<location\>.cx.aks.containerservice.azure.us | HTTPS:443, TCP:22, TCP:9000, UDP:1194 | This address is required for Node <-> API server communication. Replace *\<location\>* with the region where your AKS cluster is deployed. |
98
+
|*.tun.\<location\>.cx.aks.containerservice.azure.us | HTTPS:443, TCP:22, TCP:9000, UDP:1194 | This address is required for Node <-> API server communication. Replace *\<location\>* with the region where your AKS cluster is deployed. |
98
99
| mcr.microsoft.com | HTTPS:443 | This address is required to access images in Microsoft Container Registry (MCR). This registry contains first-party images/charts(for example, moby, etc.) required for the functioning of the cluster during upgrade and scale of the cluster |
99
100
|*.cdn.mscr.io | HTTPS:443 | This address is required for MCR storage backed by the Azure Content Delivery Network (CDN). |
101
+
|*.data.mcr.microsoft.com | HTTPS:443 | This address is required for MCR storage backed by the Azure content delivery network (CDN). |
100
102
| management.usgovcloudapi.net | HTTPS:443 | This address is required for Kubernetes GET/PUT operations. |
101
103
| login.microsoftonline.us | HTTPS:443 | This address is required for Azure Active Directory authentication. |
102
104
| ntp.ubuntu.com | UDP:123 | This address is required for NTP time synchronization on Linux nodes. |
103
105
| packages.microsoft.com | HTTPS:443 | This address is the Microsoft packages repository used for cached *apt-get* operations. Example packages include Moby, PowerShell, and Azure CLI. |
104
-
| acs-mirror.azureedge.net | HTTPS:443 | This address is for the repository required to install required binaries like kubenet and Azure CNI. |
106
+
| acs-mirror.azureedge.net | HTTPS:443 | This address is for the repository required to install required binaries like kubenet and Azure CNI. |
105
107
106
108
## Optional recommended addresses and ports for AKS clusters
107
109
@@ -129,8 +131,8 @@ The following FQDN / application rules are required for AKS clusters that have t
| gov-prod-policy-data.trafficmanager.net | HTTPS:443 | This address is used for correct operation of Azure Policy. (currently in preview in AKS) |
159
161
| raw.githubusercontent.com | HTTPS:443 | This address is used to pull the built-in policies from GitHub to ensure correct operation of Azure Policy. (currently in preview in AKS) |
160
-
|*.gk.\<location\>.azmk8s.io | HTTPS:443| Azure policy add-on that talks to Gatekeeper audit endpoint running in master server to get the audit results. |
162
+
|*.gk.\<location\>.azmk8s.io | HTTPS:443| Azure policy add-on that talks to Gatekeeper audit endpoint running in master server to get the audit results. |
161
163
| dc.services.visualstudio.com | HTTPS:443 | Azure policy add-on that sends telemetry data to applications insights endpoint. |
162
164
163
165
## Required by Windows Server based nodes (in public preview) enabled
0 commit comments