使用 Helm 升级 AGIC

通过使用托管在 Azure 存储上的 Helm 存储库,可以升级 Kubernetes 的 Azure 应用程序网关入口控制器 (AGIC)。

添加存储库

在开始升级过程之前,请确保已添加所需的存储库:

  1. 查看当前已添加的 Helm 存储库:

    helm repo list
    
  2. 如有必要,请添加 AGIC 存储库:

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

升级

  1. 刷新 AGIC Helm 存储库以获取最新版本:

    helm repo update
    
  2. 查看 application-gateway-kubernetes-ingress 图表的可用版本:

    helm search -l application-gateway-kubernetes-ingress
    

    示例响应:

    NAME                                                    CHART VERSION   APP VERSION     DESCRIPTION
    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...
    

    上述列表中的最新可用版本为 0.7.0-rc1

  3. 查看当前已安装的 Helm 图表:

    helm list
    

    示例响应:

    NAME            REVISION        UPDATED                         STATUS  CHART                   APP VERSION     NAMESPACE
    odd-billygoat   22              Fri Jun 21 15:56:06 2019        FAILED  ingress-azure-0.7.0-rc1 0.7.0-rc1       default
    

    上述示例响应中的 Helm 图表安装名为 odd-billygoat。 本文将对命令使用该名称。 实际部署名将有所不同。

  4. 将 Helm 部署升级到新版本:

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

回滚

如果 Helm 部署失败,可以回退到以前的版本:

  1. 获取上一个已知正常的版本编号:

    helm history odd-billygoat
    

    示例输出:

    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
    

    根据 helm history 命令的示例输出,odd-billygoat 示例的上一次成功部署为修订版 1

  2. 回退到上一个成功的修订版:

    helm rollback odd-billygoat 1