Skip to content

Commit cef5f4c

Browse files
committed
articles-about-ingress-for-aks
1 parent 9e7b06c commit cef5f4c

8 files changed

+180
-168
lines changed
Lines changed: 27 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: Add health probes to your AKS pods
3-
description: This article provides information on how to add health probes (readiness and/or liveness) to AKS pods with an Application Gateway.
3+
description: This article provides information on how to add readiness or liveness health probes to AKS pods by using Application Gateway.
44
services: application-gateway
55
author: greg-lindsay
66
ms.service: azure-application-gateway
@@ -9,14 +9,12 @@ ms.date: 9/17/2024
99
ms.author: greglin
1010
---
1111

12-
# Add Health Probes to your service
13-
By default, Ingress controller provisions an HTTP GET probe for the exposed pods.
14-
The probe properties can be customized by adding a [Readiness or Liveness Probe](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/) to your `deployment`/`pod` spec.
12+
# Add health probes to your AKS pods
1513

16-
> [!TIP]
17-
> Also see [What is Application Gateway for Containers](for-containers/overview.md).
14+
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.
15+
16+
## Code for adding a readiness or liveness probe
1817

19-
## With `readinessProbe` or `livenessProbe`
2018
```yaml
2119
apiVersion: networking.k8s.io/v1
2220
kind: Deployment
@@ -43,25 +41,31 @@ spec:
4341
timeoutSeconds: 1
4442
```
4543
46-
Kubernetes API Reference:
47-
* [Container Probes](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#httpgetaction-v1-core)
44+
For more information, see the [Kubernetes API reference](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#httpgetaction-v1-core).
4845
4946
> [!NOTE]
50-
> * `readinessProbe` and `livenessProbe` are supported when configured with `httpGet`.
51-
> * Probing on a port other than the one exposed on the pod is currently not supported.
52-
> * `HttpHeaders`, `InitialDelaySeconds`, `SuccessThreshold` aren't supported.
47+
> - `readinessProbe` and `livenessProbe` are supported when you configure them with `httpGet`.
48+
> - Probing on a port other than the one exposed on the pod is currently not supported.
49+
> - `HttpHeaders`, `InitialDelaySeconds`, and `SuccessThreshold` aren't supported.
50+
51+
If the code doesn't include a readiness or liveness probe, the ingress controller makes an assumption that the service is reachable on either:
52+
53+
- The `Path` value that's specified for `backend-path-prefix` annotation
54+
- The `path` value that's specified in the `ingress` definition for the service
5355

54-
## Without `readinessProbe` or `livenessProbe`
55-
If the above probes aren't provided, then the Ingress Controller makes an assumption that the service is reachable on the `Path` specified for `backend-path-prefix` annotation, or the `path` specified in the `ingress` definition for the service.
56+
## Default values for the health probe
5657

57-
## Default Values for Health Probe
58-
For any property that can't be inferred by the readiness/liveness probe, default values are set.
58+
Any property that the readiness or liveness probe can't infer uses the following default values.
5959

60-
| Application Gateway Probe Property | Default Value |
60+
| Application Gateway probe property | Default value |
6161
|-|-|
62-
| `Path` | / |
63-
| `Host` | localhost |
64-
| `Protocol` | HTTP |
65-
| `Timeout` | 30 |
66-
| `Interval` | 30 |
67-
| `UnhealthyThreshold` | 3 |
62+
| `Path` | `/` |
63+
| `Host` | `localhost` |
64+
| `Protocol` | `HTTP` |
65+
| `Timeout` | `30` |
66+
| `Interval` | `30` |
67+
| `UnhealthyThreshold` | `3` |
68+
69+
## Related content
70+
71+
- [What is Application Gateway for Containers?](for-containers/overview.md)

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

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
2-
title: Enable cookie based affinity with Application Gateway
3-
description: This article provides information on how to enable cookie-based affinity with an Application Gateway.
2+
title: Enable cookie-based affinity with Application Gateway
3+
description: This article provides information on how to enable cookie-based affinity with Application Gateway.
44
services: application-gateway
55
author: greg-lindsay
66
ms.service: azure-application-gateway
@@ -9,13 +9,12 @@ ms.date: 9/17/2024
99
ms.author: greglin
1010
---
1111

12-
# Enable Cookie based affinity with an Application Gateway
13-
As outlined in the [Azure Application Gateway Documentation](./application-gateway-components.md#http-settings), Application Gateway supports cookie based affinity, which means it can direct subsequent traffic from a user session to the same server for processing.
12+
# Enable cookie-based affinity with Application Gateway
1413

15-
> [!TIP]
16-
> Also see [What is Application Gateway for Containers](for-containers/overview.md).
14+
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.
1715

1816
## Example
17+
1918
```yaml
2019
apiVersion: networking.k8s.io/v1
2120
kind: Ingress
@@ -31,4 +30,8 @@ spec:
3130
- backend:
3231
serviceName: frontend
3332
servicePort: 80
34-
```
33+
```
34+
35+
## Related content
36+
37+
- [What is Application Gateway for Containers?](for-containers/overview.md)

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

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,33 +11,33 @@ ms.author: greglin
1111

1212
# Disable and re-enable the AGIC add-on for your AKS cluster
1313

14-
The Application Gateway Ingress Controller (AGIC) deployed as an Azure Kubernetes Service (AKS) add-on allows you to enable and disable the add-on with one line in the Azure CLI.
14+
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 if the Application Gateway was created by the AGIC add-on, or if it was deployed separately from the AGIC 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 using an existing AKS cluster and Application Gateway.
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.
1717

18-
## Disabling AGIC add-on with associated Application Gateway
18+
## Disable the AGIC add-on with an associated Application Gateway instance
1919

20-
If the AGIC add-on automatically deployed the Application Gateway for you when you first set up everything, then disabling the AGIC add-on will by default delete the Application Gateway based on a couple criteria. There are two criteria that the AGIC add-on looks for to determine if it should delete the associated Application Gateway when you disable it:
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:
2121

22-
- Is the Application Gateway that the AGIC add-on is associated with deployed in the MC_* node resource group?
23-
- Does the Application Gateway that the AGIC add-on is associated with have the tag "created-by: ingress-appgw"? The tag is used by AGIC to determine if the Application Gateway was deployed by the add-on or not.
22+
- Is the Application Gateway instance that the AGIC add-on is associated with deployed in the `MC_*` node resource group?
23+
- Does the Application Gateway instance that the AGIC add-on is associated with have the tag `created-by: ingress-appgw`? AGIC uses the tag to determine whether or not the add-on deployed the Application Gateway instance.
2424

25-
If both criteria are met, then the AGIC add-on will delete the Application Gateway it created when the add-on is disabled; however, it won't delete the public IP or the subnet in which the Application Gateway was deployed with/in.
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.
2626

27-
If the first criteria isn't met, then it won't matter if the Application Gateway has the "created-by: ingress-appgw" tag - disabling the add-on won't delete the Application Gateway. Likewise, if the second criteria isn't met, that is. The Application Gateway lacks that tag, then disabling the add-on won't delete the Application Gateway in the MC_* node resource group.
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.
2828

2929
> [!TIP]
30-
> If you don't want the Application Gateway to be deleted when disabling the add-on, but it meets both criteria then remove the "created-by: ingress-appgw" tag to prevent the add-on from deleting your Application Gateway.
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.
3131
3232
To disable the AGIC add-on, run the following command:
3333

3434
```azurecli-interactive
3535
az aks disable-addons -n <AKS-cluster-name> -g <AKS-resource-group-name> -a ingress-appgw
3636
```
3737

38-
## Enable AGIC add-on on existing Application Gateway and AKS Cluster
38+
## Enable the AGIC add-on on an existing Application Gateway instance and AKS cluster
3939

40-
If you ever disable the AGIC add-on and need to re-enable the add-on, or want to enable the add-on using an existing Application Gateway and AKS cluster, then run the following command:
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:
4141

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

4747
## Related content
4848

49-
- For more information on how to enable the AGIC add-on using an existing Application Gateway and AKS cluster, see [AGIC add-on brownfield deployment](tutorial-ingress-controller-add-on-existing.md).
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).
5050
- For information about Application Gateway for Containers, see [What is Application Gateway for Containers?](for-containers/overview.md).

0 commit comments

Comments
 (0)