如何获取kubectl来识别新缩放的az aks节点池节点?

问题描述

我在Azure门户中将Azure AKS节点池的大小更新为2到4个节点。运行az aks nodepool show ...时,我看到计数已正确更新。但是,当我运行kubectl get nodes时,我仍然只看到以前存在的两个节点。

根据the Kubernetes documentation on node management

有两种方法可以将节点添加到API服务器:

  1. 节点上的kubelet自动注册到控制平面
  2. 您或其他人工用户手动添加Node对象

(强调我的)

因此,我的期望是扩大了我的节点池后,这些新节点应该自动注册kubectl get nodes应该只接他们,但这似乎并非如此。

现在我的节点池有更多的节点,如何使我的AKS群集识别并利用它们?一旦kubectl get nodes显示了它们,是否将使用更新的清单(具有更多副本)成为使用附加硬件所需要做的全部工作?

解决方法

不访问您的设置很难看到。但是您可以看到:

  • 检查控制平面向集群注册时,没有将其自动升级到与节点池中的kubelet版本不兼容的新版本。 (最好是版本匹配)
  • 连接到未注册(ssh)的节点,并检查日志以了解kubelet为何未启动。即systectl status kubelet
  • 检查您是否可以连接kube-apiserver的端口(即8443)和这些未注册节点的IP地址。即curl <ip-address>:8443

可能的解决方案:

  • 升级节点池的VM映像以使用与控制平面兼容的映像。
  • 删除防火墙规则,阻止您的节点访问kube-apiserver

使用其他硬件所需要做的就是应用更新的清单(具有更多副本)吗?

应该工作。

✌️