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. As atualizações de imagem do nó também podem ser realizadas automaticamente e agendadas 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).
Verificar se há atualizações de imagem de nó 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 mynodepool \
--cluster-name myAKSCluster \
--resource-group myResourceGroup
A saída mostra o latestNodeImageVersion
, como no exemplo a seguir:
{
"id": "/subscriptions/XXXX-XXX-XXX-XXX-XXXXX/resourcegroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/agentPools/mynodepool/upgradeProfiles/default",
"kubernetesVersion": "1.17.11",
"latestNodeImageVersion": "AKSUbuntu-1604-2020.10.28",
"name": "default",
"osType": "Linux",
"resourceGroup": "myResourceGroup",
"type": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles",
"upgrades": null
}
A saída de exemplo mostra AKSUbuntu-1604-2020.10.28
como o latestNodeImageVersion
.
Compare a versão mais recente com a versão atual da imagem do nó usando o az aks nodepool show
comando.
az aks nodepool show \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name mynodepool \
--query nodeImageVersion
O resultado deverá ter um aspeto semelhante ao seguinte exemplo:
"AKSUbuntu-1604-2020.10.08"
Neste exemplo, há uma atualização de versão de imagem de nó disponível, que é de versão para versão AKSUbuntu-1604-2020.10.08
AKSUbuntu-1604-2020.10.28
.
Atualizar todas as imagens de nó em todos os pools de nós
Atualize a imagem do nó usando o comando com o az aks upgrade
--node-image-only
sinalizador.
az aks upgrade \
--resource-group myResourceGroup \
--name myAKSCluster \
--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 estiver 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 propriedade nodeImageVersion
.
az aks show \
--resource-group myResourceGroup \
--name myAKSCluster
Atualizar um conjunto de nós específico
Para atualizar a imagem do sistema operacional de um pool de nós sem fazer uma atualização de cluster do Kubernetes, use o comando com o az aks nodepool upgrade
--node-image-only
sinalizador.
az aks nodepool upgrade \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name mynodepool \
--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 estiver 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 propriedade nodeImageVersion
.
az aks nodepool show \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name mynodepool
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.
Se você quiser aumentar a velocidade das atualizações, use o comando com o sinalizador para configurar o az aks nodepool update
--max-surge
número de nós usados para atualizações. 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 myResourceGroup \
--cluster-name myAKSCluster \
--name mynodepool \
--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}'
Use az aks nodepool show
para obter os detalhes atualizados do pool de nós. A imagem do nó atual é mostrada na propriedade nodeImageVersion
.
az aks nodepool show \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name mynodepool
Próximos passos
- Consulte as notas de versão do AKS para obter informações sobre as imagens de nó mais recentes.
- 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.
- Para obter uma discussão detalhada sobre as práticas recomendadas de atualização e outras considerações, consulte o patch do AKS e as diretrizes de atualização.