问题描述
我在Azure门户中将Azure AKS节点池的大小更新为2到4个节点。运行az aks nodepool show ...
时,我看到计数已正确更新。但是,当我运行kubectl get nodes
时,我仍然只看到以前存在的两个节点。
根据the Kubernetes documentation on node management,
(强调我的)
因此,我的期望是扩大了我的节点池后,这些新节点应该自动注册,kubectl get nodes
应该只接他们,但这似乎并非如此。
现在我的节点池有更多的节点,如何使我的AKS群集识别并利用它们?一旦kubectl get nodes
显示了它们,是否将使用更新的清单(具有更多副本)成为使用附加硬件所需要做的全部工作?
解决方法
不访问您的设置很难看到。但是您可以看到:
- 检查控制平面向集群注册时,没有将其自动升级到与节点池中的kubelet版本不兼容的新版本。 (最好是版本匹配)
- 连接到未注册(ssh)的节点,并检查日志以了解kubelet为何未启动。即
systectl status kubelet
。 - 检查您是否可以连接kube-apiserver的端口(即
8443
)和这些未注册节点的IP地址。即curl <ip-address>:8443
可能的解决方案:
- 升级节点池的VM映像以使用与控制平面兼容的映像。
- 删除防火墙规则,阻止您的节点访问kube-apiserver
使用其他硬件所需要做的就是应用更新的清单(具有更多副本)吗?
应该工作。
✌️