Partilhar via


Tutorial: Como migrar nodos para o Linux Azure

Neste tutorial, parte três de cinco, você migra seus nós existentes para o Azure Linux. Você pode migrar seus nós existentes para o Azure Linux usando um dos seguintes métodos:

  • Remova pools de nós existentes e adicione novos pools de nós do Azure Linux.
  • Migração de SKU do SO no local.

Se você não tiver nenhum nó existente para migrar para o Azure Linux, pule para o próximo tutorial. Em tutoriais posteriores, você aprenderá a habilitar a telemetria e o monitoramento em seus clusters e atualizar os nós do Azure Linux.

Importante

Desde 30 de novembro de 2025, o Azure Kubernetes Service (AKS) já não suporta nem fornece atualizações de segurança para o Azure Linux 2.0. A imagem da máquina virtual do Azure Linux 2.0 está congelada na versão 202512.06.0. A partir de 31 de março de 2026, as imagens dos nós serão removidas e não conseguirá escalar os seus pools de nós. Migre para uma versão Azure Linux suportada atualizando os seus pools de nós para uma versão Kubernetes suportada ou migrando para o osSku AzureLinux3. Para obter mais informações, consulte Aposentadoria: pools de nós do Azure Linux 2.0 no AKS.

Pré-requisitos

  • Em tutoriais anteriores, você criou e implantou um host de contêiner Linux do Azure para cluster AKS. Para concluir este tutorial, você precisa adicionar um pool de nós do Azure Linux ao cluster existente. Se você ainda não fez essa etapa e gostaria de acompanhar, comece com o Tutorial 2: Adicionar um pool de nós do Azure Linux ao seu cluster AKS existente.

    Observação

    Ao adicionar um novo pool de nós do Azure Linux, você precisa adicionar pelo menos um como --mode System. Caso contrário, o AKS não permitirá que você exclua seu pool de nós existente.

  • Você precisa da versão mais recente da CLI do Azure. Executar az --version para localizar a versão. Se precisar de instalar ou atualizar, consulte Install Azure CLI.

Adicionar pools de nós do Azure Linux e remover pools de nós existentes

  1. Adicione um novo pool de nós do Azure Linux usando o az aks nodepool add comando. Este comando adiciona um novo pool de nós ao cluster com o sinalizador --mode System, tornando-o um pool de nós do sistema. Os grupos de nós do sistema são necessários para os clusters Linux do Azure.
# Declare environment variables with a random suffix for uniqueness
export RANDOM_SUFFIX=$(openssl rand -hex 3)
export NODE_POOL_NAME="np$RANDOM_SUFFIX"
az aks nodepool add --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME --mode System --os-sku AzureLinux

Resultados:

{
  "id": "/subscriptions/xxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/systempool",
  "name": "systempool",
  "provisioningState": "Succeeded"
}
  1. Remova os nós existentes usando o az aks nodepool delete comando.

Migração de SKU do SO no local

Agora você pode migrar seus pools de nós existentes do Ubuntu para o Azure Linux alterando a SKU do sistema operacional do pool de nós, que rola o cluster através do processo de atualização de imagem de nó padrão. Esse novo recurso não requer a criação de novos pools de nós.

Limitações

Há várias configurações que podem bloquear a solicitação de migração de SKU do sistema operacional. Para garantir uma migração bem-sucedida, revise as seguintes diretrizes e limitações:

  • O recurso de migração de SKU do sistema operacional não está disponível por meio do PowerShell ou do portal do Azure.
  • O recurso de migração de SKU do sistema operacional não consegue renomear grupos de nós existentes.
  • Ubuntu, Azure Linux e Azure Linux com OS Guard são os únicos destinos de migração de SKU do sistema operacional Linux suportados.
  • A inicialização confiável é exigida por padrão para o Azure Linux com OS Guard, os clientes precisam ter a inicialização confiável habilitada para poder migrar para o Azure Linux com o OS Guard. Como a Inicialização Confiável não pode ser habilitada em pools de nós existentes, isso pode exigir a criação de um novo pool de nós.
  • Os clientes que usam apenas tamanhos de vm Gen 1 não poderão migrar para o Azure Linux com o OS Guard, pois não há nenhuma imagem Gen 1 suportada. Eles precisarão criar novos pools de nós com um tamanho de vm que suporte a geração 2.
  • Um SKU do sistema operacional Ubuntu com UseGPUDedicatedVHD ativado não pode executar uma migração de SKU do sistema operacional.
  • Um SKU do sistema operacional Ubuntu com o CVM 20.04 habilitado não pode executar uma migração de SKU do sistema operacional.
  • Os pools de nós com Kata ativado não podem executar uma migração de SKU do sistema operacional.
  • A migração de SKU do sistema operacional Windows não é suportada.
  • A migração de SKU do SO do Mariner para o Azure Linux é suportada, mas a reversão para o Mariner não é suportada.

Pré-requisitos

  • Um cluster AKS existente com pelo menos um pool de nós do Ubuntu.
  • Recomendamos que você garanta que suas cargas de trabalho sejam configuradas e executadas com êxito no host de contêiner do Azure Linux antes de tentar usar o recurso de migração SKU do sistema operacional implantando um cluster Linux do Azure no dev/prod e verificando se o serviço permanece íntegro.
  • Verifique se o recurso de migração está funcionando para você em teste/desenvolvimento antes de usar o processo em um cluster de produção.
  • Certifique-se de que os seus pods tenham um Pod Disruption Budget suficiente para permitir que o Azure Kubernetes Service mova pods entre VMs durante a atualização.
  • Você precisa da CLI do Azure versão 2.61.0 ou superior. Executar az --version para localizar a versão. Se precisar de instalar ou atualizar, consulte Install Azure CLI.
  • Se estiveres a usar o Terraform, deves ter a v3.111.0 ou uma versão superior do módulo AzureRM para Terraform.

Migre o SKU do sistema operacional do seu pool de nós do Ubuntu

  • Migre a SKU do sistema operacional do seu pool de nós para o Azure Linux usando o az aks nodepool update comando. Este comando atualiza o SKU do sistema operacional para seu pool de nós do Ubuntu para o Azure Linux. A alteração do SKU do sistema operacional aciona uma operação de atualização imediata, que leva vários minutos para ser concluída.
az aks nodepool update --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME --os-sku AzureLinux

Resultados:

{
  "id": "/subscriptions/xxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/nodepool1",
  "name": "nodepool1",
  "osSku": "AzureLinux",
  "provisioningState": "Succeeded"
}

Observação

Se você tiver problemas durante a migração do SKU do sistema operacional, poderá reverter para o SKU do sistema operacional anterior.

Verificar a migração do SKU do Sistema Operativo

Quando a migração estiver concluída em seus clusters de teste, você deve verificar o seguinte para garantir uma migração bem-sucedida:

  • Se o destino da migração for o Azure Linux, execute o kubectl get nodes -o wide comando. A saída deve aparecer Microsoft Azure Linux 3.0 como sua imagem do sistema operacional e .azl3 no final da sua versão do kernel.
  • Execute o comando kubectl get pods -o wide -A para verificar se todos os pods e daemonsets estão a funcionar no novo pool de nós.
  • Execute o kubectl get nodes --show-labels comando para verificar se todos os rótulos de nó no grupo de nós atualizado correspondem ao que é esperado.

Sugestão

Recomendamos monitorar a integridade do serviço por algumas semanas antes de migrar os clusters de produção.

Execute a migração de SKU do sistema operacional em seus clusters de produção

  1. Atualize os seus modelos existentes para configurar OSSKU=AzureLinux. Em modelos ARM, você usa "OSSKU": "AzureLinux" na agentPoolProfile seção . No Bicep, você usa osSku: "AzureLinux" na seção agentPoolProfile. Por fim, para Terraform, você usa os_sku = "AzureLinux" na default_node_pool seção . Certifique-se de que o seu apiVersion está definido para 2023-07-01 ou mais tarde.
  2. Reimplante seu modelo ARM, Bíceps ou Terraform para o cluster para aplicar a nova OSSKU configuração. Durante esta implantação, o cluster comporta-se como se estivesse a fazer uma atualização de imagem de nó. O cluster aumenta a capacidade e, em seguida, reinicia os nós existentes, um a um, na imagem AKS mais recente do seu novo SKU do SO.

Reversão

Se você tiver problemas durante a migração do SKU do sistema operacional, poderá reverter para o SKU do sistema operacional anterior. Para fazer isso, precisa-se alterar o campo SKU do sistema operativo no seu modelo e reenviar a implementação, o que inicia outra operação de atualização e restaura o conjunto de nós para o SKU do sistema operativo anterior.

Observação

A migração do OS SKU não suporta a reversão para o OS SKU Mariner.

  • Volte para o SKU do sistema operacional anterior usando o comando az aks nodepool update. Este comando atualiza a SKU do sistema operativo do seu pool de nós de Azure Linux para Ubuntu.

Próximos passos

Neste tutorial, você migrou nós existentes para o Azure Linux usando um dos seguintes métodos:

  • Remova pools de nós existentes e adicione novos pools de nós do Azure Linux.
  • Migração de SKU do SO no local.

No próximo tutorial, você aprenderá a habilitar a telemetria para monitorar seus clusters.