Skip to content

Commit cddb1b2

Browse files
authored
Merge pull request #106978 from palma21/egress-changes
[AKS] New Egress Requirements
2 parents b98df74 + e53e163 commit cddb1b2

File tree

1 file changed

+16
-14
lines changed

1 file changed

+16
-14
lines changed

articles/aks/limit-egress-traffic.md

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ You can use [Azure Firewall][azure-firewall] or a 3rd-party firewall appliance t
3232

3333
> [!IMPORTANT]
3434
> 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.
3636
3737
In AKS, there are two sets of ports and addresses:
3838

@@ -48,7 +48,7 @@ The following outbound ports / network rules are required for an AKS cluster:
4848

4949
* TCP port *443*
5050
* 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.
5252
* To get more specific, see the **.hcp.\<location\>.azmk8s.io* and **.tun.\<location\>.azmk8s.io* addresses in the following table.
5353
* UDP port *123* for Network Time Protocol (NTP) time synchronization (Linux nodes).
5454
* 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:
5959
> ***.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.
6060
6161
> [!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.
6363
6464
- Azure Global
6565

6666
| FQDN | Port | Use |
6767
|----------------------------|-----------|----------|
68-
| *.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. |
7070
| 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 |
7171
| *.data.mcr.microsoft.com | HTTPS:443 | This address is required for MCR storage backed by the Azure content delivery network (CDN). |
7272
| management.azure.com | HTTPS:443 | This address is required for Kubernetes GET/PUT operations. |
7373
| login.microsoftonline.com | HTTPS:443 | This address is required for Azure Active Directory authentication. |
7474
| ntp.ubuntu.com | UDP:123 | This address is required for NTP time synchronization on Linux nodes. |
7575
| 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. |
7777

7878
- Azure China 21Vianet
7979

8080
| FQDN | Port | Use |
8181
|----------------------------|-----------|----------|
82-
| *.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. |
8484
| *.azk8s.cn | HTTPS:443 | This address is required to download required binaries and images|
8585
| 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 |
8686
| *.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). |
8788
| management.chinacloudapi.cn | HTTPS:443 | This address is required for Kubernetes GET/PUT operations. |
8889
| login.chinacloudapi.cn | HTTPS:443 | This address is required for Azure Active Directory authentication. |
8990
| 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:
9394

9495
| FQDN | Port | Use |
9596
|----------------------------|-----------|----------|
96-
| *.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. |
9899
| 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 |
99100
|*.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). |
100102
| management.usgovcloudapi.net | HTTPS:443 | This address is required for Kubernetes GET/PUT operations. |
101103
| login.microsoftonline.us | HTTPS:443 | This address is required for Azure Active Directory authentication. |
102104
| ntp.ubuntu.com | UDP:123 | This address is required for NTP time synchronization on Linux nodes. |
103105
| 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. |
105107

106108
## Optional recommended addresses and ports for AKS clusters
107109

@@ -129,8 +131,8 @@ The following FQDN / application rules are required for AKS clusters that have t
129131

130132
| FQDN | Port | Use |
131133
|-----------------------------------------|-----------|----------|
132-
| dc.services.visualstudio.com | HTTPS:443 | This is for correct metrics and monitoring telemetry using Azure Monitor. |
133-
| *.ods.opinsights.azure.com | HTTPS:443 | This is used by Azure Monitor for ingesting log analytics data. |
134+
| dc.services.visualstudio.com | HTTPS:443 | This is for correct metrics and monitoring telemetry using Azure Monitor. |
135+
| *.ods.opinsights.azure.com | HTTPS:443 | This is used by Azure Monitor for ingesting log analytics data. |
134136
| *.oms.opinsights.azure.com | HTTPS:443 | This address is used by omsagent, which is used to authenticate the log analytics service. |
135137
|*.microsoftonline.com | HTTPS:443 | This is used for authenticating and sending metrics to Azure Monitor. |
136138
|*.monitoring.azure.com | HTTPS:443 | This is used to send metrics data to Azure Monitor. |
@@ -157,7 +159,7 @@ The following FQDN / application rules are required for AKS clusters that have t
157159
|-----------------------------------------|-----------|----------|
158160
| gov-prod-policy-data.trafficmanager.net | HTTPS:443 | This address is used for correct operation of Azure Policy. (currently in preview in AKS) |
159161
| 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. |
161163
| dc.services.visualstudio.com | HTTPS:443 | Azure policy add-on that sends telemetry data to applications insights endpoint. |
162164

163165
## Required by Windows Server based nodes (in public preview) enabled

0 commit comments

Comments
 (0)