Upgrading AGIC using Helm

The Azure Application Gateway Ingress Controller for Kubernetes (AGIC) can be upgraded using a Helm repository hosted on Azure Storage.

Before we begin the upgrade procedure, ensure that you have added the required repository:

  • View your currently added Helm repositories with:

    helm repo list
    
  • Add the AGIC repo with:

    helm repo add \
        application-gateway-kubernetes-ingress \
        https://appgwingress.blob.core.windows.net/ingress-azure-helm-package/
    

Upgrade

  1. Refresh the AGIC Helm repository to get the latest release:

    helm repo update
    
  2. View available versions of the application-gateway-kubernetes-ingress chart:

    helm search repo -l application-gateway-kubernetes-ingress
    

    Sample response:

    NAME                                                    CHART VERSION   APP VERSION     DESCRIPTION
    application-gateway-kubernetes-ingress/ingress-azure    1.0.0           1.0.0           Use Azure Application Gateway as the ingress for an Azure...
    application-gateway-kubernetes-ingress/ingress-azure    0.7.0-rc1       0.7.0-rc1       Use Azure Application Gateway as the ingress for an Azure...
    application-gateway-kubernetes-ingress/ingress-azure    0.6.0           0.6.0           Use Azure Application Gateway as the ingress for an Azure...
    

    Latest available version from the list above is: 0.7.0-rc1

  3. View the Helm charts currently installed:

    helm list
    

    Sample response:

    NAME            REVISION        UPDATED                         STATUS  CHART                   APP VERSION     NAMESPACE
    odd-billygoat   22              Fri Nov 08 15:56:06 2019        FAILED  ingress-azure-1.0.0     1.0.0           default
    

    The Helm chart installation from the sample response above is named odd-billygoat. We will use this name for the rest of the commands. Your actual deployment name will most likely differ.

  4. Upgrade the Helm deployment to a new version:

    helm upgrade \
        odd-billygoat \
        application-gateway-kubernetes-ingress/ingress-azure \
        --version 1.0.0
    

Rollback

Should the Helm deployment fail, you can rollback to a previous release.

  1. Get the last known healthy release number:

    helm history odd-billygoat
    

    Sample output:

    REVISION        UPDATED                         STATUS          CHART                   DESCRIPTION
    1               Mon Jun 17 13:49:42 2019        DEPLOYED        ingress-azure-0.6.0     Install complete
    2               Fri Jun 21 15:56:06 2019        FAILED          ingress-azure-xx        xxxx
    

    From the sample output of the helm history command it looks like the last successful deployment of our odd-billygoat was revision 1

  2. Rollback to the last successful revision:

    helm rollback odd-billygoat 1