Atualizar automaticamente um cluster do AKS (Serviço de Kubernetes do Azure)

Parte do ciclo de vida do cluster do AKS envolve a execução de atualizações periódicas para a última versão do Kubernetes. É importante aplicar as últimas versões de segurança ou atualizar para obter os recursos mais recentes. Antes de aprender sobre a atualização automática, certifique-se de que você reconheceu os Fundamentos de atualização de cluster do AKS.

Observação

Qualquer operação de atualização, seja ela manual ou automática, atualiza a versão da imagem do nó se ela ainda não estiver na versão mais recente. A versão mais recente depende de uma versão completa do AKS e pode ser determinada visitando o rastreador de versões do AKS.

A atualização automática primeiro atualiza o painel de controle e, em seguida, atualiza os pools de agentes um a um.

Por que usar a atualização automática do cluster

A atualização automática do cluster fornece um mecanismo do tipo “configure uma vez e esqueça”, que gera benefícios tangíveis de tempo e custo operacional. Ao habilitar a atualização automática, você pode garantir que seus clusters estejam atualizados e não percam os recursos ou patches mais recentes do AKS e do upstream Kubernetes.

O AKS segue uma janela controle de versão rigorosa em termos de capacidade de suporte. Com os canais de atualização automática corretamente selecionados, você pode evitar que os clusters usem uma versão sem suporte. Para obter mais informações sobre a janela de suporte do AKS, consulte as Versões menores de alias.

Atualizações automáticas especificadas pelo cliente versus atualizações automáticas iniciadas pelo AKS

Você pode especificar as especificidades da atualização automática do cluster usando as seguintes diretrizes. As atualizações ocorrem com base em sua cadência especificada e são recomendadas para permanecer nas versões compatíveis do Kubernetes.

O AKS também inicia atualizações automáticas para clusters sem suporte. Quando um cluster em uma versão n-3 (em que n é a versão secundária mais recente do AKS em GA com suporte) está prestes a cair para n-4, o AKS atualiza automaticamente o cluster para n-2 para permanecer em uma política de suporte do AKS. A atualização automática de um cluster com suporte da plataforma para uma versão com suporte é habilitada por padrão. Os pools de nós interrompidos serão atualizados durante uma operação de atualização automática. A atualização será aplicada aos nós quando o pool de nós for iniciado. Para minimizar interrupções, configure janelas de manutenção.

Limitações da atualização automática do cluster

Se você estiver usando a atualização automática do cluster, não poderá mais atualizar o painel de controle primeiro e depois atualizar os pools de nós individuais. A atualização automática do cluster sempre atualizará o painel de controle e os pools de nós juntos. Não é possível atualizar apenas o plano de controle. A execução do comando az aks upgrade --control-plane-only gera o seguinte erro: NotAllAgentPoolOrchestratorVersionSpecifiedAndUnchanged: Using managed cluster api, all Agent pools' OrchestratorVersion must be all specified or all unspecified. If all specified, they must be stay unchanged or the same with control plane.

Se estiver usando o canal de atualização automática do cluster node-image ou o canal de atualização automática de imagem do nó NodeImage, as atualizações autônomas do Linux serão desabilitadas por padrão.

Canais de atualização automática do cluster

As atualizações concluídas automaticamente funcionam da mesma forma que as atualizações manuais. O canal de atualização automática selecionado determina o momento das atualizações. Ao fazer alterações na atualização automática, aguarde 24 horas para que as alterações entrem em vigor. A atualização automática de um cluster segue o mesmo processo que a atualização manual. Para obter mais informações, confira Atualizar um cluster do AKS.

Os seguintes canais de atualização estão disponíveis:

Canal Ação Exemplo
none desabilita atualizações automáticas e mantém o cluster na versão atual do Kubernetes. Configuração padrão se não for alterado.
patch atualiza automaticamente o cluster para a última versão de patch com suporte quando ela estiver disponível, mantendo a versão secundária a mesma. Por exemplo, se um cluster executa a versão 1.17.7 e as versões 1.17.9, 1.18.4, 1.18.6 e 1.19.1 estiverem disponíveis, o cluster atualiza para 1.17.9.
stable atualiza automaticamente o cluster para a última versão de patch com suporte na versão secundária N-1, em que N é a última versão secundária com suporte. Por exemplo, se um cluster executa a versão 1.17.7 e as versões 1.17.9, 1.18.4, 1.18.6 e 1.19.1 estiverem disponíveis, o cluster atualiza para 1.18.6.
rapid atualiza automaticamente o cluster para a última versão de patch com suporte na última versão secundária com suporte. Nos casos em que a versão do Kubernetes do cluster é uma versão secundária N-2, em que N é a versão secundária com suporte mais recente, o cluster primeiro atualiza para a versão de patch com suporte mais recente na versão secundária N-1. Por exemplo, se um cluster executa a versão 1.17.7 e as versões 1.17.9, 1.18.4, 1.18.6 e 1.19.1 estiverem disponíveis, o cluster primeiro atualiza para 1.18.6, e depois atualiza para 1.19.1.
node-image atualiza automaticamente a imagem do nó para a versão mais recente disponível. A Microsoft fornece patches e novas imagens para nós de imagem com frequência (geralmente semanal), mas os nós em execução não obterão as novas imagens, a menos que você faça uma atualização da imagem do nó. Ligar o canal node-image atualizará automaticamente as imagens do nó sempre que uma nova versão estiver disponível. 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ó funcionarão em versões de patch que foram preteridas, desde que ainda haja suporte para a versão secundária do Kubernetes.

Observação

Tenha em mente as seguintes informações ao usar a atualização automática do cluster:

  • A atualização automática do cluster só atualiza para as versões de disponibilidade geral do Kubernetes, e não atualiza as versões preliminares.

  • Com o AKS, você pode criar um cluster sem especificar a versão exata do patch. Quando você cria um cluster sem designar um patch, o cluster executa o patch da GA mais recente da versão secundária. Para saber mais, consulte Janela de suporte do AKS.

  • A atualização automática exige que a versão de cluster do Kubernetes esteja dentro da janela de suporte do AKS, mesmo se estiver usando o canal node-image.

  • Se você estiver usando a versão preliminar da API 11-02-preview ou posterior e selecionar o canal de atualização automática de cluster node-image, o canal de atualização automática da imagem do nó será automaticamente definido como NodeImage.

  • Cada cluster só pode ser associado a um único canal de atualização automática. Isto ocorre porque o canal especificado determina a versão do Kubernetes que é executada no cluster.

Usar a atualização automática do cluster com um novo cluster do AKS

  • Defina o canal de atualização automática ao criar um novo cluster usando o comando az aks create e o parâmetro auto-upgrade-channel.

    az aks create --resource-group myResourceGroup --name myAKSCluster --auto-upgrade-channel stable --generate-ssh-keys
    

Usar a atualização automática do cluster com um cluster AKS existente

  • Defina o canal de atualização automática em um cluster existente usando o comando az aks update com o parâmetro auto-upgrade-channel.

    az aks update --resource-group myResourceGroup --name myAKSCluster --auto-upgrade-channel stable
    

Use a atualização automática com a Manutenção Planejada

Se estiver usando a Manutenção Planejada e a atualização automática do cluster, sua atualização será iniciada durante a janela de manutenção especificada.

Observação

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

Para obter mais informações sobre como definir uma janela de manutenção com Manutenção Planeada, consulte Utilizar a Manutenção Planejada para agendar janelas de manutenção para o seu cluster dos Serviço de Kubernetes do Azure (AKS).

Práticas recomendadas para atualização automática do cluster

Use as seguintes práticas recomendada para maximizar o sucesso ao usar a atualização automática:

  • Para garantir que seu cluster esteja sempre em uma versão compatível (ou seja, dentro da regra N-2), escolha os canais stable ou rapid.
  • Se você estiver interessado em obter os patches mais recentes o mais rápido possível, use o canal patch. O canal node-image é uma boa opção se você quiser que seus pools de agentes sempre executem as imagens de nó mais recentes.
  • Para atualizar automaticamente as imagens do nó ao usar um canal de atualização de cluster diferente, considere usar o canal de atualização automática da imagem do nóNodeImage.
  • Siga as melhores práticas do operador.
  • Siga as melhores práticas do PDB.
  • Para obter informações sobre a solução de problemas de atualização, consulte a Documentação de solução de problemas do AKS.

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.