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.
Caso você não tenha nenhum nó existente para migrar, 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 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.
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. 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 para migração no local 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 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. - 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 AKS existente com pelo menos um pool de nós de 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.
- Garanta que seus pods tenham Pod Disruption Budget (PDB) suficiente para permitir que o AKS mova pods entre 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 existentes do Ubuntu ou do Azure Linux para ACL alterando a SKU do sistema operacional do pool de nós, o que faz com que o cluster passe pelo processo padrão de atualização da imagem dos nós. 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.
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 seu pool de nós também deve ser compatível com o Lançamento Confiável.
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. 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
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": "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 reimageia o 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.