Skip to content

Commit 2fae326

Browse files
authored
Merge branch 'MicrosoftDocs:main' into main
2 parents f2b1c6c + ea9f9e0 commit 2fae326

File tree

258 files changed

+1031
-906
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

258 files changed

+1031
-906
lines changed

articles/application-gateway/ingress-controller-add-health-probes.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ ms.author: greglin
1313

1414
By default, the Application Gateway Ingress Controller (AGIC) provisions an HTTP `GET` probe for exposed Azure Kubernetes Service (AKS) pods. You can customize the probe properties by adding a [readiness or liveness probe](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/) to your deployment or pod specification.
1515

16+
> [!TIP]
17+
> Consider [Application Gateway for Containers](for-containers/overview.md) for your Kubernetes ingress solution. For more information, see [Custom health probe for Application Gateway for Containers](for-containers/custom-health-probe.md).
18+
1619
## Code for adding a readiness or liveness probe
1720

1821
```yaml
@@ -68,4 +71,4 @@ Any property that the readiness or liveness probe can't infer uses the following
6871

6972
## Related content
7073

71-
- [What is Application Gateway for Containers?](for-containers/overview.md)
74+
- [Application Gateway for Containers](for-containers/overview.md)

articles/application-gateway/ingress-controller-autoscale-pods.md

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: Autoscale AKS pods with Azure Application Gateway metrics
3-
description: This article provides instructions on how to scale your AKS back-end pods by using Application Gateway metrics and the Azure Kubernetes Metrics Adapter.
3+
description: This article provides instructions on how to scale your AKS backend pods by using Application Gateway metrics and the Azure Kubernetes Metrics Adapter.
44
services: application-gateway
55
author: greg-lindsay
66
ms.service: azure-application-gateway
@@ -14,7 +14,7 @@ ms.author: greglin
1414

1515
As incoming traffic increases, it becomes crucial to scale up your applications based on the demand.
1616

17-
This article explains how you can use the `AvgRequestCountPerHealthyHost` metric in Azure Application Gateway to scale up Azure Kubernetes Service (AKS) pods for an application. The `AvgRequestCountPerHealthyHost` metric measures average requests sent to a specific combination of a back-end pool and a back-end HTTP setting.
17+
This article explains how you can use the `AvgRequestCountPerHealthyHost` metric in Azure Application Gateway to scale up Azure Kubernetes Service (AKS) pods for an application. The `AvgRequestCountPerHealthyHost` metric measures average requests sent to a specific combination of a backend pool and a backend HTTP setting.
1818

1919
Use the following two components:
2020

@@ -24,9 +24,12 @@ Use the following two components:
2424
> [!NOTE]
2525
> The Azure Kubernetes Metrics Adapter is no longer maintained. Kubernetes Event-driven Autoscaling (KEDA) is an alternative.
2626
27+
> [!TIP]
28+
> Consider [Application Gateway for Containers](for-containers/overview.md) for your Kubernetes ingress solution. For more information, see [Scaling and availability for Application Gateway for Containers](for-containers/scaling-zone-resiliency.md).
29+
2730
## Set up the Azure Kubernetes Metrics Adapter
2831

29-
1. Create a Microsoft Entra service principal and assign it `Monitoring Reader` access over the Application Gateway instance's resource group:
32+
1. Create a Microsoft Entra service principal and assign it `Monitoring Reader` access over the Application Gateway deployment's resource group:
3033

3134
```azurecli
3235
applicationGatewayGroupName="<application-gateway-group-id>"
@@ -46,7 +49,7 @@ Use the following two components:
4649
kubectl apply -f kubectl apply -f https://raw.githubusercontent.com/Azure/azure-k8s-metrics-adapter/master/deploy/adapter.yaml -n custom-metrics
4750
```
4851
49-
1. Create an `ExternalMetric` resource with the name `appgw-request-count-metric`. This resource instructs the metric adapter to expose the `AvgRequestCountPerHealthyHost` metric for the `myApplicationGateway` resource in the `myResourceGroup` resource group. You can use the `filter` field to target a specific back-end pool and back-end HTTP setting in the Application Gateway instance.
52+
1. Create an `ExternalMetric` resource with the name `appgw-request-count-metric`. This resource instructs the metric adapter to expose the `AvgRequestCountPerHealthyHost` metric for the `myApplicationGateway` resource in the `myResourceGroup` resource group. You can use the `filter` field to target a specific backend pool and backend HTTP setting in the Application Gateway deployment.
5053
5154
```yaml
5255
apiVersion: azure.com/v1alpha2
@@ -56,8 +59,8 @@ Use the following two components:
5659
spec:
5760
type: azuremonitor
5861
azure:
59-
resourceGroup: myResourceGroup # replace with your Application Gateway instance's resource group name
60-
resourceName: myApplicationGateway # replace with your Application Gateway instance's name
62+
resourceGroup: myResourceGroup # replace with your Application Gateway deployment's resource group name
63+
resourceName: myApplicationGateway # replace with your Application Gateway deployment's name
6164
resourceProviderNamespace: Microsoft.Network
6265
resourceType: applicationGateways
6366
metric:
@@ -123,7 +126,7 @@ Test your setup by using a load test tool like ApacheBench:
123126
ab -n10000 http://<applicaiton-gateway-ip-address>/
124127
```
125128

126-
## Next steps
129+
## Related content
127130

128131
- [Troubleshoot Application Gateway Ingress Controller issues](ingress-controller-troubleshoot.md)
129-
- [What is Application Gateway for Containers?](for-containers/overview.md)
132+
- [Application Gateway for Containers](for-containers/overview.md)

articles/application-gateway/ingress-controller-cookie-affinity.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ ms.author: greglin
1313

1414
As outlined in the [Azure Application Gateway documentation](./application-gateway-components.md#http-settings), Application Gateway supports cookie-based affinity. This support means that the service can direct subsequent traffic from a user session to the same server for processing.
1515

16+
> [!TIP]
17+
> Consider [Application Gateway for Containers](for-containers/overview.md) for your Kubernetes ingress solution. For more information, see [Application Gateway for Containers session affinity overview](for-containers/session-affinity.md).
18+
1619
## Example
1720

1821
```yaml
@@ -34,4 +37,4 @@ spec:
3437
3538
## Related content
3639
37-
- [What is Application Gateway for Containers?](for-containers/overview.md)
40+
- [Application Gateway for Containers](for-containers/overview.md)

articles/application-gateway/ingress-controller-disable-addon.md

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,31 +13,34 @@ ms.author: greglin
1313

1414
When you deploy the Application Gateway Ingress Controller (AGIC) as an Azure Kubernetes Service (AKS) add-on, you can enable and disable the add-on with one line in the Azure CLI.
1515

16-
The life cycle of the Azure Application Gateway instance differs when you disable the AGIC add-on, depending on whether you created the Application Gateway instance by using the AGIC add-on or you deployed it separately from the add-on. You can run the same command to re-enable the AGIC add-on if you ever disable it, or to enable the AGIC add-on by using an existing AKS cluster and Application Gateway instance.
16+
The life cycle of the Azure Application Gateway deployment differs when you disable the AGIC add-on, depending on whether you created the Application Gateway deployment by using the AGIC add-on or you deployed it separately from the add-on. You can run the same command to re-enable the AGIC add-on if you ever disable it, or to enable the AGIC add-on by using an existing AKS cluster and Application Gateway deployment.
1717

18-
## Disable the AGIC add-on with an associated Application Gateway instance
18+
> [!TIP]
19+
> Consider [Application Gateway for Containers](for-containers/overview.md) for your Kubernetes ingress solution.
20+
21+
## Disable the AGIC add-on with an associated Application Gateway deployment
1922

20-
If the AGIC add-on automatically deployed the Application Gateway instance for you when you first set up everything, then disabling the AGIC add-on might delete the Application Gateway instance by default. The AGIC add-on considers two criteria to determine if it should delete the associated Application Gateway instance:
23+
If the AGIC add-on automatically deployed Application Gateway for you when you first set up everything, then disabling the AGIC add-on might delete the Application Gateway deployment by default. The AGIC add-on considers two criteria to determine if it should delete the associated Application Gateway deployment:
2124

22-
- Is the Application Gateway instance deployed in the `MC_*` node resource group?
23-
- Does the Application Gateway instance have the tag `created-by: ingress-appgw`? AGIC uses the tag to determine whether or not the add-on deployed the Application Gateway instance.
25+
- Is Application Gateway deployed in the `MC_*` node resource group?
26+
- Does the Application Gateway deployment have the tag `created-by: ingress-appgw`? AGIC uses the tag to determine whether or not the add-on deployed Application Gateway.
2427

25-
If both criteria are met, the AGIC add-on deletes the Application Gateway instance when you disable the add-on. However, the AGIC add-on doesn't delete the public IP address or the subnet in which it deployed the Application Gateway instance.
28+
If both criteria are met, the AGIC add-on deletes the Application Gateway deployment when you disable the add-on. However, the AGIC add-on doesn't delete the public IP address or the subnet in which it deployed Application Gateway.
2629

27-
If the first criterion isn't met, disabling the add-on doesn't delete the Application Gateway instance, even if the instance has the `created-by: ingress-appgw` tag. Likewise, if the second criterion isn't met (that is, the Application Gateway instance lacks that tag), disabling the add-on doesn't delete the Application Gateway instance in the `MC_*` node resource group.
30+
If the first criterion isn't met, disabling the add-on doesn't delete the Application Gateway deployment, even if the deployment has the `created-by: ingress-appgw` tag. Likewise, if the second criterion isn't met (that is, the Application Gateway deployment lacks that tag), disabling the add-on doesn't delete the Application Gateway deployment in the `MC_*` node resource group.
2831

2932
> [!TIP]
30-
> If you don't want the add-on to delete your Application Gateway instance when you disable the add-on, but the instance meets both criteria, remove the `created-by: ingress-appgw` tag.
33+
> If you don't want the add-on to delete your Application Gateway deployment when you disable the add-on, but the deployment meets both criteria, remove the `created-by: ingress-appgw` tag.
3134
3235
To disable the AGIC add-on, run the following command:
3336

3437
```azurecli-interactive
3538
az aks disable-addons -n <AKS-cluster-name> -g <AKS-resource-group-name> -a ingress-appgw
3639
```
3740

38-
## Enable the AGIC add-on on an existing Application Gateway instance and AKS cluster
41+
## Enable the AGIC add-on on an existing Application Gateway deployment and AKS cluster
3942

40-
If you ever disable the AGIC add-on and need to re-enable it, or you want to enable the add-on by using an existing Application Gateway instance and AKS cluster, run the following command:
43+
If you ever disable the AGIC add-on and need to re-enable it, or you want to enable the add-on by using an existing Application Gateway deployment and AKS cluster, run the following command:
4144

4245
```azurecli-interactive
4346
appgwId=$(az network application-gateway show -n <application-gateway-name> -g <resource-group-name> -o tsv --query "id")
@@ -46,5 +49,5 @@ az aks enable-addons -n <AKS-cluster-name> -g <AKS-cluster-resource-group> -a in
4649

4750
## Related content
4851

49-
- For more information on how to enable the AGIC add-on by using an existing Application Gateway instance and AKS cluster, see [this tutorial](tutorial-ingress-controller-add-on-existing.md).
50-
- For information about Application Gateway for Containers, see [What is Application Gateway for Containers?](for-containers/overview.md).
52+
- For more information on how to enable the AGIC add-on by using an existing Application Gateway deployment and AKS cluster, see [this tutorial](tutorial-ingress-controller-add-on-existing.md).
53+
- For information about Application Gateway for Containers, see [this overview article](for-containers/overview.md).

articles/application-gateway/ingress-controller-expose-service-over-http-https.md

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,19 @@ ms.author: greglin
1414

1515
This article illustrates the usage of [Kubernetes ingress resources](https://kubernetes.io/docs/concepts/services-networking/ingress/) to expose an example Azure Kubernetes Service (AKS) service through [Azure Application Gateway](https://azure.microsoft.com/services/application-gateway/) over HTTP or HTTPS.
1616

17+
> [!TIP]
18+
> Consider [Application Gateway for Containers](for-containers/overview.md) for your Kubernetes ingress solution.
19+
1720
## Prerequisites
1821

1922
- An installed `ingress-azure` Helm chart:
2023
- [Greenfield deployment](ingress-controller-install-new.md): If you're starting from scratch, refer to these installation instructions, which outline steps to deploy an AKS cluster with Application Gateway and install the Application Gateway Ingress Controller (AGIC) on the AKS cluster.
21-
- [Brownfield deployment](ingress-controller-install-existing.md): If you have an existing AKS cluster and Application Gateway instance, refer to these instructions to install AGIC on the AKS cluster.
24+
- [Brownfield deployment](ingress-controller-install-existing.md): If you have an existing AKS cluster and Application Gateway deployment, refer to these instructions to install AGIC on the AKS cluster.
2225
- An x509 certificate and its private key, if you want to use HTTPS on this application.
2326

2427
## Deploy the guestbook application
2528

26-
The `guestbook` application is a canonical Kubernetes application that consists of a web UI front end, a back end, and a Redis database.
29+
The `guestbook` application is a canonical Kubernetes application that consists of a web UI frontend, a backend, and a Redis database.
2730

2831
By default, `guestbook` exposes its application through a service with the name `frontend` on port `80`. Without a Kubernetes ingress resource, the service isn't accessible from outside the AKS cluster. You use the application, and set up ingress resources to access the application, through HTTP and HTTPS.
2932

@@ -56,7 +59,7 @@ spec:
5659
servicePort: 80
5760
```
5861
59-
This ingress exposes the `frontend` service of the `guestbook-all-in-one` deployment as a default back end of the Application Gateway instance.
62+
This ingress exposes the `frontend` service of the `guestbook-all-in-one` deployment as a default backend of the Application Gateway deployment.
6063

6164
Save the preceding ingress resource as `ing-guestbook.yaml`:
6265

@@ -68,13 +71,13 @@ Save the preceding ingress resource as `ing-guestbook.yaml`:
6871

6972
1. Check the log of the ingress controller for the deployment status.
7073

71-
Now the `guestbook` application should be available. You can check the availability by visiting the public address of the Application Gateway instance.
74+
Now the `guestbook` application should be available. You can check the availability by visiting the public address of the Application Gateway deployment.
7275

7376
## Expose services over HTTPS
7477

7578
### Without a specified host name
7679

77-
If you don't specify a host name, the `guestbook` service is available on all the host names that point to the Application Gateway instance.
80+
If you don't specify a host name, the `guestbook` service is available on all the host names that point to the Application Gateway deployment.
7881

7982
1. Before you deploy the ingress resource, create a Kubernetes secret to host the certificate and private key:
8083

@@ -177,4 +180,4 @@ spec:
177180

178181
## Related content
179182

180-
- [What is Application Gateway for Containers?](for-containers/overview.md)
183+
- [Application Gateway for Containers](for-containers/overview.md)

articles/application-gateway/ingress-controller-expose-websocket-server.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ ms.author: greglin
1313

1414
Azure Application Gateway v2 [provides native support for the WebSocket and HTTP/2 protocols](features.md#websocket-and-http2-traffic). Both Application Gateway and the Kubernetes ingress don't have a user-configurable setting to selectively enable or disable WebSocket support.
1515

16+
> [!TIP]
17+
> Consider [Application Gateway for Containers](for-containers/overview.md) for your Kubernetes ingress solution.
18+
1619
## YAML for WebSocket server deployment
1720

1821
The following Kubernetes deployment YAML shows the minimum configuration for deploying a WebSocket server, which is the same as deploying a regular web server:
@@ -73,7 +76,7 @@ spec:
7376
servicePort: 80
7477
```
7578
76-
Assuming that all the prerequisites are fulfilled, and you have an Application Gateway instance controlled by a Kubernetes ingress in Azure Kubernetes Service (AKS), the preceding deployment would result in a WebSocket server exposed on port 80 of your Application Gateway instance's public IP address and the `ws.contoso.com` domain.
79+
Assuming that all the prerequisites are fulfilled, and you have an Application Gateway deployment controlled by a Kubernetes ingress in Azure Kubernetes Service (AKS), the preceding deployment would result in a WebSocket server exposed on port 80 of your Application Gateway deployment's public IP address and the `ws.contoso.com` domain.
7780

7881
The following cURL command would test the WebSocket server deployment:
7982

@@ -98,4 +101,4 @@ To avoid the `502 Bad Gateway` error, you might need to add an HTTP `GET` handle
98101

99102
## Related content
100103

101-
- [What is Application Gateway for Containers?](for-containers/overview.md)
104+
- [Application Gateway for Containers](for-containers/overview.md)

0 commit comments

Comments
 (0)