在 Azure Kubernetes 服务(AKS)节点池升级期间验证 Valkey 复原能力

Azure Kubernetes 服务(AKS)上使用与 Locust 一起部署的同一 Valkey 群集,可以在 AKS 节点池升级期间验证 Valkey 群集的复原能力。 此过程有助于验证 Valkey 在 AKS 节点池升级期间是否保持复原能力。 使用 Locust 进行监视可确保对请求处理情况以及分片可用性的可见性,使你能够自信地管理升级,并将服务中断降至最低。

升级 AKS 群集

  1. 列出 AKS 群集的可用版本 ,并确定要升级到使用 az aks get-upgrades 命令的目标版本。

    az aks get-upgrades --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_CLUSTER_NAME --output table
    
  2. 使用 az aks upgrade 命令升级 AKS 控制平面。 在此示例中,目标版本为 1.33.0。

    az aks upgrade --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_CLUSTER_NAME --control-plane-only --kubernetes-version 1.33.0
    

验证 Locust 客户端状态

  • 验证在上一篇文章中启动的 Locust 客户端是否仍在运行。 Locust 仪表板将显示 AKS 节点池升级对 Valkey 群集的影响。

升级 Valkey 节点池

  1. 使用 az aks nodepool upgrade 命令升级 Valkey 节点池。

    az aks nodepool upgrade \
        --resource-group $MY_RESOURCE_GROUP_NAME \
        --cluster-name $MY_CLUSTER_NAME \
        --kubernetes-version 1.33.0 \
        --name valkey
    
  2. 在升级过程运行时,可以监视 Locust 仪表板以查看客户端请求的状态。 仪表板应类似于以下屏幕截图:

    显示 AKS 升级期间 Locust 测试仪表板的网页的屏幕截图。

    仪表板显示 Locust 正在运行,100 个用户每秒发出 50 个请求。 在升级过程中,主节点 Pod 被驱逐四次。 可以看到,分片在几秒钟内暂时不可用,但 Valkey 群集仍然可以响应对其他分片的请求。

若要详细了解 AKS 上的有状态工作负荷,请参阅 在 Azure Kubernetes 服务(AKS)上设计和部署有状态工作负荷