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/application-gateway/ingress-controller-add-health-probes.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,7 +11,7 @@ ms.author: greglin
11
11
12
12
# Add health probes to your AKS pods
13
13
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.
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.
Copy file name to clipboardExpand all lines: articles/application-gateway/ingress-controller-disable-addon.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,8 +19,8 @@ The life cycle of the Azure Application Gateway instance differs when you disabl
19
19
20
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:
21
21
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.
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.
24
24
25
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.
Copy file name to clipboardExpand all lines: articles/application-gateway/ingress-controller-expose-service-over-http-https.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,7 +23,7 @@ This article illustrates the usage of [Kubernetes ingress resources](https://kub
23
23
24
24
## Deploy the guestbook application
25
25
26
-
The `guestbook` application is a canonical Kubernetes application that consists of a Web UI front end, a back end, and a Redis database.
26
+
The `guestbook` application is a canonical Kubernetes application that consists of a web UI front end, a back end, and a Redis database.
27
27
28
28
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.
29
29
@@ -116,7 +116,7 @@ Now the `guestbook` application is available on both HTTP and HTTPS.
116
116
117
117
### With a specified host name
118
118
119
-
You can also specify the host name on the ingress resource in order to multiplex TLS configurations and services. When you specify a host name, the `guestbook` service is available only on the specified host.
119
+
You can also specify the host name on the ingress resource to multiplex TLS configurations and services. When you specify a host name, the `guestbook` service is available only on the specified host.
120
120
121
121
1. Define the following ingress resource. In the `secretName` section, replace `<guestbook-secret-name>` with the name of your secret. In the `hosts` and `host` sections, replace `<guestbook.contoso.com>` with your host name.
If your deployment doesn't explicitly define health probes, Application Gateway attempts an HTTP `GET` operation on your WebSocket server endpoint.
93
93
Depending on the server implementation (such as [this example](https://github.com/gorilla/websocket/blob/master/examples/chat/main.go)), you might need WebSocket-specific headers (`Sec-Websocket-Version`, for instance).
94
94
95
-
Because Application Gateway doesn't add WebSocket headers, the Application Gateway health probe response from your WebSocket server is most likely `400 Bad Request`. Application Gateway then marks your pods as unhealthy. This status eventually results in a `502 Bad Gateway` for the consumers of the WebSocket server.
95
+
Because Application Gateway doesn't add WebSocket headers, the Application Gateway health probe response from your WebSocket server is most likely `400 Bad Request`. Application Gateway then marks your pods as unhealthy. This status eventually results in a `502 Bad Gateway` error for the consumers of the WebSocket server.
96
96
97
97
To avoid the `502 Bad Gateway` error, you might need to add an HTTP `GET` handler for a health check to your server. For example, `/health` returns `200 OK`.
Copy file name to clipboardExpand all lines: articles/application-gateway/ingress-controller-install-existing.md
+12-12Lines changed: 12 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
---
2
2
title: Create an ingress controller by using an existing Application Gateway instance
3
-
description: This article provides information on how to deploy an Application Gateway Ingress Controller by using an existing Application Gateway instance.
3
+
description: This article provides information on how to deploy the Application Gateway Ingress Controller by using an existing Application Gateway instance.
4
4
services: application-gateway
5
5
author: greg-lindsay
6
6
ms.service: azure-application-gateway
@@ -21,13 +21,13 @@ This article assumes that you already installed the following tools and infrastr
21
21
-[An AKS cluster](/azure/aks/intro-kubernetes) with [Azure Container Networking Interface (CNI)](/azure/aks/configure-azure-cni).
22
22
-[Application Gateway v2](./tutorial-autoscale-ps.md) in the same virtual network as the AKS cluster.
23
23
-[Microsoft Entra Workload ID](/azure/aks/workload-identity-overview) configured for your AKS cluster.
24
-
-[Azure Cloud Shell](https://shell.azure.com/) as the Azure shell environment, which has `az` (Azure CLI), `kubectl`, and `helm` installed. These tools are required for commands used to support configuring this deployment.
24
+
-[Azure Cloud Shell](https://shell.azure.com/) as the Azure shell environment, which has `az` (Azure CLI), `kubectl`, and `helm` installed. These tools are required for commands that support configuring this deployment.
25
25
26
26
## Add the Helm repository
27
27
28
28
[Helm](/azure/aks/kubernetes-helm) is a package manager for Kubernetes. You use it to install the `application-gateway-kubernetes-ingress` package.
29
29
30
-
If you use Cloud Shell, you don't need to install Helm. Azure Cloud Shell comes with Helm version 3. Run the following commands to add the AGIC Helm repository for an AKS cluster that's enabled with Kubernetes role-based access control (RBAC):
30
+
If you use Cloud Shell, you don't need to install Helm. Cloud Shell comes with Helm version 3. Run the following commands to add the AGIC Helm repository for an AKS cluster that's enabled with Kubernetes role-based access control (RBAC):
@@ -52,7 +52,7 @@ AGIC communicates with the Kubernetes API server and [Azure Resource Manager](..
52
52
53
53
### Set up Microsoft Entra Workload ID
54
54
55
-
[Microsoft Entra Workload ID](/azure/aks/workload-identity-overview) is an identity that you assign to a software workload, to authenticate and access other services and resources. This identity enables your AKS pod to authenticate with other Azure resources.
55
+
[Microsoft Entra Workload ID](/azure/aks/workload-identity-overview) is an identity that you assign to a software workload. This identity enables your AKS pod to authenticate with other Azure resources.
56
56
57
57
For this configuration, you need authorization for the AGIC pod to make HTTP requests to Azure Resource Manager.
58
58
@@ -62,7 +62,7 @@ For this configuration, you need authorization for the AGIC pod to make HTTP req
62
62
az account set --subscription "subscriptionID"
63
63
```
64
64
65
-
Then use the [az identity create](/cli/azure/identity#az-identity-create) command to create a managed identity. You must create the identity in the [node resource group](/azure/aks/concepts-clusters-workloads#node-resource-group). The node resource group is assigned a name by default, such as *MC_myResourceGroup_myAKSCluster_eastus*.
65
+
Then use the [az identity create](/cli/azure/identity#az-identity-create) command to create a managed identity. You must create the identity in the [node resource group](/azure/aks/concepts-clusters-workloads#node-resource-group). The node resource group is assigned a name by default, such as `MC_myResourceGroup_myAKSCluster_eastus`.
# Assign the Reader role to the User assigned identity at the resource group scope
113
+
# Assign the Reader role to the user-assigned identity at the resource group scope
114
114
az role assignment create --role $role --assignee $principalId --scope $AppGatewayResourceGroupID
115
115
```
116
116
@@ -135,7 +135,7 @@ It's also possible to provide AGIC access to Azure Resource Manager by using a K
135
135
secretJSON: <Base64-Encoded-Credentials>
136
136
```
137
137
138
-
## Deploy the Azure Application Gateway Ingress Controller add-on
138
+
## Deploy the AGIC add-on
139
139
140
140
### Create a deployment manifest for the ingress controller
141
141
@@ -300,7 +300,7 @@ Let's look at an imaginary Application Gateway instance that manages traffic for
300
300
- `dev.contoso.com`: Hosted on a new AKS cluster by using Application Gateway and AGIC.
301
301
- `prod.contoso.com`: Hosted on a virtual machine scale set.
302
302
303
-
With default settings, AGIC assumes 100% ownership of the Application Gateway instance that it's pointed to. AGIC overwrites all of the App Gateway configuration. If you manually create a listener for`prod.contoso.com` (on Application Gateway) without defining itin the Kubernetes Ingress, AGIC deletes the `prod.contoso.com` configuration within seconds.
303
+
With default settings, AGIC assumes 100% ownership of the Application Gateway instance that it's pointed to. AGIC overwrites all of the App Gateway configuration. If you manually create a listener for`prod.contoso.com` on Application Gateway without defining itin the Kubernetes ingress, AGIC deletes the `prod.contoso.com` configuration within seconds.
304
304
305
305
To install AGIC and also serve `prod.contoso.com` from the machines that use the virtual machine scale set, you must constrain AGIC to configuring
306
306
`dev.contoso.com` only. You facilitate this constraint by instantiating the following [custom resource definition (CRD)](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/):
@@ -357,7 +357,7 @@ As a result, your AKS cluster has a new instance of `AzureIngressProhibitedTarge
357
357
kubectl get AzureIngressProhibitedTargets prohibit-all-targets -o yaml
358
358
```
359
359
360
-
The object `prohibit-all-targets` prohibits AGIC from changing the configuration for*any* host and path. Helm installed with `appgw.shared=true` deploys AGIC, but it doesn't make any changes to Application Gateway.
360
+
The `prohibit-all-targets` object prohibits AGIC from changing the configuration for*any* host and path. Helm installed with `appgw.shared=true` deploys AGIC, but it doesn't make any changes to Application Gateway.
361
361
362
362
### Broaden permissions
363
363
@@ -386,7 +386,7 @@ Because Helm with `appgw.shared=true` and the default `prohibit-all-targets` blo
386
386
387
387
Assume that you already have a working AKS cluster and an Application Gateway instance, and you configured AGIC in your cluster. You have an Ingress for`prod.contoso.com` and are successfully serving traffic for it from the cluster.
388
388
389
-
You want to add `staging.contoso.com` to your existing Application Gateway instance, but you need to host it on a [virtual machine](https://azure.microsoft.com/services/virtual-machines/). You're going to reuse the existing Application Gateway instance and manually configure a listener and back-end pools for `staging.contoso.com`. But manually tweaking Application Gateway configuration (by using the [Azure portal](https://portal.azure.com), [Resource Manager APIs](/rest/api/resources/), or [Terraform](https://www.terraform.io/)) would conflict with AGIC's assumptions of full ownership. Shortly after you apply changes, AGIC overwrites or deletes them.
389
+
You want to add `staging.contoso.com` to your existing Application Gateway instance, but you need to host it on a [virtual machine](https://azure.microsoft.com/services/virtual-machines/). You're going to reuse the existing Application Gateway instance and manually configure a listener and back-end pools for `staging.contoso.com`. But manually tweaking the Application Gateway configuration (by using the [Azure portal](https://portal.azure.com), [Resource Manager APIs](/rest/api/resources/), or [Terraform](https://www.terraform.io/)) would conflict with AGIC's assumptions of full ownership. Shortly after you apply changes, AGIC overwrites or deletes them.
390
390
391
391
You can prohibit AGIC from making changes to a subset of the configuration:
0 commit comments