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. Ela só funciona para um cluster em uma versão com suporte.

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ê precisará gerenciar o processo de reinicialização usando uma ferramenta como o kured.
SecurityPatch Esse canal está em versão prévia e requer a habilitação do sinalizador de recurso NodeOsUpgradeChannelPreview. Confira a seção Pré-requisitos para detalhes. 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. 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. 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 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.

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
    

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, consulte Maior segurança e resiliência de cargas de trabalho Canonical no Azure. Semanalmente.
NodeImage AKS 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 usando uma ferramenta como o Kured para aplicar corretamente os patches de segurança.

Requisitos do canal SecurityPatch

Para usar o canal SecurityPatch, o cluster precisa atender a estes requisitos:

  • Deve estar usando a versão da API 11-02-preview ou posterior
  • Se estiver usando a CLI do Azure, a aks-preview versão de extensão da CLI 0.5.166 ou posterior deve ser instalada
  • Se estiver usando o sinalizador de recurso NodeOsUpgradeChannelPreview deve estar habilitado em sua assinatura

Registrar NodeOsUpgradeChannelPreview

Registre o sinalizador de recursos NodeOsUpgradeChannelPreview usando o comando az feature register, conforme mostrado no seguinte exemplo:

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

Demora alguns minutos para o status exibir Registrado. Verifique o status do registro usando o comando az feature show:

az feature show --namespace "Microsoft.ContainerService" --name "NodeOsUpgradeChannelPreview"

Quando o status reflete Registrado, atualize o registro do provedor de recursos Microsoft.ContainerService usando o comando az provider register:

az provider register --namespace Microsoft.ContainerService

Bugs conhecidos 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

Por padrão, qualquer cluster novo criado com uma versão de API de 06-01-2022 ou posterior definirá o valor do canal de atualização automática do SO do nó como NodeImage. Todos os clusters existentes criados com uma versão de API anterior 06-01-2022 terão o valor do canal de atualização automática do sistema operacional do nó definido como None por padrão.

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.

  • Por que SecurityPatch é recomendado no canal Unmanaged?

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.

  • 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.