【问题标题】:Azure Ui shows wrong amount of nodes after deleting nodes with kubectl使用 kubectl 删除节点后,Azure Ui 显示错误的节点数量
【发布时间】:2021-06-27 13:41:36
【问题描述】:

我手动删除了 Kubernetes 集群的两个节点,首先调用“kubectl drain”,然后为每个节点调用“kubectl delete”。虽然集群似乎可以正常工作,但 Azure UI 显示的节点比我使用“kubectl get nodes”时看到的多两个节点。因此,当我将 Kubernetes 配置为在 Azure UI 中有 9 个节点时,如果我使用 kubectl 进行查看,则只有 7 个节点。向上或向下扩展并不能解决问题,因为 Azure 总是被两个节点关闭。 我怎么解决这个问题?有什么方法可以通知 Azure 某个节点已被删除?

【问题讨论】:

    标签: azure kubernetes kubectl


    【解决方案1】:

    想要解决问题,需要对k8s集群有更深入的了解。

    当您使用命令kubectl delete 从代理池中删除节点时,这意味着代理池将无法控制该节点。但这并不意味着你真的删除了机器。所以你可以在 Azure 门户中找到机器的数量没有变化。这就是你发现的真相。

    我该如何解决这个问题?有没有办法可以通知 Azure 节点已被删除?

    这里有两个问题。首先,你可以这样表达:

    如何将之前删除的节点恢复到代理池中?

    解决起来很简单。您只需要在该节点中重新启动kubelet 服务即可。例如,您使用 VMSS 作为 AKS 的代理池,并且该节点实例 id 为 4。那么您可以这样做:

    az vmss run-command invoke --resource-group group_name --name vmss_name --instance-id 4 --command-id RunShellScript --scripts "service kubelet restart"
    

    对于第二种,只能使用 Azure 命令让 Azure 知道更新。这意味着您可以扩展代理池,例如,使用 Azure CLI 命令:

    az aks nodepool --resource-group group_name --name agentpool_name --cluster-name cluster_name --node-count 2
    

    【讨论】:

      猜你喜欢
      • 2016-03-31
      • 2019-07-14
      • 2018-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多