Atualização automática das imagens do sistema operacional do nó

O AKS fornece vários canais de atualização automática dedicados a atualizações de segurança do sistema operacional no nível do nó em tempo hábil. Esse canal é diferente das atualizações de versão do Kubernetes no nível do cluster e o substitui.

Interações entre a atualização automática do sistema operacional do nó e a atualização automática do cluster

As atualizações de segurança do sistema operacional no nível do nó são lançadas em uma taxa mais rápida do que o patch do Kubernetes ou atualizações de versões secundárias. O canal de atualização automática do sistema operacional do nó oferece flexibilidade e habilita uma estratégia personalizada para atualizações de segurança do sistema operacional no nível do nó. Em seguida, você pode escolher um plano separado para atualizações automáticas de versão do Kubernetes no nível do cluster. É melhor usar as atualizações automáticas no nível do cluster e o canal de atualização automática do sistema operacional do nó juntos. O agendamento pode ser ajustado aplicando dois conjuntos separados de janelas de manutenção - aksManagedAutoUpgradeSchedule para o canal de atualização automática do cluster e aksManagedNodeOSUpgradeSchedule para o canal de atualização automática do sistema operacional do nó.

Canais para atualizações de imagem do sistema operacional do nó

O canal selecionado determina o tempo das atualizações. Ao fazer alterações nos canais de atualização automática do sistema operacional do nó, aguarde até 24 horas para que as alterações produzam efeito. Depois que você mudar de um canal para outro, será acionada uma restauração da máquina virtual para seu estado inicial, resultando na rotação dos nós.

Observação

A atualização automática da imagem do sistema operacional do nó não afetará a versão do Kubernetes do cluster. Começando com a API versão 2023-06-01, o padrão para qualquer novo cluster criado é NodeImage.

Os seguintes canais de atualização estão disponíveis. Você tem permissão para escolher uma destas opções:

Canal Descrição Comportamento específico do SO
None Seus nós não tem atualizações de segurança aplicadas automaticamente. Isso significa que você é o único responsável por suas atualizações de segurança. N/D
Unmanaged As atualizações do sistema operacional serão aplicadas automaticamente por meio da infraestrutura de aplicação de patch interna do sistema operacional. Os computadores recém-alocados não são corrigidos inicialmente. A infraestrutura do sistema operacional os corrige em algum momento. O Ubuntu e o Linux do Azure (pools de nós de CPU) aplicam patches de segurança por meio de atualização autônoma/dnf-automatic aproximadamente uma vez por dia por volta das 06:00 UTC. O Windows não aplica patches de segurança automaticamente, então essa opção se comporta de forma equivalente a None. Você precisa gerenciar o processo de reinicialização usando uma ferramenta como o kured.
SecurityPatch Patches de segurança do sistema operacional, testados pelo AKS, totalmente gerenciados e aplicados com práticas de implantação seguras. O AKS atualiza regularmente o VHD (disco rígido virtual) do nó com patches do mantenedor da imagem rotulado como "somente segurança". Talvez haja interrupções quando os patches de segurança forem aplicados aos nós. No entanto, o AKS está limitando as interrupções ao recriar a imagem dos seus nós somente quando necessário, como para determinados pacotes de segurança do kernel. Quando os patches são aplicados, o VHD é atualizado e os computadores existentes são atualizados para esse VHD, respeitando as janelas de manutenção e as configurações de aumento. Se o AKS decidir que a recriação da imagem dos nós não é necessária, ele corrige os nós ativos sem drenar os pods e não executa nenhuma atualização do VHD. Essa opção incorre no custo extra de hospedar os VHDs em seu grupo de recursos do nó. Se você usar esse canal, as atualizações autônomas do Linux serão desabilitadas por padrão. O Azure Linux não dá suporte a esse canal em VMs habilitadas para GPU. O SecurityPatch funciona em versões de patch de kubernetes que foram preteridas, desde que ainda haja suporte para a versão secundária do Kubernetes.
NodeImage O AKS atualizará os nós com um VHD com patch recém aplicado contendo correções de segurança e correções de bugs semanalmente. A atualização para o novo VHD é disruptiva, seguindo as janelas de manutenção e as configurações de aumento. Nenhum custo extra de VHD é incorrido ao escolher essa opção. Se você usar esse canal, as atualizações autônomas do Linux serão desabilitadas por padrão. As atualizações de imagem do nó são compatíveis com as versões de patch que foram preteridas, contanto que ainda haja suporte para a versão secundária do Kubernetes. As imagens de nó são testadas pelo AKS, totalmente gerenciado e aplicado com práticas de implantação seguras

Definir o canal de atualização automática do sistema operacional do nó em um novo cluster

  • Defina o canal de atualização automática em um novo cluster usando o comando az aks create com o parâmetro --node-os-upgrade-channel. O exemplo a seguir define o canal de atualização automática do sistema operacional do nó como SecurityPatch.

    az aks create \
        --resource-group myResourceGroup \
        --name myAKSCluster \
        --node-os-upgrade-channel SecurityPatch \
        --generate-ssh-keys
    

Definir o canal de atualização automática do sistema operacional do nó em um cluster existente

  • Defina o canal de atualização automática em um cluster existente usando o comando az aks update com o parâmetro --node-os-upgrade-channel. O exemplo a seguir define o canal de atualização automática do sistema operacional do nó como SecurityPatch.

    az aks update --resource-group myResourceGroup --name myAKSCluster --node-os-upgrade-channel SecurityPatch
    

Atualizar propriedade e agendamento

A cadência padrão significa que não há nenhuma janela de manutenção planejada aplicada.

Canal Propriedade das atualizações Cadência padrão
Unmanaged Atualizações de segurança controladas pelo sistema operacional. O AKS não tem controle sobre essas atualizações. À noite, por volta das 6:00 UTC para Ubuntu e Linux do Azure. Mensalmente para Windows.
SecurityPatch Testado pelo AKS, totalmente gerenciado e aplicado com práticas de implantação seguras. Para obter mais informações, veja Maior segurança e resiliência de cargas de trabalho canônicas no Azure. Semanalmente.
NodeImage Testado pelo AKS, totalmente gerenciado e aplicado com práticas de implantação seguras. Para obter mais informações em tempo real sobre versões, pesquise imagens de nó do AKS no rastreador de versão Semanalmente.

Observação

Embora as atualizações de segurança do Windows sejam lançadas mensalmente, o uso do canal Unmanaged não aplicará automaticamente essas atualizações aos nós do Windows. Se você escolher o canal Unmanaged, precisará gerenciar o processo de reinicialização para nós do Windows.

Limitações conhecidas do canal do nó

  • Atualmente, quando você define o canal de atualização automática do cluster como node-image, o canal de atualização automática do sistema operacional do nó também é definido automaticamente como NodeImage. Você não pode alterar o valor do canal de atualização automática do sistema operacional do nó se o canal de atualização automática do cluster for node-image. Para definir os valores do canal de atualização automática do sistema operacional do nó, verifique se o valor do canal de atualização automática do cluster não é node-image.

  • Não há suporte para o canal SecurityPatch nos pools de nós do sistema operacional Windows.

Observação

Use a CLI versão 2.61.0 ou superior para o canal SecurityPatch.

Janelas de manutenção planejada do sistema operacional do nó

A Manutenção Planejada para a atualização automática do sistema operacional do nó começa na janela de manutenção especificada.

Observação

Para garantir a funcionalidade adequada, use uma janela de manutenção de quatro horas ou mais.

Para mais informações sobre a manutenção planejada, consulte Usar a manutenção planejada para agendar janelas de manutenção para seu cluster do AKS (Serviço de Kubernetes do Azure).

Perguntas frequentes sobre as atualizações automáticas do sistema operacional do nó

Como posso verificar o valor atual do nodeOsUpgradeChannel em um cluster?

Execute o comando az aks show e verifique o "autoUpgradeProfile" para determinar qual valor o nodeOsUpgradeChannel está definido:

az aks show --resource-group myResourceGroup --name myAKSCluster --query "autoUpgradeProfile"

Como posso monitorar o status de atualizações automáticas do sistema operacional do nó?

Para exibir o status de suas atualizações automáticas do sistema operacional do nó, pesquise os logs de atividades no cluster. Você também pode pesquisar eventos específicos relacionados a atualizações, conforme mencionado em Atualizar um cluster do AKS. O AKS também emite eventos da Grade de Eventos relacionados a atualizações. Para saber mais, confira AKS como uma fonte da Grade de Eventos.

Posso alterar o valor do canal de atualização automática do sistema operacional do nó se o canal de atualização automática do cluster for node-image?

Não. Atualmente, quando você define o canal de atualização automática do cluster como node-image, o canal de atualização automática do sistema operacional do nó também é definido automaticamente como NodeImage. Você não pode alterar o valor do canal de atualização automática do sistema operacional do nó se o canal de atualização automática do cluster for node-image. Para poder alterar os valores do canal de atualização automática do SO do nó, verifique se o canal de atualização automática do cluster não é node-image.

No canal Unmanaged, o AKS não tem controle sobre como e quando as atualizações de segurança são entregues. Com SecurityPatch, as atualizações de segurança são totalmente testadas e seguem práticas de implantação seguras. SecurityPatch também respeita as janelas de manutenção. Para obter mais detalhes, confira Maior segurança e resiliência de cargas de trabalho Canonical no Azure.

SecurityPatch sempre leva a uma nova imagem dos meus nós?

O AKS limita as imagens somente quando absolutamente necessário, como determinados pacotes de kernel que podem exigir uma nova imagem para serem totalmente aplicados. SecurityPatch foi projetado para minimizar as interrupções o máximo possível. Se o AKS decidir que nós de reimaginação não são necessários, ele corrigirá os nós sem esvaziar pods e nenhuma atualização VHD será executada nesses casos.

Por que SecurityPatch canal precisa atingir snapshot.ubuntu.com ponto de extremidade?

Com o canal SecurityPatch, os nós do cluster Linux precisam baixar os patches de segurança e atualizações necessários do serviço de snapshot do Ubuntu descrito em ubuntu-snapshots-on-azure-ensures-predictability-and-consistency-in-cloud-deployments.

Como saber se uma atualização SecurityPatch ou NodeImage é aplicada no meu nó?

Para obter os rótulos do nó, execute o seguinte comando:

kubectl get nodes --show-labels

Entre os rótulos retornados, você verá uma linha semelhante à seguinte saída:

kubernetes.azure.com/node-image-version=AKSUbuntu-2204gen2containerd-202311.07.0

Aqui, a versão da imagem do nó base é AKSUbuntu-2204gen2containerd. Se aplicável, a versão do patch de segurança normalmente segue. No exemplo acima, ela é 202311.07.0.

Os mesmos detalhes também serão pesquisados no portal do Azure na exibição de rótulo do nó:

Uma captura de tela da página de nós de um cluster do AKS no portal do Azure. O rótulo da versão da imagem do nó mostra claramente a imagem do nó base e a data de patch de segurança aplicada mais recente.

Próximas etapas

Para obter uma discussão detalhada sobre as melhores práticas de atualização e outras considerações, veja Diretrizes de patch e atualização do AKS.