Skip to content

Commit 6e9364f

Browse files
authored
Merge pull request #299361 from MicrosoftDocs/main
05/05/2025 PM Publishing
2 parents fc65ae2 + 4e52016 commit 6e9364f

File tree

64 files changed

+1456
-1782
lines changed

Some content is hidden

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

64 files changed

+1456
-1782
lines changed
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
---
2+
title: ALB Controller Helm Chart
3+
description: This article documents the latest helm chart for Application Gateway for Containers' ALB Controller.
4+
services: application-gateway
5+
author: greg-lindsay
6+
ms.service: azure-appgw-for-containers
7+
ms.topic: release-notes
8+
ms.date: 5/2/2025
9+
ms.author: greglin
10+
---
11+
<!-- Custom Resource Definitions (CRDs) -->
12+
13+
# ALB Controller Helm Chart
14+
15+
![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square)
16+
17+
A Helm chart to install the ALB Controller on Kubernetes.
18+
19+
The following parameters are supported for configuration during installation:
20+
21+
- tolerations
22+
- name
23+
- installGatewayApiCRDs
24+
- logLevel
25+
- namespace
26+
- seucrityPolicyFeatureFlag
27+
28+
## Values
29+
30+
| Key | Type | Default | Description |
31+
| ----- | ------ | --------- | ------------- |
32+
| albController.controller | object | `{"replicaCount":2,"resource":{"limits":{"cpu":"400m","memory":"400Mi"},"requests":{"cpu":"100m","memory":"200Mi"}},"tolerations":[]}` | ALB Controller parameters |
33+
| albController.controller.replicaCount | int | `2` | ALB Controller's replica count. |
34+
| albController.controller.resource | object | `{"limits":{"cpu":"400m","memory":"400Mi"},"requests":{"cpu":"100m","memory":"200Mi"}}` | ALB Controller's container resource parameters. |
35+
| albController.controller.tolerations | list | `[]` | Tolerations for ALB Controller |
36+
| albController.env | list | `[{"name":"","value":""}]` | Environment variables for ALB Controller. |
37+
| albController.image | object | `{"name":{"CRDs":"application-lb/images/alb-controller-crds","bootstrap":"application-lb/images/alb-controller-bootstrap","controller":"application-lb/images/alb-controller"},"pullPolicy":"IfNotPresent","registry":"mcr.microsoft.com"}` | ALB Controller image parameters. |
38+
| albController.image.name | object | `{"CRDs":"application-lb/images/alb-controller-crds","bootstrap":"application-lb/images/alb-controller-bootstrap","controller":"application-lb/images/alb-controller"}` | Image name defaults. |
39+
| albController.image.name.CRDs | string | `"application-lb/images/alb-controller-crds"` | ALB Controller CRDs' image name |
40+
| albController.image.name.bootstrap | string | `"application-lb/images/alb-controller-bootstrap"` | alb-controller bootstrap's init container image name. |
41+
| albController.image.name.controller | string | `"application-lb/images/alb-controller"` | ALB Controller's image name. |
42+
| albController.image.pullPolicy | string | `"IfNotPresent"` | Container image pull policy for ALB Controller containers. |
43+
| albController.image.registry | string | `"mcr.microsoft.com"` | Container image registry for ALB Controller. |
44+
| albController.imagePullSecrets | list | `[]` | |
45+
| albController.installGatewayApiCRDs | bool | `true` | A flag to enable/disable installation of Gateway API CRDs. |
46+
| albController.logLevel | string | `"info"` | Log level of ALB Controller. |
47+
| albController.namespace | string | `"azure-alb-system"` | Namespace to deploy ALB Controller components in. |
48+
| albController.securityPolicyFeatureFlag | bool | `false` | Enable Application Load Balancer Security Policy Resource (WAF Preview). |
49+
50+
## Tolerations
51+
52+
Tolerations follow Kubernetes' implementation as defined [here](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/).
53+
54+
Tolerations are added to each of the ALB Controller pods, supporting the following format:
55+
56+
```yaml
57+
tolerations:
58+
- key: "key1"
59+
operator: "Equal"
60+
value: "value1"
61+
effect: "NoSchedule"
62+
```
63+
64+
If desired, you can specify the toleration inline via the helm install command using the following example:
65+
66+
```bash
67+
HELM_NAMESPACE='<namespace for deployment>'
68+
CONTROLLER_NAMESPACE='azure-alb-system'
69+
VERSION='<latest_version>'
70+
az aks get-credentials --resource-group $RESOURCE_GROUP --name $AKS_NAME
71+
helm install alb-controller oci://mcr.microsoft.com/application-lb/charts/alb-controller \
72+
--namespace $HELM_NAMESPACE \
73+
--version $VERSION \
74+
--set albController.namespace=$CONTROLLER_NAMESPACE \
75+
--set albController.podIdentity.clientID=$(az identity show -g $RESOURCE_GROUP -n azure-alb-identity --query clientId -o tsv)
76+
--set tolerations.key=key1 --set tolerations.operator=Equal --set tolerations.value=value1 --set tolerations.effect=NoExecute --set tolerations.tolerationSeconds=3600
77+
--set tolerations.key=key2 --set tolerations.operator=Exists --set tolerations.effect=NoSchedule
78+
```

articles/application-gateway/for-containers/alb-controller-release-notes.md

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ services: application-gateway
55
author: greg-lindsay
66
ms.service: azure-appgw-for-containers
77
ms.topic: release-notes
8-
ms.date: 3/31/2025
8+
ms.date: 5/2/2025
99
ms.author: greglin
1010
---
1111

@@ -24,19 +24,20 @@ Instructions for new or existing deployments of ALB Controller are found in the
2424

2525
## Latest Release (Recommended)
2626

27-
| ALB Controller Version | Gateway API Version | Kubernetes Version | Release Notes |
27+
| ALB Controller Version | Gateway API Version | Minimum Kubernetes Version | Release Notes |
2828
| ---------------------- | ------------------- | ------------------ | ------------- |
29-
| 1.5.2 | v1.1.1 | v1.26, v1.27, v1.28, v1.29, v1.30 | Support for Azure CNI Overlay |
29+
| 1.6.7 | v1.1.1 | v1.27 | [Fix for SSE timeout value of 0](https://aka.ms/qa2153620), [Overlay CNI fix](https://github.com/Azure/AKS/issues/4950), [support readinessProbe port by name](https://github.com/Azure/AKS/issues/4861), leverage init container during bootstrap, misc. bug fixes and improvements |
3030

3131
## Release history
3232

33-
| ALB Controller Version | Gateway API Version | Kubernetes Version | Release Notes |
33+
| ALB Controller Version | Gateway API Version | Minimum Kubernetes Version | Release Notes |
3434
| ---------------------- | ------------------- | ------------------ | ------------- |
35-
| 1.4.12 | v1.1.1 | v1.26, v1.27, v1.28, v1.29, v1.30 | Updated to Gateway API version 1.1.1, Regex match support for path and header match in HTTP and GRPC routes, [Wildcard hostname fix](https://github.com/Azure/AKS/issues/4713), Misc. bug fixes and improvements |
36-
| 1.3.7| v1.1 | v1.26, v1.27, v1.28, v1.29, v1.30 | Minor fixes and improvements |
37-
| 1.2.3| v1.1 | v1.26, v1.27, v1.28, v1.29, v1.30 | Gateway API v1.1, gRPC support, frontend mutual authentication, readiness probe fixes, custom health probe port and TLS mode |
38-
| 1.0.2| v1 | v1.26, v1.27, v1.28, v1.29 | ECDSA + RSA certificate support for both Ingress and Gateway API, Ingress fixes, Server-sent events support |
39-
| 1.0.0| v1 | v1.26, v1.27, v1.28 | General Availability! URL redirect for both Gateway and Ingress API, v1beta1 -> v1 of Gateway API, quality improvements<br/>Breaking Changes: TLS Policy for Gateway API [PolicyTargetReference](https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io%2fv1alpha2.PolicyTargetReferenceWithSectionName)<br/>Listener is now referred to as [SectionName](https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.SectionName)<br/>Fixes: Request timeout of 3 seconds, [HealthCheckPolicy interval](https://github.com/Azure/AKS/issues/4086), [pod crash for missing API fields](https://github.com/Azure/AKS/issues/4087) |
35+
| 1.5.2 | v1.1.1 | v1.26 | Support for Azure CNI Overlay |
36+
| 1.4.12 | v1.1.1 | v1.26 | Updated to Gateway API version 1.1.1, Regex match support for path and header match in HTTP and GRPC routes, [Wildcard hostname fix](https://github.com/Azure/AKS/issues/4713), Misc. bug fixes and improvements |
37+
| 1.3.7| v1.1 | v1.26 | Minor fixes and improvements |
38+
| 1.2.3| v1.1 | v1.26 | Gateway API v1.1, gRPC support, frontend mutual authentication, readiness probe fixes, custom health probe port and TLS mode |
39+
| 1.0.2| v1 | v1.26 | ECDSA + RSA certificate support for both Ingress and Gateway API, Ingress fixes, Server-sent events support |
40+
| 1.0.0| v1 | v1.26 | General Availability! URL redirect for both Gateway and Ingress API, v1beta1 -> v1 of Gateway API, quality improvements<br/>Breaking Changes: TLS Policy for Gateway API [PolicyTargetReference](https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io%2fv1alpha2.PolicyTargetReferenceWithSectionName)<br/>Listener is now referred to as [SectionName](https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.SectionName)<br/>Fixes: Request timeout of 3 seconds, [HealthCheckPolicy interval](https://github.com/Azure/AKS/issues/4086), [pod crash for missing API fields](https://github.com/Azure/AKS/issues/4087) |
4041
| 0.6.3 | v1beta1 | v1.25 | Hotfix to address handling of Application Gateway for Containers frontends during controller restart in managed scenario |
4142
| 0.6.2 | - | - | Skipped release |
4243
| November 6, 2023 - 0.6.1 | v1beta1 | v1.25 | Gateway / Ingress API - Header rewrite support, Ingress API - URL rewrite support, Ingress multiple-TLS listener bug fix, two certificates maximum per host, adopting [semantic versioning (semver)](https://semver.org/), quality improvements |

articles/application-gateway/for-containers/quickstart-deploy-application-gateway-for-containers-alb-controller.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ author: greg-lindsay
77
ms.service: azure-appgw-for-containers
88
ms.custom: devx-track-azurecli
99
ms.topic: quickstart
10-
ms.date: 3/31/2025
10+
ms.date: 5/2/2025
1111
ms.author: greglin
1212
---
1313

@@ -125,7 +125,7 @@ You need to complete the following tasks before deploying Application Gateway fo
125125
--issuer "$AKS_OIDC_ISSUER" \
126126
--subject "system:serviceaccount:azure-alb-system:alb-controller-sa"
127127
```
128-
ALB Controller requires a federated credential with the name of _azure-alb-identity_. Any other federated credential name is unsupported.
128+
ALB Controller requires a federated credential with the name of `azure-alb-identity`. Any other federated credential name is unsupported.
129129
130130
> [!Note]
131131
> Assignment of the managed identity immediately after creation may result in an error that the principalId does not exist. Allow about a minute of time to elapse for the identity to replicate in Microsoft Entra ID before delegating the identity.
@@ -136,7 +136,7 @@ You need to complete the following tasks before deploying Application Gateway fo
136136
137137
To install ALB Controller, use the `helm install` command.
138138
139-
When the `helm install` command is run, it deploys the helm chart to the _default_ namespace. When alb-controller is deployed, it deploys to the _azure-alb-system_ namespace. Both of these namespaces may be overridden independently as desired. To override the namespace the helm chart is deployed to, you may specify the --namespace (or -n) parameter. To override the _azure-alb-system_ namespace used by alb-controller, you may set the albController.namespace property during installation (`--set albController.namespace`). If neither the `--namespace` or the `--set albController.namespace` parameters are defined, the _default_ namespace is used for the helm chart and the _azure-alb-system_ namespace is used for the ALB controller components. Lastly, if the namespace for the helm chart resource isn't yet defined, ensure the `--create-namespace` parameter is also specified along with the `--namespace` or `-n` parameters.
139+
When the `helm install` command is run, it deploys the helm chart to the _default_ namespace. When alb-controller is deployed, it deploys to the `azure-alb-system` namespace. Both of these namespaces may be overridden independently as desired. To override the namespace the helm chart is deployed to, you may specify the --namespace (or -n) parameter. To override the `azure-alb-system` namespace used by alb-controller, you may set the albController.namespace property during installation (`--set albController.namespace`). If neither the `--namespace` or the `--set albController.namespace` parameters are defined, the _default_ namespace is used for the helm chart and the `azure-alb-system` namespace is used for the ALB controller components. Lastly, if the namespace for the helm chart resource isn't yet defined, ensure the `--create-namespace` parameter is also specified along with the `--namespace` or `-n` parameters.
140140
141141
ALB Controller can be installed by running the following commands:
142142
@@ -146,7 +146,7 @@ You need to complete the following tasks before deploying Application Gateway fo
146146
az aks get-credentials --resource-group $RESOURCE_GROUP --name $AKS_NAME
147147
helm install alb-controller oci://mcr.microsoft.com/application-lb/charts/alb-controller \
148148
--namespace $HELM_NAMESPACE \
149-
--version 1.5.2 \
149+
--version 1.6.7 \
150150
--set albController.namespace=$CONTROLLER_NAMESPACE \
151151
--set albController.podIdentity.clientID=$(az identity show -g $RESOURCE_GROUP -n azure-alb-identity --query clientId -o tsv)
152152
```
@@ -164,7 +164,7 @@ You need to complete the following tasks before deploying Application Gateway fo
164164
az aks get-credentials --resource-group $RESOURCE_GROUP --name $AKS_NAME
165165
helm upgrade alb-controller oci://mcr.microsoft.com/application-lb/charts/alb-controller \
166166
--namespace $HELM_NAMESPACE \
167-
--version 1.5.2 \
167+
--version 1.6.7 \
168168
--set albController.namespace=$CONTROLLER_NAMESPACE \
169169
--set albController.podIdentity.clientID=$(az identity show -g $RESOURCE_GROUP -n azure-alb-identity --query clientId -o tsv)
170170
```
@@ -220,27 +220,27 @@ The next step is to link your ALB controller to Application Gateway for Containe
220220
221221
There are two deployment strategies for management of Application Gateway for Containers:
222222
- **Bring your own (BYO) deployment:** In this deployment strategy, deployment and lifecycle of the Application Gateway for Containers resource, Association resource, and Frontend resource is assumed via Azure portal, CLI, PowerShell, Terraform, etc. and referenced in configuration within Kubernetes.
223-
- To use a BYO deployment, see [Create Application Gateway for Containers - bring your own deployment](quickstart-create-application-gateway-for-containers-byo-deployment.md)
223+
- To use a BYO deployment, see [Create Application Gateway for Containers - bring your own deployment](quickstart-create-application-gateway-for-containers-byo-deployment.md).
224224
- **Managed by ALB controller:** In this deployment strategy, ALB Controller deployed in Kubernetes is responsible for the lifecycle of the Application Gateway for Containers resource and its sub resources. ALB Controller creates an Application Gateway for Containers resource when an **ApplicationLoadBalancer** custom resource is defined on the cluster. The service lifecycle is based on the lifecycle of the custom resource.
225-
- To use an ALB managed deployment, see [Create Application Gateway for Containers managed by ALB Controller](quickstart-create-application-gateway-for-containers-managed-by-alb-controller.md)
225+
- To use an ALB managed deployment, see [Create Application Gateway for Containers managed by ALB Controller](quickstart-create-application-gateway-for-containers-managed-by-alb-controller.md).
226226
227227
## Uninstall Application Gateway for Containers and ALB Controller
228228
229229
If you wish to uninstall the ALB Controller, complete the following steps.
230230
231231
1. Delete the Application Gateway for Containers, you can delete the Resource Group containing the Application Gateway for Containers resources:
232232
233-
```azurecli-interactive
234-
az group delete --resource-group $RESOURCE_GROUP
235-
```
233+
```azurecli-interactive
234+
az group delete --resource-group $RESOURCE_GROUP
235+
```
236236

237237
2. Uninstall ALB Controller and its resources from your cluster run the following commands:
238238

239-
```azurecli-interactive
240-
helm uninstall alb-controller
241-
kubectl delete ns azure-alb-system
242-
kubectl delete gatewayclass azure-alb-external
243-
```
239+
```azurecli-interactive
240+
helm uninstall alb-controller
241+
kubectl delete ns azure-alb-system
242+
kubectl delete gatewayclass azure-alb-external
243+
```
244244

245245
> [!Note]
246246
> If a different namespace was used for alb-controller installation, ensure you specify the -n parameter on the helm uninstall command to define the proper namespace to be used. For example: `helm uninstall alb-controller -n unique-namespace`

articles/application-gateway/for-containers/toc.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,8 @@
101101
href: troubleshooting-guide.md
102102
- name: Kubernetes Reference
103103
items:
104+
- name: ALB Controller Helm Chart
105+
href: alb-controller-helm-chart.md
104106
- name: API Specification
105107
href: api-specification-kubernetes.md
106108
- name: Reference

articles/azure-app-configuration/howto-variant-feature-flags.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,3 +74,4 @@ In this tutorial, you create a web app named _Quote of the Day_. When the app is
7474

7575
2. Continue to the following instructions to use the variant feature flag in your application for the language or platform you're using.
7676
* [ASP.NET Core](./howto-variant-feature-flags-aspnet-core.md)
77+
* [Python](./howto-variant-feature-flags-python.md)

articles/azure-functions/functions-deploy-container-apps.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ Use these commands to create your required Azure resources:
8484
principalId=$(az identity create --name <USER_IDENTITY_NAME> --resource-group AzureFunctionsContainers-rg --location eastus --query principalId -o tsv)
8585
acrId=$(az acr show --name <REGISTRY_NAME> --query id --output tsv)
8686
az role assignment create --assignee-object-id $principalId --assignee-principal-type ServicePrincipal --role acrpull --scope $acrId
87-
storageId=$(az storage account show --resource-group AzureFunctionsContainers-rg --name glengatestaca2 --query 'id' -o tsv)
87+
storageId=$(az storage account show --resource-group AzureFunctionsContainers-rg --name <STORAGE_NAME> --query 'id' -o tsv)
8888
az role assignment create --assignee-object-id $principalId --assignee-principal-type ServicePrincipal --role "Storage Blob Data Owner" --scope $storageId
8989
```
9090

articles/azure-functions/functions-monitoring.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ In [C#](functions-dotnet-class-library.md#log-custom-telemetry-in-c-functions),
8888

8989
### Dependencies
9090

91-
Starting with version 2.x of Functions, Application Insights automatically collects data on dependencies for bindings that use certain client SDKs. Application Insights distributed tracing and dependency tracking aren't currently supported for C# apps running in an [isolated worker process](dotnet-isolated-process-guide.md). Application Insights collects data on the following dependencies:
91+
Starting with version 2.x of Functions, Application Insights automatically collects data on dependencies for bindings that use certain client SDKs. Application Insights collects data on the following dependencies:
9292

9393
+ Azure Cosmos DB
9494
+ Azure Event Hubs

articles/azure-functions/opentelemetry-howto.md

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -42,15 +42,6 @@ To enable OpenTelemetry output from the Functions host, update the [host.json fi
4242
```json
4343
{
4444
"version": "2.0",
45-
"logging": {
46-
"applicationInsights": {
47-
"samplingSettings": {
48-
"isEnabled": true,
49-
"excludedTypes": "Request"
50-
},
51-
"enableLiveMetricsFilters": true
52-
}
53-
},
5445
"telemetryMode": "openTelemetry"
5546
}
5647
```

0 commit comments

Comments
 (0)