#kubernetes #azure-aks
#kubernetes #azure-aks
Вопрос:
Я использую ручное масштабирование в кластере 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'
Я не уверен, что привело кластер в это несогласованное состояние и как приступить к его отладке.
Ответ №1:
Это произошло потому, что два узла были в поврежденном состоянии. Нам пришлось удалить эти узлы из набора VM scale в группе ресурсов узлов, связанной с нашим кластером AKS. Не уверен, почему узлы попали в это состояние.