Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Neste artigo, você aprenderá como migrar seus pools de nós existentes do AKS para o Azure Container Linux (ACL) para AKS. Você pode migrar seus nós existentes usando um dos seguintes métodos:
- Migração local do SKU do sistema operacional: altere o SKU do sistema operacional dos seus pools de nós existentes para ACL, o que recria automaticamente a imagem dos nós.
- Remova os pools de nós existentes e adicione novos pools de nós de ACL: crie novos pools de nós de ACL, mova suas cargas de trabalho e remova os pools de nós antigos.
Importante
Se você estiver usando Azure ACL (Container Linux) no AKS, examine as seguintes considerações e limitações:
- A ACL geralmente está disponível a partir do AKS v1.34.
- ACL requer Trusted Launch com Inicialização Segura e vTPM. As variantes de inicialização não confiáveis não estão disponíveis.
- A ACL no Arm64 requer SKUs baseadas em Cobalt (v6) para habilitar a compatibilidade de Inicialização Confiável.
-
NodeImageeNonesão os únicos canais de atualização do sistema operacional (SO) com suporte.UnmanagedeSecurityPatchsão incompatíveis com ACL devido ao diretório imutável/usr. - O suporte para Streaming de Artefatos não está disponível.
- Não há suporte para o Pod Sandboxing.
- Não há suporte para CVMs (Máquinas Virtuais Confidenciais).
- Não há suporte para VMs de geração 1.
- Não há suporte para nós habilitados para FIPS.
Limitações da migração local de SKU do sistema operacional
Além das limitações gerais de ACL, as seguintes limitações se aplicam especificamente à migração no local de SKU de sistema operacional:
- 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 dá suporte à renomeação de pools de nós existentes.
- Conjuntos de nós com
UseGPUDedicatedVHDhabilitado não podem realizar uma migração de SKU do sistema operacional. - Não há suporte para a migração do SKU do sistema operacional Windows.
Pré-requisitos
- Um cluster AKS existente com pelo menos um pool de nós de Linux.
- CLI do Azure versão 2.86.0 ou posterior. Execute
az --versionpara encontrar a versão. Se precisar instalar ou atualizar, consulte Instalar CLI do Azure. - Recomendamos que você verifique se suas cargas de trabalho são executadas com êxito na ACL implantando um cluster ACL em um ambiente de desenvolvimento ou preparo antes de migrar clusters de produção.
- Verifique se o recurso de migração está funcionando para você no teste/desenvolvimento antes de usar o processo em um cluster de produção.
- Verifique se os seus pods têm um Orçamento de Interrupção de Pod (PDB) suficiente para permitir que o AKS mova os pods entre VMs durante a migração.
Adicionar pools de nós de ACL e remover pools de nós existentes
Adicione um novo pool de nós de ACL usando o
az aks nodepool addcomando. Use o--mode Systempara que o novo pool possa atuar como pool de agentes do sistema, o que permite remover o pool de nós original na próxima etapa.az aks nodepool add \ --resource-group <resource-group> \ --cluster-name <cluster-name> \ --name <new-node-pool-name> \ --os-sku AzureContainerLinux \ --mode System \ --node-count 3Exemplo de saída:
{ "id": "/subscriptions/xxxxx/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/myNewNodePool", "name": "myNewNodePool", "osSku": "AzureContainerLinux", "provisioningState": "Succeeded" }Remova o pool de nós existente usando o
az aks nodepool deletecomando.az aks nodepool delete \ --resource-group <resource-group> \ --cluster-name <cluster-name> \ --name <existing-node-pool-name>
Migração in-loco do SKU do sistema operacional
Você pode migrar seus pools de nós Linux existentes para ACL alterando a SKU do sistema operacional do pool de nós, o que faz o cluster passar pelo processo padrão de atualização da imagem do nó. Esse método não exige criar novos pools de nós; em vez disso, os pools de nós existentes são automaticamente recriados a partir da imagem.
Executar uma migração de SKU do sistema operacional no local
Importante
A ACL requer inicialização confiável. Você deve incluir --enable-secure-boot e --enable-vtpm ao migrar para o SKU do sistema operacional AzureContainerLinux. O tamanho da VM (máquina virtual) do pool de nós também deve dar suporte ao Lançamento Confiável. Se o tamanho da VM atual não der suporte a ela, você precisará redimensionar ou recriar o pool de nós com um tamanho de VM com suporte antes de migrar.
Migre o SKU do sistema operacional do pool de nós para ACL usando o az aks nodepool update comando. Esse comando dispara uma nova imagem do pool de nós, atualizando o SKU do sistema operacional para AzureContainerLinux. A alteração do SKU do sistema operacional dispara 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 <existing-node-pool-name> \
--os-sku AzureContainerLinux \
--enable-secure-boot \
--enable-vtpm
Exemplo de saída:
{
"id": "/subscriptions/xxxxx/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/nodepool1",
"name": "nodepool1",
"osSku": "AzureContainerLinux",
"provisioningState": "Succeeded"
}
Note
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 de SKU do sistema operacional
Dica
Recomendamos monitorar a integridade do serviço por algumas semanas antes de migrar seus clusters de produção.
Depois que a migração for concluída em seus clusters de teste, recomendamos monitorar o cluster e as cargas de trabalho por algumas semanas para confirmar se tudo está em execução conforme o esperado antes de migrar clusters de produção. Use os seguintes comandos para verificar a migração e monitorar seu cluster:
Confirme se os novos nós estão executando ACL usando o
kubectl get nodes -o widecomando. A saída deve mostrar a imagem do sistema operacional ACL.kubectl get nodes -o wideVerifique se todos os pods e daemonsets estão em execução no novo pool de nós usando o
kubectl get pods -o wide -Acomando.kubectl get pods -o wide -AVerifique se todos os rótulos dos nós do pool de nós atualizado correspondem ao esperado usando o comando
kubectl get nodes --show-labels.kubectl get nodes --show-labelsVerifique a versão da imagem do nó usando o
az aks nodepool listcomando.az aks nodepool list \ --resource-group <resource-group> \ --cluster-name <cluster-name> \ --query '[].{name: name, osSku: osSku, nodeImageVersion: nodeImageVersion}'Exemplo de saída:
[ { "name": "myNodePool", "nodeImageVersion": "AKSAzureContainerLinux-202606.01.0", "osSku": "AzureContainerLinux" } ]
Reverter para o SKU do sistema operacional anterior
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, altere o campo SKU do sistema operacional de volta para seu valor anterior e reenvie a implantação, que dispara outra operação de atualização e reimageia o pool de nós para sua SKU anterior do sistema operacional. Se você fizer rollback da ACL para o SKU anterior do sistema operacional, o pool de nós usará a variante de imagem Trusted Launch (Gen2) por padrão, a menos que o Trusted Launch seja explicitamente desabilitado.
Reverta para o SKU do sistema operacional anterior usando o comando az aks nodepool update. Este exemplo reverte da ACL para Azure Linux:
az aks nodepool update \
--resource-group <resource-group> \
--cluster-name <cluster-name> \
--name <existing-node-pool-name> \
--os-sku AzureLinux
Conteúdo relacionado
Para obter mais informações sobre ACL, consulte O que é Azure ACL (Container Linux) para AKS (Serviço de Kubernetes do Azure)?