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 tutorial, parte três de cinco, você migrará seus nós existentes para ACL. Você pode migrar seus nós existentes usando um dos seguintes métodos:
- Remova os pools de nós existentes e adicione novos pools de nós de ACL.
- Realize uma migração local de SKU do sistema operacional (SO).
Os comandos neste tutorial usam 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 migrá-lo, vá para o próximo tutorial. Em tutoriais posteriores, você aprenderá a habilitar a telemetria e o monitoramento em seus clusters e atualizar nós de ACL.
Pré-requisitos
- Em tutoriais anteriores, você criou e implantou um cluster ACL. Se você ainda não concluiu estas etapas e deseja acompanhar, confira o Tutorial 1: Criar um cluster com ACL para AKS.
- Azure Contêiner 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, examine as seguintes considerações e limitações para ACL:
- 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 início não confiável não estão disponíveis.
- A ACL no Arm64 requer SKUs baseadas em Cobalt (v6) para habilitar a compatibilidade do início 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.
Adicionar pools de nós do 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. O exemplo a seguir 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" }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
Limitações da migração in-loco do SKU do sistema operacional
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, examine 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 dá suporte à renomeação de pools de nós existentes.
- Ubuntu, Azure Linux e AzureContainerLinux são os únicos destinos de migração de SKU do sistema operacional Linux com suporte.
- A ACL requer inicialização confiável. Caso ainda não estejam habilitados no seu pool de nós, você deve incluir
--enable-secure-boote--enable-vtpmao migrar para o SKU de SOAzureContainerLinux. O tamanho da VM do pool de nós também deve dar suporte ao início 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. - Não há suporte para VMs de geração 1.
- Um SKU do sistema operacional Ubuntu com
UseGPUDedicatedVHDhabilitado não pode executar uma migração de SKU do sistema operacional. - Não há suporte para CVMs (Máquinas Virtuais Confidenciais).
- Não há suporte para o Pod Sandboxing.
- Não há suporte para a migração do SKU do sistema operacional Windows.
Pré-requisitos para a migração de SKU do sistema operacional no local
- Um cluster do AKS existente com pelo menos um pool de nós do Linux.
- 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 pods têm Orçamento de Interrupção de Pod (PDB) suficiente para permitir que o AKS mova os pods entre as VMs durante a atualização.
- Você precisa da versão 2.61.0 ou posterior da CLI do Azure. Use o
az versioncomando para localizar a versão. Para atualizar para a versão mais recente, use oaz upgradecomando.
Migrar para ACL usando a migração local da SKU do sistema operacional
Você pode migrar seus pools de nós Ubuntu ou Azure Linux existentes para o ACL alterando a SKU do sistema operacional do pool de nós, o que submete o cluster ao processo padrão de atualização de imagem de nó. Nesse método, não é preciso criar novos pools de nós. Em vez disso, os pools de nós existentes são automaticamente recriados a partir da imagem.
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 do pool de nós também deve dar suporte ao início confiável.
Migre o SKU do sistema operacional do pool de nós para o ACL usando o comando az aks nodepool update. Esse comando dispara uma nova imagem do pool de nós. 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/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 de SKU do sistema operacional
Depois que a migração for concluída em seus clusters de teste, verifique o seguinte para garantir uma migração bem-sucedida:
Confirme se os novos nós estão executando ACL usando o seguinte comando:
kubectl get nodes -o wideVerifique se todos os pods e daemonsets estão em execução no novo pool de nós usando o seguinte comando:
kubectl get pods -o wide -AVerifique se todos os rótulos dos nós do pool de nós atualizado correspondem ao esperado com o seguinte comando:
kubectl get nodes --show-labelsVerifique a versão da imagem do nó usando 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 monitorar a integridade do serviço por algumas semanas antes de migrar seus clusters de produção.
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 refaz a imagem do pool de nós para sua SKU anterior do sistema operacional.
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
Próxima etapa
Neste tutorial, você migrou os nodos existentes para a ACL. No próximo tutorial, você aprenderá a habilitar a telemetria e o monitoramento para seu cluster de ACL.