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/concepts-network.md
+18-7Lines changed: 18 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,9 +10,10 @@ ms.custom: fasttrack-edit
10
10
# Network concepts for applications in Azure Kubernetes Service (AKS)
11
11
12
12
In a container-based, microservices approach to application development, application components work together to process their tasks. Kubernetes provides various resources enabling this cooperation:
13
-
* You can connect to and expose applications internally or externally.
14
-
* You can build highly available applications by load balancing your applications.
15
-
* For your more complex applications, you can configure ingress traffic for SSL/TLS termination or routing of multiple components.
13
+
14
+
* You can connect to and expose applications internally or externally.
15
+
* You can build highly available applications by load balancing your applications.
16
+
* For your more complex applications, you can configure ingress traffic for SSL/TLS termination or routing of multiple components.
16
17
* For security reasons, you can restrict the flow of network traffic into or between pods and nodes.
17
18
18
19
This article introduces the core concepts that provide networking to your applications in AKS:
@@ -27,9 +28,11 @@ This article introduces the core concepts that provide networking to your applic
27
28
To allow access to your applications or between application components, Kubernetes provides an abstraction layer to virtual networking. Kubernetes nodes connect to a virtual network, providing inbound and outbound connectivity for pods. The *kube-proxy* component runs on each node to provide these network features.
28
29
29
30
In Kubernetes:
30
-
**Services* logically group pods to allow for direct access on a specific port via an IP address or DNS name.
31
-
* You can distribute traffic using a *load balancer*.
32
-
* More complex routing of application traffic can also be achieved with *Ingress Controllers*.
31
+
32
+
**Services* logically group pods to allow for direct access on a specific port via an IP address or DNS name.
33
+
* You can distribute traffic using a *load balancer*.
34
+
* More complex routing of application traffic can also be achieved with *Ingress Controllers*.
35
+
* You can *control outbound (egress) traffic* for cluster nodes.
33
36
* Security and filtering of the network traffic for pods is possible with Kubernetes *network policies*.
34
37
35
38
The Azure platform also simplifies virtual networking for AKS clusters. When you create a Kubernetes load balancer, you also create and configure the underlying Azure load balancer resource. As you open network ports to pods, the corresponding Azure network security group rules are configured. For HTTP application routing, Azure can also configure *external DNS* as new ingress routes are configured.
@@ -158,6 +161,7 @@ The LoadBalancer only works at layer 4. At layer 4, the Service is unaware of th
158
161
![Diagram showing Ingress traffic flow in an AKS cluster][aks-ingress]
159
162
160
163
### Create an ingress resource
164
+
161
165
In AKS, you can create an Ingress resource using NGINX, a similar tool, or the AKS HTTP application routing feature. When you enable HTTP application routing for an AKS cluster, the Azure platform creates the Ingress controller and an *External-DNS* controller. As new Ingress resources are created in Kubernetes, the required DNS A records are created in a cluster-specific DNS zone.
162
166
163
167
For more information, see [Deploy HTTP application routing][aks-http-routing].
@@ -180,11 +184,17 @@ Configure your ingress controller to preserve the client source IP on requests t
180
184
181
185
If you're using client source IP preservation on your ingress controller, you can't use TLS pass-through. Client source IP preservation and TLS pass-through can be used with other services, such as the *LoadBalancer* type.
182
186
187
+
## Control outbound (egress) traffic
188
+
189
+
AKS clusters are deployed on a virtual network and have outbound dependencies on services outside of that virtual network. These outbound dependencies are almost entirely defined with fully qualified domain names (FQDNs). By default, AKS clusters have unrestricted outbound (egress) internet access. This allows the nodes and services you run to access external resources as needed. If desired, you can restrict outbound traffic.
190
+
191
+
For more information, see [Control egress traffic for cluster nodes in AKS][limit-egress].
192
+
183
193
## Network security groups
184
194
185
195
A network security group filters traffic for VMs like the AKS nodes. As you create Services, such as a LoadBalancer, the Azure platform automatically configures any necessary network security group rules.
186
196
187
-
You don't need to manually configure network security group rules to filter traffic for pods in an AKS cluster. Simply define any required ports and forwarding as part of your Kubernetes Service manifests. Let the Azure platform create or update the appropriate rules.
197
+
You don't need to manually configure network security group rules to filter traffic for pods in an AKS cluster. Simply define any required ports and forwarding as part of your Kubernetes Service manifests. Let the Azure platform create or update the appropriate rules.
188
198
189
199
You can also use network policies to automatically apply traffic filter rules to pods.
190
200
@@ -237,3 +247,4 @@ For more information on core Kubernetes and AKS concepts, see the following arti
0 commit comments