Controlar a frequência de interrupções dos upgrades automáticos

Este documento apresenta o conceito de orçamentos de interrupção de cluster e explica como personalizá-los para atender às necessidades do seu ambiente. Os orçamentos de interrupção de cluster são uma ferramenta em um conjunto de recursos que permitem que um administrador da plataforma minimize a interrupção das cargas de trabalho e melhore o desempenho, a confiabilidade e a segurança delas.

Os upgrades de cluster, que ocorrem quando o GKE atualiza a versão usada pelo plano de controle e pelos nós do cluster, podem ser uma das principais fontes de interrupção para um cluster do GKE. Para mais informações sobre o que são upgrades, consulte Sobre os upgrades de cluster do GKE. Para conhecer todos os outros recursos para minimizar a interrupção durante os upgrades do cluster, consulte a seção Controlar upgrades do cluster desse documento. Para mais informações gerais sobre mudanças no ciclo de vida do cluster além dos upgrades, consulte Gerenciar mudanças no ciclo de vida do cluster para minimizar interrupções.

O que é um orçamento de interrupção de cluster

Para ajudar a garantir que o cluster não seja interrompido por upgrades automáticos com muita frequência, o GKE, por padrão, aplica um orçamento de interrupção do cluster para definir um intervalo mínimo entre upgrades automáticos do plano de controle do cluster. O GKE também aplica esse orçamento entre a criação do cluster e o primeiro upgrade automático do plano de controle. Além disso, se você fizer upgrade manual do plano de controle do cluster, o GKE vai respeitar o orçamento de interrupção do cluster ao realizar o próximo upgrade automático. É possível fazer upgrade manual do cluster a qualquer momento, mesmo que isso viole o orçamento de interrupção do cluster.

Em um cluster, o GKE faz upgrade automático do plano de controle antes dos nós. Portanto, esse orçamento também define a cadência mínima de upgrades automáticos de nós do cluster.

O GKE tem orçamentos de interrupção de cluster padrão para diferentes tipos de upgrades de versão:

  • Upgrades de versão de patch: 24 horas
  • Upgrades de versão secundária: 30 dias

O GKE aplica o orçamento entre os mesmos tipos de upgrades. Por exemplo, o GKE aguarda 24 horas entre o upgrade de um cluster entre as versões de patch 1.35.0-gke.1403000 e 1.35.0-gke.1624000, e 30 dias entre 1.34 e 1.35. No entanto, o GKE aguarda 24 horas após um upgrade secundário antes de realizar um upgrade de patch.

O GKE usa um orçamento de interrupção do cluster apenas para upgrades do cluster, e não para outros tipos de mudanças em um cluster do GKE.

O orçamento de interrupção do cluster é diferente, mas pode ser combinado com janelas e exclusões de manutenção. As políticas de manutenção controlam quando a manutenção do cluster do GKE pode e não pode acontecer, enquanto o orçamento de interrupção do cluster define um intervalo específico entre os upgrades do cluster.

Quando personalizar o orçamento de interrupção do cluster

Os orçamentos padrão de interrupção do cluster do GKE refletem um equilíbrio entre a pontualidade dos upgrades, evitando upgrades consecutivos e otimizando a estabilidade. No entanto, esses valores gerais podem não ser ideais para seu ambiente de cluster.

Se você quiser controlar esse período mínimo entre os upgrades automáticos do cluster, configure o orçamento de interrupção do cluster. Por exemplo, considere os seguintes cenários:

  • Você tem um processo personalizado para avaliar uma versão de patch do plano de controle do GKE antes de enviar a versão para produção, e esse processo leva um período específico maior do que o orçamento padrão do cluster.
  • Você tem clusters grandes que levam mais tempo para fazer upgrade de todos os pools de nós. Você quer manter a consistência relativa das versões nesses pools de nós. Assim, você diminui a frequência dos upgrades de patch, fazendo upgrade mensalmente, e permite janelas de manutenção frequentes para garantir que os upgrades do pool de nós sejam concluídos em tempo hábil.

Definir o orçamento de interrupção do cluster para upgrades automáticos

Se você tiver uma necessidade específica de controlar o intervalo entre dois upgrades secundários ou dois upgrades de patch, defina seus próprios orçamentos de interrupção do cluster. No entanto, recomendamos que você comece configurando uma janela de manutenção para definir um horário recorrente para a manutenção do cluster do GKE. Em seguida, você pode personalizar o intervalo entre upgrades com o orçamento de interrupção do cluster.

Recomendamos usar o orçamento de interrupção do cluster com as outras ferramentas disponíveis que o GKE oferece para controlar os upgrades do cluster. Essas configurações, que funcionam com todas as outras ferramentas de upgrade, afetam apenas o momento em que o GKE faz upgrade automático de um cluster para uma nova versão. O GKE ainda segue janelas e exclusões de manutenção, a ordem de uma sequência de lançamento e aplica outras práticas padrão normalmente usadas para upgrades automáticos.

O orçamento padrão de interrupção do cluster é de 24 horas para upgrades de patch e 30 dias para upgrades secundários. É possível configurar os intervalos para qualquer período entre 0 e 90 dias. No entanto, é importante considerar o seguinte ao atualizar esses valores:

  • Recomendamos que você não defina o intervalo de upgrades de patch para mais de 30 dias, a menos que tenha um processo específico de qualificação de versão que leve mais tempo. Você pode perder patches importantes se fizer upgrade com uma frequência menor que 30 dias.
  • Recomendamos permitir upgrades secundários com a frequência aceitável para seu ambiente de cluster. Se você definir o intervalo de upgrades secundários para o máximo de 90 dias, aumentará a chance de o GKE precisar fazer upgrade do cluster da versão secundária quando ela atingir o fim do suporte. O GKE segue um orçamento de interrupção do cluster separado para upgrades secundários de sete dias quando uma versão secundária atinge o fim do suporte. Ele não segue nenhum orçamento de interrupção do cluster que você configurou. Para mais informações, consulte Upgrades automáticos no fim suporte.
  • Recomendamos definir o intervalo de upgrades de patch para um período mais curto do que o intervalo de upgrades secundários.

Antes de começar

Antes de começar, verifique se você realizou as tarefas a seguir:

  • Ativar a API Google Kubernetes Engine.
  • Ativar a API Google Kubernetes Engine
  • Se você quiser usar a CLI do Google Cloud para essa tarefa, instale e inicialize a gcloud CLI. Se você instalou a gcloud CLI anteriormente, instale a versão mais recente executando o comando gcloud components update. Talvez as versões anteriores da gcloud CLI não sejam compatíveis com a execução dos comandos neste documento.

Configurar o orçamento de interrupção do cluster

Primeiro, se ainda não tiver feito isso, recomendamos que você configure uma janela de manutenção.

Em seguida, para definir um orçamento de interrupção de cluster personalizado, use as seguintes flags ao criar ou atualizar um cluster usando a CLI gcloud:

  • Upgrades secundários: --maintenance-minor-version-disruption-interval=MINOR_INTERVAL
  • Atualizações de patch: --maintenance-patch-version-disruption-interval=PATCH_INTERVAL

Para essas flags, substitua MINOR_INTERVAL ou PATCH_INTERVAL, respectivamente, por uma duração expressa em segundos entre 0 dia (0s) e 90 dias (7776000s).

Você pode usar essas flags nas seguintes situações:

É possível usar as flags ao mesmo tempo ou de forma independente.

Redefinir o orçamento de interrupção do cluster para os valores padrão

Para redefinir o orçamento de interrupção do cluster para os valores padrão de 24 horas para upgrades de patch e 30 dias para upgrades secundários, use as seguintes flags:

  • Upgrades secundários: --clear-maintenance-minor-version-disruption-interval
  • Upgrades de patch: --clear-maintenance-patch-version-disruption-interval

Use essas flags ao atualizar um cluster com o comando gcloud container cluster update.

É possível usar as flags ao mesmo tempo ou de forma independente.