Tutorial: Migrar nós para Linux do Azure com o OS Guard (pré-visualização)

Note

O Azure Linux com OS Guard (pré-visualização) está a ser substituído pelo Azure Container Linux (ACL).

Azure Container Linux é o sistema operativo Linux (SO) de longo prazo, imutável e otimizado para contentores para Azure Kubernetes Service (AKS). Fornece um sistema operativo anfitrião seguro, mínimo e operacionalmente consistente, concebido para executar cargas de trabalho containerizadas em grande escala.

Para mais informações, consulte a visão geral Azure Container Linux (ACL).

Neste tutorial, a terceira de cinco partes, vai migrar os seus nós existentes para o Azure Linux com o OS Guard. 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 do OS Guard.
  • Realizar uma migração de SKU no local do sistema operativo (SO).

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

Considerações e limitações do Azure Linux com OS Guard

Antes de começar, revise as seguintes considerações e limitações para o Azure Linux com o OS Guard (visualização):

Pré-requisitos

Instala a extensão aks-preview CLI do Azure

Importante

Os recursos de pré-visualização do AKS estão disponíveis numa base de autosserviço e adesão voluntária. As visualizações prévias são fornecidas "como estão" e "conforme disponíveis" e são excluídas dos contratos de nível de serviço e da garantia limitada. As versões de teste do AKS são parcialmente cobertas pelo suporte ao cliente numa base de melhor esforço. Assim sendo, estas funcionalidades não se destinam ao uso em produção. Para obter mais informações, consulte os seguintes artigos de suporte:

Instale a aks-preview extensão usando o az extension add comando.

az extension add --name aks-preview

Atualize para a versão mais recente da extensão usando o az extension update comando.

az extension update --name aks-preview

Registar o sinalizador de funcionalidade AzureLinuxOSGuardPreview

  1. Registe o sinalizador de funcionalidade AzureLinuxOSGuardPreview com o comando az feature register.

    az feature register --namespace "Microsoft.ContainerService" --name "AzureLinuxOSGuardPreview"
    

    Leva alguns minutos para que o status mostre Registrado.

  2. Verifique o status do registro usando o az feature show comando.

    az feature show --namespace "Microsoft.ContainerService" --name "AzureLinuxOSGuardPreview"
    ``
    
    
  3. Quando o estado refletir Registado, atualize o Microsoft.ContainerService registo do provedor de recursos utilizando o az provider register comando.

    az provider register --namespace "Microsoft.ContainerService"
    

Adicionar pools de nós do Azure Linux com o OS Guard e remover pools de nós existentes

  1. Adicione um novo pool de nós do Azure Linux com OS Guard 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. Pools de nós de sistema são necessários para clusters OS Guard no Azure Linux.

    # Declare environment variables with a random suffix for uniqueness
    export RANDOM_SUFFIX=$(openssl rand -hex 3)
    export NODE_POOL_NAME="np$RANDOM_SUFFIX"
    
    # Add a new Azure Linux with OS Guard node pool
    az aks nodepool add --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME --mode System --os-sku AzureLinuxOSGuard --node-osdisk-type Managed --enable-fips-image --enable-secure-boot --enable-vtpm
    

    Exemplo de saída:

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

    az aks nodepool delete --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name $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. Ao utilizar a funcionalidade de migração de SKU do sistema operativo com o Azure Linux com OS Guard (pré-visualização), esta funcionalidade não está disponível através do Terraform, PowerShell ou no 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.
  • 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 é necessária por padrão para o Azure Linux com o OS Guard. Você precisa ter o Trusted Launch habilitado para migrar para o Azure Linux com o OS Guard. Pode exigir a criação de novos clusters de nós.
  • O FIPS é necessário ao habilitar o Azure Linux com o OS Guard. Se não estiver a usar uma imagem FIPS no momento, pode incluir --enable-fips no comando de atualização do pool de nós.
  • Não há suporte para máquinas virtuais (VMs) de geração 1.
  • Um SKU do sistema operacional Ubuntu com UseGPUDedicatedVHD ativado 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 do Microsoft Azure.
  • Recomendamos que você garanta que suas cargas de trabalho sejam configuradas e executadas com êxito no host de contêiner do Azure Linux with OS Guard antes de tentar usar o recurso de migração SKU do SO implantando um cluster do Azure Linux com OS Guard 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 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 version comando para localizar a versão. Para atualizar para a versão mais recente, use o az upgrade comando.

Migrar a SKU do SO do seu pool de nós do Azure Linux Container Host para o Azure Linux com o OS Guard

Você pode migrar os seus pools de nós existentes do Ubuntu ou do Azure Linux para o Azure Linux com o OS Guard, alterando a SKU do sistema operacional do pool de nós, o que atualiza o cluster através do processo padrão de atualização de imagem do nó. Esse novo recurso não requer a criação de novos pools de nós; em vez disso, os pools de nós existentes recriam automaticamente a imagem.

Migre a SKU do sistema operativo do seu pool de nós para o Azure Linux com o OS Guard usando o comando az aks nodepool update. Este comando dispara uma nova imagem do pool de nós, atualizando a SKU do sistema operacional do pool de nós do Azure Linux para o Azure Linux com o OS Guard. 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 AzureLinuxOSGuard --node-osdisk-type Managed --enable-fips-image --enable-secure-boot --enable-vtpm

Exemplo de saída:

{
  "id": "/subscriptions/xxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/nodepool1",
  "name": "nodepool1",
  "osSku": "AzureLinuxOSGuard",
  "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.