Skip to content

Commit 24c4205

Browse files
Move AGIC charts to MCR and update docs (#1646)
* replicate script * update docs * some other fixes * fix docs * add note * fix note * add version notes * bump versions
1 parent f69f68e commit 24c4205

14 files changed

+73
-120
lines changed

Diff for: docs/developers/build.md

+2-13
Original file line numberDiff line numberDiff line change
@@ -126,22 +126,11 @@ To test your changes on a cluster, you can use the [`Dev Release`](https://dev.a
126126
`Dev Release` generates a new docker image and helm package for your changes. Once the pipeline completes, use helm to install the release on your AKS cluster.
127127

128128
```bash
129-
# add the staging helm repository
130-
helm repo add staging https://appgwingress.blob.core.windows.net/ingress-azure-helm-package-staging/
131-
helm repo update
132-
133-
# list the available versions and pick the latest version
134-
helm search repo staging -l --devel
135-
NAME CHART VERSION APP VERSION DESCRIPTION
136-
staging/ingress-azure 10486 10486 Use Azure Application Gateway as the ingress fo...
137-
staging/ingress-azure 10465 10465 Use Azure Application Gateway as the ingress fo...
138-
staging/ingress-azure 10256 10256 Use Azure Application Gateway as the ingress fo...
139-
140129
# install/upgrade
141130
helm install ingress-azure \
142131
-f helm-config.yaml \
143-
application-gateway-kubernetes-ingress/ingress-azure \
144-
--version 10486
132+
oci://mcr.microsoft.com/azure-application-gateway/charts/ingress-azure \
133+
--version 1.7.5
145134
```
146135

147136
You can also find the `version` by opening your build in the `Merge Builds` pipeline and looking for the `buildid`. Use this version when installing on the cluster after the `Dev Release` completes.

Diff for: docs/features/agic-reconcile.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ Configure from helm install command(first time install) and helm upgrade command
2323

2424
```bash
2525
# helm fresh install
26-
helm intall <releaseName> -f helm-config.yaml application-gateway-kubernetes-ingress/ingress-azure --version 1.2.0-rc3 --set reconcilePeriodSeconds=30
26+
helm intall <releaseName> -f helm-config.yaml oci://mcr.microsoft.com/azure-application-gateway/charts/ingress-azure --version 1.7.5 --set reconcilePeriodSeconds=30
2727

2828
# help upgrade
2929
# --reuse-values, when upgrading, reuse the last release's values and merge in any overrides from the command line via --set and -f.
30-
helm upgrade <releaseName> application-gateway-kubernetes-ingress/ingress-azure --reuse-values --version 1.2.0-rc3 --set reconcilePeriodSeconds=30
30+
helm upgrade <releaseName> oci://mcr.microsoft.com/azure-application-gateway/charts/ingress-azure --reuse-values --version 1.7.5 --set reconcilePeriodSeconds=30
3131
```

Diff for: docs/features/appgw-ssl-certificate.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Please use [Greenfield Deployment](https://github.com/Azure/application-gateway-
1414
To use the new feature, make sure the AGIC version is at least at 1.2.0-rc3
1515

1616
```bash
17-
helm install application-gateway-kubernetes-ingress/ingress-azure -f helm-config.yaml --version 1.2.0-rc3 --generate-name
17+
helm install oci://mcr.microsoft.com/azure-application-gateway/charts/ingress-azure -f helm-config.yaml --version 1.7.5 --generate-name
1818
```
1919

2020
## Create a certificate and configure the certificate to AppGw

Diff for: docs/features/multiple-namespaces.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ To enable multiple namespace support:
3232
- delete the `watchNamespace` key entirely from [helm-config.yaml](../examples/sample-helm-config.yaml) - AGIC will observe all namespaces
3333
- set `watchNamespace` to an empty string - AGIC will observe all namespaces
3434
- add multiple namespaces separated by a comma (`watchNamespace: default,secondNamespace`) - AGIC will observe these namespaces exclusively
35-
2. apply Helm template changes with: `helm install -f helm-config.yaml application-gateway-kubernetes-ingress/ingress-azure`
35+
2. apply Helm template changes with: `helm install -f helm-config.yaml oci://mcr.microsoft.com/azure-application-gateway/charts/ingress-azure`
3636

3737
Once deployed with the ability to observe multiple namespaces, AGIC will:
3838

Diff for: docs/helm-values-documenation.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
| Field | Default | Description |
88
| - | - | - |
9-
| `verbosityLevel`| 3 | Sets the verbosity level of the AGIC logging infrastructure. See [Logging Levels](troubleshooting.md#logging-levels) for possible values. |
9+
| `verbosityLevel`| 3 | Sets the verbosity level of the AGIC logging infrastructure. See [Logging Levels](logging-levels.md) for possible values. |
1010
| `reconcilePeriodSeconds` | | Enable periodic reconciliation to checks if the latest gateway configuration is different from what it cached. Range: 30 - 300 seconds. Disabled by default. |
1111
| `appgw.applicationGatewayID` | | Resource Id of the Application Gateway. Example: `applicationgatewayd0f0` |
1212
| `appgw.subscriptionId` | Default is agent node pool's subscriptionId derived from CloudProvider config | The Azure Subscription ID in which App Gateway resides. Example: `a123b234-a3b4-557d-b2df-a0bc12de1234` |
@@ -25,7 +25,7 @@
2525
| `kubernetes.affinity` | `{}` | Scheduling affinity |
2626
| `kubernetes.volumes.extraVolumes` | `{}` | Specify additional volumes for the AGIC pod. This can be useful when [running on a `readOnlyRootFilesystem`](#run-with-read-only-root-filesystem), as AGIC requires a writeable `/tmp` directory. |
2727
| `kubernetes.volumes.extraVolumeMounts` | `{}` | Specify additional volume mounts for the AGIC pod. This can be useful when [running on a `readOnlyRootFilesystem`](#run-with-read-only-root-filesystem), as AGIC requires a writeable `/tmp` directory. |
28-
| `kubernetes.ingressClass` | `azure/application-gateway` | Specify a [custom ingress class](features\custom-ingress-class.md) which will be used to match `kubernetes.io/ingress.class` in ingress manifest |
28+
| `kubernetes.ingressClass` | `azure/application-gateway` | Specify a [custom ingress class](features/custom-ingress-class.md) which will be used to match `kubernetes.io/ingress.class` in ingress manifest |
2929
| `rbac.enabled` | false | Specify true if kubernetes cluster is rbac enabled |
3030
| `armAuth.type` | | could be `aadPodIdentity` or `servicePrincipal` |
3131
| `armAuth.identityResourceID` | | Resource ID of the Azure Managed Identity |

Diff for: docs/how-tos/continuous-deployment-pipeline.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@
259259
"namespace": "agic",
260260
"command": "upgrade",
261261
"chartType": "Name",
262-
"chartName": "application-gateway-kubernetes-ingress/ingress-azure",
262+
"chartName": "oci://mcr.microsoft.com/azure-application-gateway/charts/ingress-azure",
263263
"chartPath": "",
264264
"version": "",
265265
"releaseName": "agic",

Diff for: docs/how-tos/deploy-AGIC-with-Workload-Identity-using-helm.md

+12-19
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,7 @@ This assumes you have an existing Application Gateway. If not, you can create it
88
az network application-gateway create -g myResourceGroup -n myApplicationGateway --sku Standard_v2 --public-ip-address myPublicIP --vnet-name myVnet --subnet mySubnet --priority 100
99
```
1010

11-
## 1. Add the AGIC Helm repository
12-
13-
```bash
14-
helm repo add application-gateway-kubernetes-ingress https://appgwingress.blob.core.windows.net/ingress-azure-helm-package/
15-
helm repo update
16-
```
17-
18-
## 2. Set environment variables
11+
## 1. Set environment variables
1912

2013
```bash
2114
export RESOURCE_GROUP="myResourceGroup"
@@ -24,65 +17,65 @@ export USER_ASSIGNED_IDENTITY_NAME="myIdentity"
2417
export FEDERATED_IDENTITY_CREDENTIAL_NAME="myFedIdentity"
2518
```
2619

27-
## 3. Create resource group, AKS cluster and identity
20+
## 2. Create resource group, AKS cluster and identity
2821

2922
```bash
3023
az group create --name "${RESOURCE_GROUP}" --location eastus
3124
az aks create -g "${RESOURCE_GROUP}" -n myAKSCluster --node-count 1 --enable-oidc-issuer --enable-workload-identity
3225
az identity create --name "${USER_ASSIGNED_IDENTITY_NAME}" --resource-group "${RESOURCE_GROUP}"
3326
```
3427

35-
## 4. Export the oidcIssuerProfile.issuerUrl
28+
## 3. Export the oidcIssuerProfile.issuerUrl
3629

3730
```bash
3831
export AKS_OIDC_ISSUER="$(az aks show -n myAKSCluster -g "${RESOURCE_GROUP}" --query "oidcIssuerProfile.issuerUrl" -otsv)"
3932
```
4033

41-
## 5. Create federated identity credential
34+
## 4. Create federated identity credential
4235

4336
**Note**: the name of the service account that gets created after the helm installation is “ingress-azure” and the following command assumes it will be deployed in “default” namespace. Please change the namespace name in the next command if you deploy the AGIC related Kubernetes resources in other namespace.
4437

4538
```bash
4639
az identity federated-credential create --name ${FEDERATED_IDENTITY_CREDENTIAL_NAME} --identity-name ${USER_ASSIGNED_IDENTITY_NAME} --resource-group ${RESOURCE_GROUP} --issuer ${AKS_OIDC_ISSUER} --subject system:serviceaccount:default:ingress-azure
4740
```
4841

49-
## 6. Obtain the ClientID of the identity created before that is needed for the next step
42+
## 5. Obtain the ClientID of the identity created before that is needed for the next step
5043

5144
```bash
5245
az identity show --resource-group "${RESOURCE_GROUP}" --name "${USER_ASSIGNED_IDENTITY_NAME}" --query 'clientId' -otsv
5346
```
5447

55-
## 7. Export the Application Gateway resource ID
48+
## 6. Export the Application Gateway resource ID
5649

5750
```bash
5851
export APP_GW_ID="$(az network application-gateway show --name "${APPLICATION_GATEWAY_NAME}" --resource-group "${RESOURCE_GROUP}" --query 'id' --output tsv)"
5952
```
6053

61-
## 8. Add Contributor role for the identity over the Application Gateway
54+
## 7. Add Contributor role for the identity over the Application Gateway
6255

6356
```bash
6457
az role assignment create --assignee <identityClientID> --scope "${APP_GW_ID}" --role Contributor
6558
```
6659

67-
## 9. In helm-config.yaml specify
60+
## 8. In helm-config.yaml specify
6861

6962
```yaml
7063
armAuth:
7164
type: workloadIdentity
7265
identityClientID: <identityClientID>
7366
```
7467
75-
## 10.Get the AKS cluster credentials
68+
## 9. Get the AKS cluster credentials
7669
7770
```bash
7871
az aks get-credentials -g "${RESOURCE_GROUP}" -n myAKSCluster
7972
```
8073

81-
## 11. Install the helm chart
74+
## 10. Install the helm chart
8275

8376
```bash
8477
helm install ingress-azure \
8578
-f helm-config.yaml \
86-
application-gateway-kubernetes-ingress/ingress-azure \
87-
--version 1.7.1
79+
oci://mcr.microsoft.com/azure-application-gateway/charts/ingress-azure \
80+
--version 1.7.5
8881
```

Diff for: docs/how-tos/helm-upgrade.md

+3-42
Original file line numberDiff line numberDiff line change
@@ -3,49 +3,10 @@
33
> **_NOTE:_** [Application Gateway for Containers](https://aka.ms/agc) has been released, which introduces numerous performance, resilience, and feature changes. Please consider leveraging Application Gateway for Containers for your next deployment.
44
55
The Azure Application Gateway Ingress Controller for Kubernetes (AGIC) can be upgraded
6-
using a Helm repository hosted on Azure Storage.
7-
8-
Before we begin the upgrade procedure, ensure that you have added the required repository:
9-
10-
- View your currently added Helm repositories with:
11-
12-
```bash
13-
helm repo list
14-
```
15-
16-
- Add the AGIC repo with:
17-
18-
```bash
19-
helm repo add \
20-
application-gateway-kubernetes-ingress \
21-
https://appgwingress.blob.core.windows.net/ingress-azure-helm-package/
22-
```
6+
using a Helm repository hosted on MCR.
237

248
## Upgrade
259

26-
1. Refresh the AGIC Helm repository to get the latest release:
27-
28-
```bash
29-
helm repo update
30-
```
31-
32-
1. View available versions of the `application-gateway-kubernetes-ingress` chart:
33-
34-
``` bash
35-
helm search repo -l application-gateway-kubernetes-ingress
36-
```
37-
38-
Sample response:
39-
40-
```bash
41-
NAME CHART VERSION APP VERSION DESCRIPTION
42-
application-gateway-kubernetes-ingress/ingress-azure 1.0.0 1.0.0 Use Azure Application Gateway as the ingress for an Azure...
43-
application-gateway-kubernetes-ingress/ingress-azure 0.7.0-rc1 0.7.0-rc1 Use Azure Application Gateway as the ingress for an Azure...
44-
application-gateway-kubernetes-ingress/ingress-azure 0.6.0 0.6.0 Use Azure Application Gateway as the ingress for an Azure...
45-
```
46-
47-
Latest available version from the list above is: `0.7.0-rc1`
48-
4910
1. View the Helm charts currently installed:
5011

5112
```bash
@@ -67,8 +28,8 @@ Before we begin the upgrade procedure, ensure that you have added the required r
6728
```bash
6829
helm upgrade \
6930
odd-billygoat \
70-
application-gateway-kubernetes-ingress/ingress-azure \
71-
--version 1.0.0
31+
oci://mcr.microsoft.com/azure-application-gateway/charts/ingress-azure \
32+
--version 1.7.5
7233
```
7334

7435
## Rollback

Diff for: docs/how-tos/prevent-agic-from-overwriting.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ Apply the Helm changes:
7171
helm upgrade \
7272
--recreate-pods \
7373
-f helm-config.yaml \
74-
ingress-azure application-gateway-kubernetes-ingress/ingress-azure
74+
ingress-azure oci://mcr.microsoft.com/azure-application-gateway/charts/ingress-azure
7575
```
7676

7777
As a result your AKS will have a new instance of `AzureIngressProhibitedTarget` called `prohibit-all-targets`:

Diff for: docs/setup/install.md

+10-14
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
> [Application Gateway for Containers](https://aka.ms/agc) has been released, which introduces numerous performance, resilience, and feature changes. Please consider leveraging Application Gateway for Containers for your next deployment.
44
5+
> AGIC charts have been moved to MCR. Use oci://mcr.microsoft.com/azure-application-gateway/charts/ingress-azure as the target repository.
6+
AGIC versions >= 1.5.0 excluding release candidates are now available.
7+
58
You need to complete the following tasks prior to deploying AGIC on your cluster:
69

710
1. Prepare your Azure subscription and your `az-cli` client.
@@ -52,7 +55,7 @@ You need to complete the following tasks prior to deploying AGIC on your cluster
5255
5356
3. Install Helm
5457
55-
[Helm](https://github.com/helm/helm) is an open-source packaging tool that is used to install ALB controller.
58+
[Helm](https://github.com/helm/helm) is an open-source packaging tool that is used to install AGIC.
5659
5760
> Helm is already available in Azure Cloud Shell. If you are using Azure Cloud Shell, no additional Helm installation is necessary.
5861
@@ -145,7 +148,7 @@ If using an existing Application Gateway, make sure the following:
145148
146149
echo "Set up federation with AKS OIDC issuer"
147150
AKS_OIDC_ISSUER="$(az aks show -n "$AKS_NAME" -g "$RESOURCE_GROUP" --query "oidcIssuerProfile.issuerUrl" -o tsv)"
148-
az identity federated-credential create --name "azure-alb-identity" \
151+
az identity federated-credential create --name "agic" \
149152
--identity-name "$IDENTITY_RESOURCE_NAME" \
150153
--resource-group $RESOURCE_GROUP \
151154
--issuer "$AKS_OIDC_ISSUER" \
@@ -163,14 +166,7 @@ If using an existing Application Gateway, make sure the following:
163166

164167
> 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 prior to delegating the identity.
165168

166-
1. Add the AGIC Helm repository:
167-
168-
```bash
169-
helm repo add application-gateway-kubernetes-ingress https://appgwingress.blob.core.windows.net/ingress-azure-helm-package/
170-
helm repo update
171-
```
172-
173-
1. Install ALB Controller using Helm
169+
1. Install AGIC using Helm
174170

175171
### For new deployments
176172

@@ -181,7 +177,7 @@ AGIC can be installed by running the following commands:
181177
182178
# on aks cluster with only linux node pools
183179
helm install ingress-azure \
184-
application-gateway-kubernetes-ingress/ingress-azure \
180+
oci://mcr.microsoft.com/azure-application-gateway/charts/ingress-azure \
185181
--set appgw.applicationGatewayID=$APPGW_ID \
186182
--set armAuth.type=workloadIdentity \
187183
--set armAuth.identityClientID=$IDENTITY_CLIENT_ID \
@@ -190,7 +186,7 @@ AGIC can be installed by running the following commands:
190186
191187
# on aks cluster with windows node pools
192188
helm install ingress-azure \
193-
application-gateway-kubernetes-ingress/ingress-azure \
189+
oci://mcr.microsoft.com/azure-application-gateway/charts/ingress-azure \
194190
--set appgw.applicationGatewayID=$APPGW_ID \
195191
--set armAuth.type=workloadIdentity \
196192
--set armAuth.identityClientID=$IDENTITY_CLIENT_ID \
@@ -208,7 +204,7 @@ AGIC can be upgraded by running the following commands:
208204
209205
# on aks cluster with only linux node pools
210206
helm upgrade ingress-azure \
211-
application-gateway-kubernetes-ingress/ingress-azure \
207+
oci://mcr.microsoft.com/azure-application-gateway/charts/ingress-azure \
212208
--set appgw.applicationGatewayID=$APPGW_ID \
213209
--set armAuth.type=workloadIdentity \
214210
--set armAuth.identityClientID=$IDENTITY_CLIENT_ID \
@@ -217,7 +213,7 @@ AGIC can be upgraded by running the following commands:
217213
218214
# on aks cluster with windows node pools
219215
helm upgrade ingress-azure \
220-
application-gateway-kubernetes-ingress/ingress-azure \
216+
oci://mcr.microsoft.com/azure-application-gateway/charts/ingress-azure \
221217
--set appgw.applicationGatewayID=$APPGW_ID \
222218
--set armAuth.type=workloadIdentity \
223219
--set armAuth.identityClientID=$IDENTITY_CLIENT_ID \

Diff for: docs/troubleshootings/troubleshooting-agic-fails-with-aad-pod-identity-breakingchange.md

+6-6
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,9 @@ Updated AGIC Helm templates to use the right fields regarding AAD Pod Identity,
5050
5151
### Resolving the issue
5252
53-
It's recommended you upgrade your AGIC to release 1.2.0 and then apply AAD Pod Identity version >= 1.6.0
53+
It's recommended you upgrade your AGIC to release >= 1.2.0 and then apply AAD Pod Identity version >= 1.6.0
5454

55-
#### Upgrade AGIC to 1.2.0
55+
#### Upgrade AGIC to >= 1.2.0
5656

5757
AGIC version [v1.2.0](https://github.com/Azure/application-gateway-kubernetes-ingress/releases/tag/1.2.0) will be required.
5858

@@ -65,15 +65,15 @@ helm repo update
6565
# check the latest relese version of AGIC
6666
helm search repo -l application-gateway-kubernetes-ingress
6767
68-
# install release 1.2.0
68+
# install release 1.7.5
6969
helm upgrade \
7070
<release-name> \
71-
application-gateway-kubernetes-ingress/ingress-azure
72-
--version 1.2.0
71+
oci://mcr.microsoft.com/azure-application-gateway/charts/ingress-azure
72+
--version 1.7.5
7373
--reuse-values
7474
```
7575

76-
***Note:**_ If you're upgrading from v1.0.0 or below, you'll have to delete AGIC and then reinstall with v1.2.0.
76+
***Note:**_ If you're upgrading from v1.0.0 or below, you'll have to delete AGIC and then reinstall with v1.7.5.
7777

7878
#### Install the right version of AAD Pod Identity
7979

Diff for: helm/index.md

-12
This file was deleted.

0 commit comments

Comments
 (0)