您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn.

教程:使用新的应用程序网关实例为新的 AKS 群集启用入口控制器加载项

你可以使用 Azure CLI 为新的 Azure Kubernetes 服务 (AKS) 群集启用应用程序网关入口控制器 (AGIC) 加载项。

在本教程中,你将创建一个启用 AGIC 加载项的 AKS 群集。 创建群集时,将自动创建要使用的 Azure 应用程序网关实例。 然后将部署一个示例应用程序,该应用程序将利用该加载项通过应用程序网关公开应用程序。

此加载项为 AKS 群集提供了一种比之前通过 Helm 进行部署快得多的 AGIC 部署方法。 它还提供了完全托管体验。

本教程介绍如何执行下列操作:

  • 创建资源组。
  • 创建启用 AGIC 加载项的新 AKS 群集。
  • 在 AKS 群集上部署将 AGIC 用于入口的示例应用程序。
  • 检查是否可以通过应用程序网关访问应用程序。

如果还没有 Azure 订阅,可以在开始前创建一个免费帐户

先决条件

  • Azure Cloud Shell 中使用 Bash 环境。

    在新窗口中启动 Cloud Shell

  • 如果需要,请安装 Azure CLI 来运行 CLI 参考命令。

    • 如果使用的是本地安装,请使用 az login 命令登录到 Azure CLI。 若要完成身份验证过程,请遵循终端中显示的步骤。 有关其他登录选项,请参阅登录 Azure CLI

    • 出现提示时,请在首次使用时安装 Azure CLI 扩展。 有关扩展详细信息,请参阅使用 Azure CLI 的扩展

    • 运行 az version 以查找安装的版本和依赖库。 若要升级到最新版本,请运行 az upgrade

创建资源组

在 Azure 中,可将相关的资源分配到资源组。 使用 az group create 创建资源组。 下面的示例在 canadacentral 位置(区域)创建名为 myResourceGroup 的资源组 :

az group create --name myResourceGroup --location canadacentral

部署启用了加载项的 AKS 群集

现在将部署启用了 AGIC 加载项的新 AKS 群集。 如果你未提供要在此过程中使用的现有应用程序网关实例,我们将自动创建并设置新的应用程序网关实例,用于向 AKS 群集提供流量。

备注

应用程序网关入口控制器加载项仅支持应用程序网关 v2 SKU(标准版和 WAF 版),不支持应用程序网关 v1 SKU 。 通过 AGIC 加载项部署新的应用程序网关实例时,只能部署应用程序网关 Standard_v2 SKU。 如果要为应用程序网关 WAF_v2 SKU 启用该加载项,请使用以下方法之一:

下面的示例将使用 Azure CNI托管标识部署名为 myCluster 的新 AKS 群集。 还将在创建的 myResourceGroup 资源组中启用 AGIC 加载项。

如果在未指定现有应用程序网关实例的情况下部署启用 AGIC 加载项的新 AKS 群集,则将自动创建 Standard_v2 SKU 应用程序网关实例。 因此还需要指定应用程序网关实例的名称和子网地址空间。 应用程序网关实例的名称将是 myApplicationGateway,将要使用的子网地址空间是 10.2.0.0/16。

az aks create -n myCluster -g myResourceGroup --network-plugin azure --enable-managed-identity -a ingress-appgw --appgw-name myApplicationGateway --appgw-subnet-cidr "10.2.0.0/16" --generate-ssh-keys

若要为 az aks create 命令配置其他参数,请参阅这些参考

备注

创建的 AKS 群集将显示在创建的 myResourceGroup 资源组中。 但是,自动创建的应用程序网关实例将位于代理池所在的节点资源组中。 默认情况下,节点资源组将命名为 MC_resource-group-name_cluster-name_location,但可以修改。

部署使用 AGIC 的示例应用程序

现在将为创建的 AKS 群集部署示例应用程序。 该应用程序将使用 AGIC 加载项作为入口,并会将应用程序网关实例连接到 AKS 群集。

首先,通过运行 az aks get-credentials 命令获取 AKS 群集的凭据:

az aks get-credentials -n myCluster -g myResourceGroup

获取凭据后,运行以下命令来设置一个示例应用程序,该应用程序将 AGIC 用作群集的入口。 AGIC 会使用你部署的新示例应用程序的相应路由规则更新你之前设置的应用程序网关实例。

kubectl apply -f https://raw.githubusercontent.com/Azure/application-gateway-kubernetes-ingress/master/docs/examples/aspnetapp.yaml 

检查应用程序是否可供访问

将应用程序网关实例设置为向 AKS 群集提供流量以后,接下来让我们验证是否可以访问你的应用程序。 首先获取入口的 IP 地址:

kubectl get ingress

通过以下任一方式检查所创建的示例应用程序是否正在运行:

  • 访问运行前面的命令所获取的应用程序网关实例的 IP 地址。
  • 使用 curl

应用程序网关可能需要一分钟才能获取更新。 如果应用程序网关在门户上仍处于“正在更新”状态,请等待更新完成,然后再尝试访问该 IP 地址。

清理资源

如果不再需要资源组、应用程序网关实例以及所有相关资源,请将其删除。

az group delete --name myResourceGroup

后续步骤