Azure AKS:`kubectl get nodes` 中的状态不一致且节点数不正确

Azure AKS: Inconsistent state and incorrect number of nodes in `kubectl get nodes`

我在 Azure AKS 集群中使用手动缩放,它最多可以扩展到 60 个节点。

缩放命令运行良好:

az aks scale --resource-group RG-1 --name KS-3 --node-count 46
{- Finished ..
  "agentPoolProfiles": [
    {
      "availabilityZones": null,
      "count": 46,
      ...

并报告了46个节点的数量。

状态也显示“成功”:

az aks show --name KS-3 --resource-group RG-1 -o table
Name        Location    ResourceGroup       KubernetesVersion    ProvisioningState    Fqdn
----------  ----------  ------------------  -------------------  -------------------  -------------------------
      KS-3  xxxxxxx     RG-1                1.16.13              Succeeded            xxx.azmk8s.io

然而,当我查看 kubectl get nodes 时,它只显示 44 个节点:

kubectl get nodes | grep -c 'aks'
44

有 7 个节点处于“Ready,SchedulingDisabled”状态(其余节点处于就绪状态):

kubectl get nodes | grep -c "Ready,SchedulingDisabled"
7

当我尝试将集群缩减到 45 个节点时,出现此错误:

Deployment failed. Correlation ID: xxxx-xxx-xxx-x. Node 'aks-nodepool1-xxxx-vmss000yz8' failed to be drained with error: 'nodes "aks-nodepool1-xxxx-vmss000yz8" not found'

我不确定是什么导致集群进入这种不一致状态以及如何调试它。

发生这种情况是因为其中两个节点处于损坏状态。我们必须从与我们的 AKS 群集关联的节点资源组中的 VM 规模集中删除这些节点。不确定为什么节点会进入这种状态。