Skip to content

Commit 9463cfd

Browse files
authored
Merge pull request #267273 from asudbring/ingress-legacy
PR #1 - Remove legacy references to ingress and replace with app routing add on
2 parents f63f0cd + e828b04 commit 9463cfd

File tree

4 files changed

+11
-85
lines changed

4 files changed

+11
-85
lines changed

articles/aks/TOC.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -497,8 +497,6 @@
497497
href: ../application-gateway/tutorial-ingress-controller-add-on-existing.md?toc=/azure/aks/toc.json&bc=/azure/aks/breadcrumb/toc.json
498498
- name: Use Istio gateway with Istio Service Mesh add-on
499499
href: istio-deploy-ingress.md
500-
- name: Use HTTP application routing add-on (retired)
501-
href: http-application-routing.md
502500
- name: Load balancing
503501
items:
504502
- name: Create an internal load balancer

articles/aks/azure-cni-overlay.md

Lines changed: 5 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,8 @@ az aks create -n $clusterName -g $resourceGroup \
114114

115115
## Add a new nodepool to a dedicated subnet
116116

117-
After your have created a cluster with Azure CNI Overlay, you can create another nodepool and assign the nodes to a new subnet of the same VNet.
118-
This approach can be usefull if you want to control the ingress or egress IPs of the host from/ towards targets in the same VNET or peered VNets.
117+
After you have created a cluster with Azure CNI Overlay, you can create another nodepool and assign the nodes to a new subnet of the same VNet.
118+
This approach can be useful if you want to control the ingress or egress IPs of the host from/ towards targets in the same VNET or peered VNets.
119119

120120
```azurecli-interactive
121121
clusterName="myOverlayCluster"
@@ -273,79 +273,15 @@ Once the cluster has been created, you can deploy your workloads. This article w
273273
274274
### Deploy an NGINX web server
275275
276-
# [kubectl](#tab/kubectl)
277-
278-
1. Create an NGINX web server using the `kubectl create deployment nginx` command.
279-
280-
```bash-interactive
281-
kubectl create deployment nginx --image=nginx:latest --replicas=3
282-
```
283-
284-
2. View the pod resources using the `kubectl get pods` command.
285-
286-
```bash-interactive
287-
kubectl get pods -o custom-columns="NAME:.metadata.name,IPs:.status.podIPs[*].ip,NODE:.spec.nodeName,READY:.status.conditions[?(@.type=='Ready')].status"
288-
```
289-
290-
The output shows the pods have both IPv4 and IPv6 addresses. The pods don't show IP addresses until they're ready.
291-
292-
```output
293-
NAME IPs NODE READY
294-
nginx-55649fd747-9cr7h 10.244.2.2,fd12:3456:789a:0:2::2 aks-nodepool1-14508455-vmss000002 True
295-
nginx-55649fd747-p5lr9 10.244.0.7,fd12:3456:789a::7 aks-nodepool1-14508455-vmss000000 True
296-
nginx-55649fd747-r2rqh 10.244.1.2,fd12:3456:789a:0:1::2 aks-nodepool1-14508455-vmss000001 True
297-
```
298-
299-
# [YAML](#tab/yaml)
300-
301-
1. Create an NGINX web server using the following YAML manifest.
302-
303-
```yml
304-
apiVersion: apps/v1
305-
kind: Deployment
306-
metadata:
307-
labels:
308-
app: nginx
309-
name: nginx
310-
spec:
311-
replicas: 3
312-
selector:
313-
matchLabels:
314-
app: nginx
315-
template:
316-
metadata:
317-
labels:
318-
app: nginx
319-
spec:
320-
containers:
321-
- image: nginx:latest
322-
name: nginx
323-
```
324-
325-
2. View the pod resources using the `kubectl get pods` command.
326-
327-
```bash-interactive
328-
kubectl get pods -o custom-columns="NAME:.metadata.name,IPs:.status.podIPs[*].ip,NODE:.spec.nodeName,READY:.status.conditions[?(@.type=='Ready')].status"
329-
```
330-
331-
The output shows the pods have both IPv4 and IPv6 addresses. The pods don't show IP addresses until they're ready.
332-
333-
```output
334-
NAME IPs NODE READY
335-
nginx-55649fd747-9cr7h 10.244.2.2,fd12:3456:789a:0:2::2 aks-nodepool1-14508455-vmss000002 True
336-
nginx-55649fd747-p5lr9 10.244.0.7,fd12:3456:789a::7 aks-nodepool1-14508455-vmss000000 True
337-
nginx-55649fd747-r2rqh 10.244.1.2,fd12:3456:789a:0:1::2 aks-nodepool1-14508455-vmss000001 True
338-
```
339-
340-
---
276+
The application routing addon is the recommended way for ingress in an AKS cluster. For more information about the application routing addon and an example of how to deploy an application with the addon, see [Managed NGINX ingress with the application routing add-on](app-routing.md).
341277
342278
## Expose the workload via a `LoadBalancer` type service
343279
344280
> [!IMPORTANT]
345281
> There are currently **two limitations** pertaining to IPv6 services in AKS.
346282
>
347-
> 1. Azure Load Balancer sends health probes to IPv6 destinations from a link-local address. In Azure Linux node pools, this traffic can't be routed to a pod, so traffic flowing to IPv6 services deployed with `externalTrafficPolicy: Cluster` fail. IPv6 services must be deployed with `externalTrafficPolicy: Local`, which causes `kube-proxy` to respond to the probe on the node.
348-
> 2. Prior to Kubernetes version 1.27, only the first IP address for a service will be provisioned to the load balancer, so a dual-stack service only receives a public IP for its first-listed IP family. To provide a dual-stack service for a single deployment, please create two services targeting the same selector, one for IPv4 and one for IPv6. This is no longer a limitation in kubernetes 1.27 or later.
283+
> - Azure Load Balancer sends health probes to IPv6 destinations from a link-local address. In Azure Linux node pools, this traffic can't be routed to a pod, so traffic flowing to IPv6 services deployed with `externalTrafficPolicy: Cluster` fail. IPv6 services must be deployed with `externalTrafficPolicy: Local`, which causes `kube-proxy` to respond to the probe on the node.
284+
> - Prior to Kubernetes version 1.27, only the first IP address for a service will be provisioned to the load balancer, so a dual-stack service only receives a public IP for its first-listed IP family. To provide a dual-stack service for a single deployment, please create two services targeting the same selector, one for IPv4 and one for IPv6. This is no longer a limitation in kubernetes 1.27 or later.
349285
350286
# [kubectl](#tab/kubectl)
351287

articles/aks/concepts-network.md

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -205,21 +205,15 @@ The *LoadBalancer* only works at layer 4. At layer 4, the Service is unaware of
205205

206206
### Create an Ingress resource
207207

208-
In AKS, you can create an [Ingress resource using NGINX][nginx-ingress], 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.
208+
The application routing addon is the recommended way to configure an Ingress controller in AKS. The application routing addon is a fully managed, ingress controller for Azure Kubernetes Service (AKS) that provides the following features:
209209

210-
For more information, see [Deploy HTTP application routing][aks-http-routing].
210+
* Easy configuration of managed NGINX Ingress controllers based on Kubernetes NGINX Ingress controller.
211211

212-
### Application Gateway Ingress Controller (AGIC)
212+
* Integration with Azure DNS for public and private zone management.
213213

214-
With the Application Gateway Ingress Controller (AGIC) add-on, you can use Azure's native Application Gateway level 7 load-balancer to expose cloud software to the Internet. AGIC runs as a pod within the AKS cluster. It consumes [Kubernetes Ingress Resources][k8s-ingress] and converts them to an Application Gateway configuration, which allows the gateway to load-balance traffic to the Kubernetes pods.
214+
* SSL termination with certificates stored in Azure Key Vault.
215215

216-
To learn more about the AGIC add-on for AKS, see [What is Application Gateway Ingress Controller?][agic-overview].
217-
218-
### SSL/TLS termination
219-
220-
SSL/TLS termination is another common feature of Ingress. On large web applications accessed via HTTPS, the Ingress resource handles the TLS termination rather than within the application itself. To provide automatic TLS certification generation and configuration, you can configure the Ingress resource to use providers such as "Let's Encrypt."
221-
222-
For more information on configuring an NGINX ingress controller with Let's Encrypt, see [Ingress and TLS][aks-ingress-tls].
216+
For more information about the application routing addon, see [Managed NGINX ingress with the application routing add-on](app-routing.md).
223217

224218
### Client source IP preservation
225219

@@ -283,8 +277,6 @@ For more information on core Kubernetes and AKS concepts, see the following arti
283277
[service-types]: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
284278

285279
<!-- LINKS - Internal -->
286-
[aks-http-routing]: http-application-routing.md
287-
[aks-ingress-tls]: ./ingress-tls.md
288280
[aks-configure-kubenet-networking]: configure-kubenet.md
289281
[aks-configure-advanced-networking]: configure-azure-cni.md
290282
[aks-concepts-clusters-workloads]: concepts-clusters-workloads.md
@@ -299,7 +291,6 @@ For more information on core Kubernetes and AKS concepts, see the following arti
299291
[support-policies]: support-policies.md
300292
[limit-egress]: limit-egress-traffic.md
301293
[k8s-ingress]: https://kubernetes.io/docs/concepts/services-networking/ingress/
302-
[nginx-ingress]: ingress-basic.md
303294
[ip-preservation]: https://techcommunity.microsoft.com/t5/fasttrack-for-azure/how-client-source-ip-preservation-works-for-loadbalancer/ba-p/3033722#:~:text=Enable%20Client%20source%20IP%20preservation%201%20Edit%20loadbalancer,is%20the%20same%20as%20the%20source%20IP%20%28srjumpbox%29.
304295
[nsg-traffic]: ../virtual-network/network-security-group-how-it-works.md
305296
[azure-cni-aks]: configure-azure-cni.md

articles/aks/http-application-routing.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ author: asudbring
77
ms.topic: how-to
88
ms.date: 04/05/2023
99
ms.author: allensu
10+
ROBOTS: NOINDEX
1011
---
1112

1213
# HTTP application routing add-on for Azure Kubernetes Service (AKS) (retired)

0 commit comments

Comments
 (0)