Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Neste tutorial, na terceira de cinco partes, vai migrar os seus nós existentes para ACL. Você pode migrar seus nós existentes usando um dos seguintes métodos:
- Remova os grupos de nós existentes e adicione novos grupos de nós ACL.
- Realizar uma migração de SKU no local do sistema operativo (SO).
Os comandos deste tutorial utilizam as variáveis de ambiente definidas no Tutorial 1: Criar um cluster com ACL para AKS.
Se você não tiver nenhum nó existente para migrar, pule para o próximo tutorial. Em tutoriais posteriores, aprendes a ativar a telemetria e monitorização nos teus clusters e a atualizar os nós ACL.
Pré-requisitos
- Em tutoriais anteriores, criaste e implementaste um cluster ACL. Se ainda não completou estes passos e quiser acompanhar, veja o Tutorial 1: Crie um cluster com ACL para AKS.
- Azure Container Linux requer CLI do Azure versão 2.86.0 ou superior. Use o
az versioncomando para localizar a versão. Para atualizar para a versão mais recente, use oaz upgradecomando.
Considerações e limitações do Azure Container Linux (ACL)
Antes de começar, reveja as seguintes considerações e limitações para o ACL:
- O ACL está geralmente disponível a partir do AKS v1.34.
- ACL requer Trusted Launch com Secure Boot e vTPM. Variantes de Lançamento Não Confiável não estão disponíveis.
- A ACL no Arm64 requer SKUs baseados em Cobalto (v6) para permitir a compatibilidade com o Trusted Launch.
-
NodeImageeNonesão os únicos canais de atualização de sistemas operativos (SO) suportados.UnmanagedeSecurityPatchsão incompatíveis com ACL devido ao diretório imutável/usr. - O Streaming de Artefactos não é suportado.
- O Pod Sandboxing não é suportado.
- Não há suporte para Máquinas Virtuais Confidenciais (CVMs).
- As VMs da Geração 1 não são suportadas.
Adicionar pools de nós ACL e remover as pools de nós existentes
Adicione um novo pool de nós ACL usando o
az aks nodepool addcomando. Usa--mode Systempara que o novo pool possa servir como pool de agentes do sistema, o que te permite eliminar o pool de nós original no passo seguinte. O exemplo seguinte cria um pool de nós chamado aclsystem que adiciona três nós ao cluster:az aks nodepool add \ --resource-group $RESOURCE_GROUP \ --cluster-name $CLUSTER_NAME \ --name aclsystem \ --mode System \ --os-sku AzureContainerLinux \ --node-count 3Exemplo de saída:
{ "id": "/subscriptions/xxxxx/resourceGroups/myACLResourceGroup/providers/Microsoft.ContainerService/managedClusters/myACLCluster/nodePools/aclsystem", "name": "aclsystem", "osSku": "AzureContainerLinux", "provisioningState": "Succeeded" }Remove o teu 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 de SKU do SO no local
Limitações para migração in-place de SKU do SO local
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 suporta a renomeação de conjuntos de nós existentes.
- O Ubuntu, o Azure Linux e o AzureContainerLinux são os únicos destinos de migração de SKU de SO Linux suportados.
- O ACL exige Trusted Launch. Se ainda não estiver ativado no seu pool de nós, deve incluir
--enable-secure-boote--enable-vtpmao migrar para o SKU do SOAzureContainerLinux. O tamanho da VM do seu pool de nós também deve suportar o Trusted Launch. Se o tamanho atual da sua VM não o suporta, precisa de redimensionar ou recriar o pool de nós com um tamanho de VM suportado antes de migrar. - As VMs da Geração 1 não são suportadas.
- Um SKU do sistema operacional Ubuntu com
UseGPUDedicatedVHDativado não pode executar uma migração de SKU do sistema operacional. - Não há suporte para Máquinas Virtuais Confidenciais (CVMs).
- O Pod Sandboxing não é suportado.
- A migração de SKU do sistema operacional Windows não é suportada.
Requisitos prévios para migração de SKU do sistema operativo no local
- Um cluster AKS existente com pelo menos um pool de nós Linux.
- Recomendamos que verifique que as suas cargas de trabalho correm com sucesso em ACL, implementando um cluster ACL num ambiente de desenvolvimento ou staging antes de migrar clusters de produção.
- 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 têm um Orçamento de Disrupção de Pods (PDB) suficiente para permitir que o AKS mova os pods entre VMs durante a atualização.
- Você precisa da CLI do Azure versão 2.61.0 ou superior. Use o
az versioncomando para localizar a versão. Para atualizar para a versão mais recente, use oaz upgradecomando.
Migrar para ACL através da migração in-place do SKU do sistema operativo
Pode migrar os conjuntos de nós existentes do Ubuntu ou do Azure Linux para ACL alterando o SKU do SO do conjunto de nós, o que desencadeia o processo padrão de atualização da imagem dos nós no cluster. Este método não requer criar novos pools de nós; Em vez disso, os teus pools de nós existentes são automaticamente reimaginados.
Importante
O ACL exige Trusted Launch. Tem de incluir --enable-secure-boot e --enable-vtpm ao migrar para o SKU do SO AzureContainerLinux. O tamanho da VM do seu pool de nós também deve suportar o Trusted Launch.
Migra o SKU do sistema operativo do teu pool de nós para ACL usando o az aks nodepool update comando. Este comando desencadeia uma reimagem do teu pool de nós. 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 <existing-node-pool-name> \
--os-sku AzureContainerLinux \
--enable-secure-boot \
--enable-vtpm
Exemplo de saída:
{
"id": "/subscriptions/xxxxx/resourceGroups/myACLResourceGroup/providers/Microsoft.ContainerService/managedClusters/myACLCluster/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 do SKU do Sistema Operativo
Quando a migração estiver concluída nos seus clusters de teste, verifique o seguinte para garantir uma migração bem-sucedida:
Confirme que os novos nós estão a executar ACL usando o seguinte comando:
kubectl get nodes -o wideVerifica se todos os teus pods e daemonsets estão a correr no novo pool de nós usando o seguinte comando:
kubectl get pods -o wide -AVerifique se todas as etiquetas dos nós no seu pool de nós atualizado correspondem ao esperado, utilizando o seguinte comando:
kubectl get nodes --show-labelsVerifique a versão da imagem do nó utilizando o comando
az aks nodepool list.az aks nodepool list \ --resource-group $RESOURCE_GROUP \ --cluster-name $CLUSTER_NAME \ --query '[].{name: name, osSku: osSku, nodeImageVersion: nodeImageVersion}'Exemplo de saída:
[ { "name": "nodepool1", "nodeImageVersion": "AKSAzureContainerLinux-202606.01.0", "osSku": "AzureContainerLinux" } ]
Dica
Recomendamos monitorizar o estado do seu serviço durante algumas semanas antes de migrar os seus clusters de produção.
Retroceder para o SKU anterior do sistema operativo (SO)
Se você tiver problemas durante a migração do SKU do sistema operacional, poderá reverter para o SKU do sistema operacional anterior. Para o fazer, altere o campo SKU do SO novamente para o valor anterior e reenvie a implantação, o que aciona outra operação de atualização e recria a imagem do conjunto de nós com o SKU do SO anterior.
Volte para o SKU do sistema operacional anterior usando o comando az aks nodepool update. Este exemplo recua da ACL para o Azure Linux:
az aks nodepool update \
--resource-group $RESOURCE_GROUP \
--cluster-name $CLUSTER_NAME \
--name <existing-node-pool-name> \
--os-sku AzureLinux
Passo seguinte
Neste tutorial, migraste nós existentes para ACL. No próximo tutorial, aprende como ativar a telemetria e a monitorização do seu cluster ACL.