Atualizar imagens de nó do Serviço Kubernetes do Azure (AKS)
O Serviço Kubernetes do Azure (AKS) fornece regularmente novas imagens de nó, por isso é benéfico atualizar as imagens do nó com frequência para usar os recursos mais recentes do AKS. As imagens do nó Linux são atualizadas semanalmente e as imagens do nó do Windows são atualizadas mensalmente. Os anúncios de atualização de imagem estão incluídos nas notas de versão do AKS e pode levar até uma semana para que essas atualizações sejam implementadas em todas as regiões. Você também pode executar atualizações de imagem de nó automaticamente e programá-las usando a manutenção planejada. Para obter mais informações, consulte Atualizar imagens de nó automaticamente.
Este artigo mostra como atualizar imagens de nó de cluster AKS e como atualizar imagens de pool de nós sem atualizar a versão do Kubernetes. Para obter informações sobre como atualizar a versão do Kubernetes para seu cluster, consulte Atualizar um cluster AKS.
Nota
O cluster AKS deve usar conjuntos de escala de máquina virtual para os nós.
Não é possível fazer downgrade de uma versão de imagem de nó (por exemplo , AKSUbuntu-2204 para AKSUbuntu-1804, ou AKSUbuntu-2204-202308.01.0 para AKSUbuntu-2204-202307.27.0).
Verifique se há atualizações de imagens de nós disponíveis
Verifique se há atualizações de imagem de nó disponíveis usando o
az aks nodepool get-upgrades
comando.az aks nodepool get-upgrades \ --nodepool-name <node-pool-name> \ --cluster-name <cluster-name> \ --resource-group <resource-group>
Na saída, localize e anote o
latestNodeImageVersion
valor. Esse valor é a versão de imagem de nó mais recente disponível para seu pool de nós.Verifique a versão atual da imagem do nó para comparar com a versão mais recente usando o
az aks nodepool show
comando.az aks nodepool show \ --resource-group <resource-group> \ --cluster-name <cluster-name> \ --name <node-pool-name> \ --query nodeImageVersion
Se o
nodeImageVersion
valor for diferente dolatestNodeImageVersion
, você poderá atualizar a imagem do nó.
Atualizar todas as imagens de nós em todos os pools de nós
Atualize todas as imagens de nó em todos os pools de nós do cluster usando o
az aks upgrade
comando com o--node-image-only
sinalizador.az aks upgrade \ --resource-group <resource-group> \ --name <cluster-name> \ --node-image-only
Você pode verificar o status das imagens do nó usando o
kubectl get nodes
comando.Nota
Este comando pode diferir ligeiramente dependendo do shell que você usa. Para obter mais informações sobre ambientes Windows e PowerShell, consulte a documentação do Kubernetes JSONPath.
kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
Quando a atualização for concluída, use o
az aks show
comando para obter os detalhes do pool de nós atualizados. A imagem do nó atual é mostrada na propriedadenodeImageVersion
.az aks show \ --resource-group <resource-group> \ --name <cluster-name>
Atualizar um conjunto de nós específico
Atualize a imagem do sistema operacional de um pool de nós sem fazer uma atualização de cluster do Kubernetes usando o
az aks nodepool upgrade
comando com o--node-image-only
sinalizador.az aks nodepool upgrade \ --resource-group <resource-group> \ --cluster-name <cluster-name> \ --name <node-pool-name> \ --node-image-only
Você pode verificar o status das imagens do nó com o
kubectl get nodes
comando.Nota
Este comando pode diferir ligeiramente dependendo do shell que você usa. Para obter mais informações sobre ambientes Windows e PowerShell, consulte a documentação do Kubernetes JSONPath.
kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
Quando a atualização for concluída, use o
az aks nodepool show
comando para obter os detalhes do pool de nós atualizados. A imagem do nó atual é mostrada na propriedadenodeImageVersion
.az aks nodepool show \ --resource-group <resource-group> \ --cluster-name <cluster-name> \ --name <node-pool-name>
Atualizar imagens do nó com aumento de nós
Para acelerar o processo de atualização da imagem do nó, você pode atualizar as imagens do nó usando um valor de aumento de nó personalizável. Por padrão, o AKS usa um nó extra para configurar atualizações.
Atualize imagens de nó com aumento de nó usando o
az aks nodepool update
comando com o--max-surge
sinalizador para configurar o número de nós usados para atualizações.Nota
Para saber mais sobre as compensações de várias
--max-surge
configurações, consulte Personalizar atualização de aumento de nó.az aks nodepool update \ --resource-group <resource-group> \ --cluster-name <cluster-name> \ --name <node-pool-name> \ --max-surge 33% \ --no-wait
Você pode verificar o status das imagens do nó com o
kubectl get nodes
comando.kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
Obtenha os detalhes atualizados do pool de nós usando o
az aks nodepool show
para obter os detalhes atualizados do pool de nós. A imagem do nó atual é mostrada na propriedadenodeImageVersion
.az aks nodepool show \ --resource-group <resource-group> \ --cluster-name <cluster-name> \ --name <node-pool-name>
Próximos passos
- Para obter informações sobre as imagens de nó mais recentes, consulte as notas de versão do AKS.
- Saiba como atualizar a versão do Kubernetes com Atualizar um cluster AKS.
- Aplique automaticamente atualizações de cluster e pool de nós com as Ações do GitHub.
- Saiba mais sobre pools de vários nós com Criar pools de vários nós.
- Saiba mais sobre como atualizar as práticas recomendadas com o patch AKS e as diretrizes de atualização.
Azure Kubernetes Service