教程:在由 Azure Arc 启用的 AKS 中缩放应用程序

适用于:Azure Stack HCI 22H2 上的 AKS、Windows Server 上的 AKS

如果已完成前面的教程,则 AKS 中应有一个正常运行的 Kubernetes 群集,并且还部署了示例 Azure 投票应用。

本教程第 5 部分(共 7 部分)介绍了在应用中横向扩展 Pod。 将了解如何执行以下操作:

  • 缩放 Kubernetes 节点
  • 手动缩放运行应用程序的 Kubernetes Pod

在后面的教程中,Azure 投票应用程序将更新为新版本。

开始之前

前面的教程介绍了如何将应用程序打包到容器映像中,将映像上传到Azure 容器注册表,以及如何创建 Kubernetes 群集。 然后,将应用程序部署到了该群集。 如果尚未完成这些步骤,请从 教程 1 - 为 Arc 启用的 AKS 准备应用程序开始。

手动缩放 Pod

前面的教程介绍了如何部署 Azure 投票应用前端和 Redis 实例来创建单个副本。 若要查看群集中 Pod 的数目和状态,请使用以下 kubectl get 命令:

kubectl get pods

以下示例输出显示一个前端 Pod 和一个后端 Pod:

NAME                               READY     STATUS    RESTARTS   AGE
azure-vote-back-2549686872-4d2r5   1/1       Running   0          31m
azure-vote-front-848767080-tf34m   1/1       Running   0          31m

若要手动更改 azure-vote-front 部署中的 Pod 数,请使用 kubectl scale 命令。 以下示例将前端 Pod 数增加到 5:

kubectl scale --replicas=5 deployment/azure-vote-front

再次运行 kubectl get pods,验证命令是否成功创建其他 Pod。 大约一分钟后,即可在群集中使用 Pod:

kubectl get pods
                                    READY     STATUS    RESTARTS   AGE
azure-vote-back-2606967446-nmpcf    1/1       Running   0          15m
azure-vote-front-3309479140-2hfh0   1/1       Running   0          3m
azure-vote-front-3309479140-bzt05   1/1       Running   0          3m
azure-vote-front-3309479140-fvcvm   1/1       Running   0          3m
azure-vote-front-3309479140-hrbf2   1/1       Running   0          15m
azure-vote-front-3309479140-qphz8   1/1       Running   0          3m

缩放节点池中的工作器节点

如果使用上一教程中的命令创建了 Kubernetes 群集,则部署具有名为 mycluster 的群集,其中包含一个名为 linuxnodepool 的 Linux 节点池,该池的节点计数为 1。

使用 Set-AksHciNodePool 命令缩放节点池。 以下示例将节点池从 1 个扩展到 3 个 Linux 节点:

Set-AksHciNodePool -clusterName mycluster -name linuxnodepool -count 3

如果需要缩放控制平面节点,请使用 Set-AksHciCluster 命令。

注意

Set-AksHciNodePool 命令用于缩放节点池中的辅助角色节点。 在不支持工作负载群集中的节点池的早期 AKS 版本中,使用了 Set-AksHciCluster 命令。 只能使用 Set-AksHciCluster 缩放使用 New-AksHciCluster 中的旧参数集创建的群集中的辅助角色节点。

运行以下命令,确认缩放是否成功:

Get-AksHciNodePool -clusterName mycluster
ClusterName  : mycluster
NodePoolName : linuxnodepool
Version      : v1.20.7
OsType       : Linux
NodeCount    : 3
VmSize       : Standard_K8S3_v1
Phase        : Deployed

后续步骤

在本教程中,在 Kubernetes 群集中使用了不同的缩放功能。 你已了解如何执行以下操作:

  • 手动缩放运行应用程序的 Kubernetes Pod
  • 手动缩放 Kubernetes 节点

请继续学习下一教程,了解如何在 Kubernetes 中更新应用程序。