Skip to content

Commit a1a8ed2

Browse files
Create alb-controller-helm-chart.md
1 parent f8fa3d8 commit a1a8ed2

File tree

1 file changed

+75
-0
lines changed

1 file changed

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

0 commit comments

Comments
 (0)