Atualizar automaticamente um cluster do Azure Kubernetes Service (AKS)

Parte do ciclo de vida do cluster AKS envolve a realização de atualizações periódicas para a versão mais recente do Kubernetes. É importante que aplique as versões de segurança mais recentes ou que atualize para obter as funcionalidades mais recentes. Antes de aprender sobre a atualização automática, certifique-se de entender os fundamentos da atualização do cluster AKS.

Nota

Qualquer operação de atualização, seja ela executada manualmente ou automaticamente, 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 lançamento do AKS.

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

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

A atualização automática do cluster fornece um mecanismo de "definir uma vez e esquecer" que produz 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 Kubernetes upstream.

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

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

Você pode especificar os detalhes da atualização automática do cluster usando as diretrizes a seguir. As atualizações ocorrem com base na cadência especificada e são recomendadas para permanecer nas versões suportadas do Kubernetes.

O AKS também inicia atualizações automáticas para clusters não suportados. Quando um cluster em uma versão n-3 (onde n é a versão secundária mais recente suportada do AKS GA) 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 suportado pela plataforma para uma versão suportada é ativada 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 de cluster, não poderá mais atualizar o plano de controle primeiro e, em seguida, atualizar os pools de nós individuais. A atualização automática do cluster sempre atualiza o plano de controle e os pools de nós juntos. Não é possível atualizar apenas o plano de controle. A execução do az aks upgrade --control-plane-only comando 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 node-image canal de atualização automática do cluster ou o NodeImage canal de atualização automática da imagem do nó, as atualizações autônomas do Linux serão desabilitadas por padrão.

Canais de atualização automática de cluster

As atualizações concluídas automaticamente são funcionalmente iguais às atualizações manuais. O canal de atualização automática selecionado determina o tempo 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 de um cluster. Para obter mais informações, veja Atualizar um cluster do AKS.

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

Canal Ação Exemplo
none desabilita as atualizações automáticas e mantém o cluster em sua versão atual do Kubernetes. Configuração padrão se mantida inalterada.
patch atualiza automaticamente o cluster para a versão de patch suportada mais recente quando ele estiver disponível, mantendo a versão secundária a mesma. Por exemplo, se um cluster executar 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 será atualizado para 1.17.9.
stable atualiza automaticamente o cluster para a versão de patch suportada mais recente na versão secundária N-1, onde N é a versão secundária suportada mais recente. Por exemplo, se um cluster executar 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 será atualizado para 1.18.6.
rapid atualiza automaticamente o cluster para a versão de patch suportada mais recente na versão secundária suportada mais recente. Nos casos em que a versão do Kubernetes do cluster é uma versão secundária N-2 , onde N é a versão secundária suportada mais recente, o cluster primeiro atualiza para a versão de patch suportada mais recente na versão secundária N-1 . Por exemplo, se um cluster executar 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 atualizará para 1.18.6 e, em seguida, atualizará 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 semanalmente), mas os nós em execução não obtêm as novas imagens, a menos que você faça uma atualização de imagem de nó. Ativar o canal de imagem de nó atualiza automaticamente as imagens do nó sempre que uma nova versão está disponível. Se você usar esse canal, o Linux [atualizações autônomas] será desativado por padrão. As atualizações de imagem de nó funcionam em versões de patch que foram preteridas, desde que a versão secundária do Kubernetes ainda seja suportada.

Nota

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

  • A atualização automática do cluster atualiza apenas para versões GA do Kubernetes e não atualiza para versões de visualização.

  • 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 GA mais recente da versão secundária. Para saber mais, consulte a janela de suporte do AKS.

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

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

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

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

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

    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 az aks update comando com o auto-upgrade-channel parâmetro.

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

Usar 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, a atualização será iniciada durante a janela de manutenção especificada.

Nota

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 a Manutenção Planejada, consulte Usar a Manutenção Planejada para agendar janelas de manutenção para seu cluster do Serviço Kubernetes do Azure (AKS).

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

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

  • Para garantir que seu cluster esteja sempre em uma versão suportada (ou seja, dentro da regra N-2), escolha um stable ou rapid canais.
  • Se você estiver interessado em obter os patches mais recentes o mais rápido possível, use o patch canal. O node-image canal é 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ó enquanto usa um canal de atualização de cluster diferente, considere usar o canal de atualizaçãoNodeImage automática da imagem do nó.
  • Siga as melhores práticas do Operador.
  • Siga as melhores práticas do APO.
  • Para obter informações sobre 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 práticas recomendadas de atualização e outras considerações, consulte o patch do AKS e as diretrizes de atualização.