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ê migra os nós existentes para o Linux do Azure 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 Azure Linux com OS Guard.
- Migração in-loco do SKU do sistema operacional.
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 o Azure Linux com nós do OS Guard.
Considerações e limitações
Antes de começar, examine as seguintes considerações e limitações para o Azure Linux com o OS Guard (versão prévia):
- O Kubernetes versão 1.32.0 ou superior é necessário para o Linux do Azure com o SO Guard.
- Todas as imagens do Azure Linux com proteção de SO têm o padrão FIPS e o início confiável habilitados.
- Os modelos do ARM e a CLI do Azure são os únicos métodos de implantação com suporte para o Azure Linux com proteção de SO no AKS na versão prévia. Não há suporte para o PowerShell e o Terraform.
- Não há suporte para imagens do Arm64 no Azure Linux com proteção de SO no AKS na versão prévia.
-
NodeImageeNonesão os únicos canais de atualização do sistema operacional com suporte para o Azure Linux com o OS Guard no AKS.UnmanagedeSecurityPatchsão incompatíveis com o Azure Linux com o OS Guard devido ao diretório /usr imutável. - 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 (máquinas virtuais) de geração 1.
Pré-requisitos
- No tutorial anterior, você criou e implantou um Azure Linux com o cluster do OS Guard. Se você ainda não concluiu essas etapas e deseja acompanhar, confira o Tutorial 1: Criar um cluster com o Azure Linux com o OS Guard para AKS.
- Você precisa instalar a versão mais recente da CLI do Azure. Use o
az versioncomando para localizar a versão. Para atualizar para a versão mais recente, use oaz upgradecomando.
Instalar a extensão aks-preview da CLI do Azure
Importante
As funcionalidades em versão preliminar do AKS estão disponíveis de forma optativa e por autoatendimento. As versões prévias são fornecidas “no estado em que se encontram” e “conforme disponíveis” e são excluídas dos contratos de nível de serviço e da garantia limitada. As versões prévias do AKS são parcialmente cobertas pelo suporte ao cliente em uma base de melhor esforço. Dessa forma, esses recursos não são destinados ao uso em produção. Para obter mais informações, consulte os seguintes artigos:
Instale a extensão
aks-previewusando o comandoaz extension add.az extension add --name aks-previewAtualize para a última versão da extensão usando o comando
az extension update.az extension update --name aks-preview
Registrar o sinalizador de versão prévia do recurso do Azure Linux com proteção de SO
Registre o sinalizador de recurso
AzureLinuxOSGuardPreviewusando o comandoaz feature register.az feature register --namespace "Microsoft.ContainerService" --name "AzureLinuxOSGuardPreview"Demora alguns minutos para o status mostrar Registrado.
Verifique o status do registro usando o comando
az feature show.az feature show --namespace "Microsoft.ContainerService" --name "AzureLinuxOSGuardPreview"Quando o status mostrar Registrado, atualize o registro do provedor de recursos
Microsoft.ContainerServiceusando o comandoaz provider register.az provider register --namespace "Microsoft.ContainerService"
Adicionar Azure Linux com grupos de nós protegidos pelo OS Guard e remover grupos de nós existentes.
Adicione um novo Azure Linux com um pool de nós do OS Guard usando o comando
az aks nodepool add. Esse comando adiciona um novo pool de nós ao cluster com o sinalizador--mode System, o que o torna um pool de nós do sistema. Os pools de nós do sistema são necessários para os clusters do Azure Linux com proteção de SO.# Declare environment variables with a random suffix for uniqueness export RANDOM_SUFFIX=$(openssl rand -hex 3) export NODE_POOL_NAME="np$RANDOM_SUFFIX" 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-vtpmExemplo de saída:
{ "id": "/subscriptions/xxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/systempool", "name": "systempool", "provisioningState": "Succeeded" }Remova os nós existentes usando o comando
az aks nodepool delete.az aks nodepool delete --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME
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. Ao usar o recurso de migração de SKU do sistema operacional com o Azure Linux com o OS Guard (versão prévia), ele não está disponível por meio do Terraform, 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.
- O Ubuntu, o Azure Linux e o Linux do Azure com o OS Guard são os únicos destinos de migração de SKU do sistema operacional Linux com suporte.
- O Início Confiável é exigido por padrão para o Azure Linux com o OS Guard. Você precisa ter o Trusted Launch habilitado para migrar para o Linux do Azure com o OS Guard. Isso pode exigir a criação de pools de nós.
- O FIPS é necessário ao habilitar o Linux do Azure com o OS Guard. Se você não estiver usando uma imagem FIPS no momento, poderá incluir
--enable-fipsno comando de atualização do pool de nós. - Não há suporte para VMs (máquinas virtuais) 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.
- Há suporte para a migração do SKU do sistema operacional do Mariner para o Linux do Azure, mas não há suporte para a reversão para o Mariner.
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 no Azure.
- É recomendável garantir que suas cargas de trabalho configurem e executem com êxito no host de contêiner do Azure Linux com o OS Guard antes de tentar usar o recurso de migração de SKU do sistema operacional implantando um Linux do Azure com o cluster do OS Guard em desenvolvimento/prod e verificando se seu serviço permanece íntegro.
- 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 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.
Executar uma migração de SKU do sistema operacional no local
Você pode migrar seus pools de nós do Ubuntu ou do Linux do Azure existentes para o Azure Linux com proteção de SO alterando o SKU do sistema operacional do pool de nós, o que aciona o processo padrão de atualização da imagem do nó no cluster. Esse novo recurso não exige a criação de pools de nós, ao contrário, os pools de nós existentes terão a imagem recriada automaticamente.
Migrar a SKU do sistema operacional do pool de nós do Host de Contêiner do Linux do Azure para o Azure Linux com proteção de SO
Migre o SKU do sistema operacional do pool de nós para o Azure Linux com proteção de SO usando o comando
az aks nodepool update. Esse comando dispara uma recriação de imagem do pool de nós, atualizando o SKU do sistema operacional do pool de nós do Linux do Azure para o Azure Linux com proteção de SO. 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 $NODE_POOL_NAME --os-sku AzureLinuxOSGuard --node-osdisk-type Managed --enable-fips-image --enable-secure-boot --enable-vtpmExemplo de saída:
{ "id": "/subscriptions/xxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/nodepool1", "name": "nodepool1", "osSku": "AzureLinuxOSGuard", "provisioningState": "Succeeded" }
Observação
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, você deverá verificar o seguinte para garantir uma migração bem-sucedida:
- Se o destino de migração for o Azure Linux com o OS Guard, execute o
kubectl get nodes -o widecomando. A saída deve mostrarMicrosoft Azure Linux 3.0como a imagem do sistema operacional e.azl3no final da versão do kernel. - Execute o comando
kubectl get pods -o wide -Apara verificar se todos os pods e daemonsets estão em execução no novo pool de nós. - Execute o comando
kubectl get nodes --show-labelspara verificar se todos os rótulos de nó no pool de nós atualizado são o que você espera.
Dica
É recomendável monitorar a integridade do serviço por algumas semanas antes de migrar os 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, você precisa alterar o campo SKU do sistema operacional no modelo e reenviar a implantação, o que dispara outra operação de atualização e recria a imagem do pool de nós para o respectivo SKU do sistema operacional anterior.
Observação
A migração do SKU do sistema operacional não dá suporte à reversão para o SKU do sistema operacional do Mariner.
- Reverta para o SKU do sistema operacional anterior usando o comando
az aks nodepool update. Esse comando atualiza o SKU do sistema operacional para o pool de nós do Azure Linux com proteção de SO de volta para o Linux do Azure.
Próximas etapas
Neste tutorial, você migrou nós existentes para o Azure Linux com o OS Guard. No próximo tutorial, você aprenderá a habilitar a telemetria para monitorar os clusters.