Sequência do lançamento de upgrades de cluster

Nesta página, mostramos como gerenciar upgrades de cluster do GKE usando o sequenciamento de lançamentos. Para saber mais, consulte Sobre upgrades de cluster com sequenciamento de lançamento.

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 CLI gcloud anteriormente, instale a versão mais recente executando o comando gcloud components update. Talvez as versões anteriores da CLI gcloud não sejam compatíveis com a execução dos comandos neste documento.
  • Verifique se você ativou as APIs necessárias para as frotas. Essas APIs precisam ser ativadas nos projetos de host da frota para criar qualquer tipo de sequência de implantação.
  • Para instruções do Terraform, use a versão 5.13.0 ou posterior do provedor google.

Funções exigidas

Para criar ou modificar uma sequência de implantação, você precisa receber o papel do IAM roles/gkehub.editor em cada projeto na sequência de implantação. O papel Editor da frota (antigo Editor do GKE Hub) fornece as permissões gkehub.features.create e gkehub.fleet.update, que são necessárias para acessar e modificar recursos relacionados à frota entre projetos. Essa função fornece as permissões necessárias para definir a estratégia de upgrade, acessar e modificar recursos relevantes e iniciar e gerenciar o processo de implantação.

Se você precisar registrar ou cancelar o registro de clusters em uma frota, precisará de todas as permissões a seguir:

Para mais informações sobre os papéis do IAM com menos privilégios necessários para diferentes tarefas, consulte Receber sugestões de papéis predefinidos com a ajuda do Gemini.

Configurar uma sequência de lançamento

Neste documento, você aprende a criar uma sequência de lançamento usando grupos de clusters organizados por frotas ou escopos. Neste documento, usamos o termo grupo para se referir às frotas e aos escopos de equipe, porque é possível criar uma sequência de lançamento organizada com qualquer um dos métodos de agrupamento.

É possível criar uma sequência de até cinco grupos de clusters (três para uma sequência baseada em equipe) e escolher quanto tempo de teste de permanência você quer quando os upgrades de cluster forem concluídos em um grupo (máximo de 30 dias). É possível incluir clusters do Autopilot e Standard.

Para criar uma sequência de lançamento, os clusters precisam ser organizados em grupos de frotas ou escopos. Para orientações sobre como organizar os clusters, consulte o exemplo do banco comunitário. Depois que eles forem organizados em grupos, será possível criar uma sequência de lançamento definindo as relações de grupo upstream e o tempo de permanência de cada grupo. Upstream, na sequência de lançamento, refere-se ao grupo anterior e downstream, ao próximo.

Organizar os clusters em grupos

Em uma sequência de lançamento, todos os clusters em todos os grupos precisam estar registrados no mesmo canal de lançamento e na mesma versão secundária. Se esses requisitos não forem atendidos e houver discrepâncias de versão entre clusters, isso poderá causar problemas com o lançamento da versão. Para mais informações, consulte Qualificação para o lançamento.

É possível criar sequências de lançamento entre frotas ou entre escopos de equipe de uma equipe (pré-lançamento).

Como você viu em Sobre upgrades de cluster com sequenciamento de lançamento, os escopos de equipe associam subconjuntos de clusters de frota a equipes de aplicativos específicas. As seguintes limitações se aplicam ao usar ou criar escopos de equipe para o sequenciamento de lançamento:

  • As sequências baseadas em equipe exigem clusters de locação única: em outras palavras, cada cluster individual é associado somente a uma única equipe. Os clusters compartilhados (que recebem suporte no gerenciamento geral de equipes da frota) não têm suporte para o sequenciamento de lançamento.

  • Cada escopo de equipe precisa estar em uma frota diferente para criar uma sequência de lançamento entre eles. Não é possível criar uma sequência de lançamento entre diferentes escopos de equipe na mesma frota.

Se você já tiver organizado os clusters em grupos, pule as etapas a seguir e continue para Criar uma sequência de lançamento.

Frotas

Para criar uma sequência de implantação baseada em frota, primeiro você precisa agrupar seus clusters em frotas. É possível organizar os clusters por ambientes de implantação, como teste, preparo e produção, conforme mostrado no exemplo de sequência de lançamento com base em frota.

Registre cada cluster com uma frota com base no agrupamento escolhido.

Equipes

Para criar uma sequência de lançamento baseada em equipe, é preciso agrupar os clusters em escopos de equipe. Para fazer isso, primeiro organize seus clusters em frotas por ambientes de implantação, como teste, preparo e produção, conforme mostrado na sequência de exemplo com base no escopo do lançamento. Em seguida, é possível subdividir ainda mais os clusters em escopos para clusters de diferentes equipes.

  1. Para cada cluster na sequência, registre-o em uma frota. O cluster precisa ser registrado na frota no projeto em que você vai criar o escopo. Se você quiser registrar um cluster em uma frota em um projeto host diferente, verifique se definiu as permissões necessárias para o registro entre projetos.
  2. Crie de dois a três escopos para organizar os clusters. Crie cada escopo no projeto host da respectiva frota da equipe. É possível ter até três escopos em uma sequência de lançamento.

    Consulte a referência de gcloud container fleet scopes create para consultar uma lista completa de sinalizações. Com o comando create, é possível usar as flags nas instruções para criar uma sequência de lançamento.

  3. Adicione cada cluster a um escopo.

Criar uma sequência de lançamento

Uma sequência de lançamento é organizada como uma lista vinculada com até cinco elementos.

Ao criar uma sequência de lançamento, você define as seguintes propriedades para cada grupo de clusters, seja uma frota ou um escopo:

  • Grupo upstream: a frota ou o escopo upstream, que qualifica novas versões para o grupo downstream. Não defina um grupo upstream para o primeiro grupo em uma sequência.
  • Tempo de imersão: o tempo de imersão de um grupo é o momento entre o momento em que os upgrades foram concluídos (ou o lançamento levou 30 dias) e o momento em que eles podem começar no grupo downstream. Para saber mais, consulte Como funciona a qualificação de versões em uma sequência de lançamento.

Frotas - gCloud

As instruções a seguir usam o comando gcloud container fleet clusterupgrade update, mas é possível definir as mesmas propriedades com o comando gcloud container fleet clusterupgrade create.

Para cada um dos comandos a seguir, substitua SOAK_TIME pelo tempo de imersão da frota que você está atualizando.

Criar uma sequência de lançamento

  1. Defina o tempo de imersão da primeira frota na sequência:

    gcloud container fleet clusterupgrade update \
        --default-upgrade-soaking=SOAK_TIME \
        --project=FIRST_FLEET_PROJECT_ID
    

    Substitua FIRST_FLEET_PROJECT_ID pelo ID do projeto host da frota.

  2. Defina a frota upstream e o tempo de permanência da segunda frota na sequência:

    gcloud container fleet clusterupgrade update \
        --upstream-fleet=FIRST_FLEET_PROJECT_ID \
        --default-upgrade-soaking=SOAK_TIME \
        --project=SECOND_FLEET_PROJECT_ID
    

    Substitua FIRST_FLEET_PROJECT_ID pelo ID do primeiro projeto host da frota e SECOND_FLEET_PROJECT_ID pelo ID do projeto host da frota.

  3. Opcional: se você quiser ter mais de duas frotas em uma sequência de lançamento, defina a frota upstream para as próximas frotas na sequência.

    O comando a seguir define a frota upstream para a terceira frota na sequência. Se quiser adicionar uma quarta ou quinta frota, repita esta etapa, seguindo o mesmo padrão para substituir as variáveis pelos IDs dos projetos dos respectivos hosts de frota (frota anterior e próxima frota).

    Defina a frota upstream para a próxima frota na sequência:

    gcloud container fleet clusterupgrade update \
        --upstream-fleet=SECOND_FLEET_PROJECT_ID \
        --default-upgrade-soaking=SOAK_TIME \
        --project=THIRD_FLEET_PROJECT_ID
    

    Substitua SECOND_FLEET_PROJECT_ID pelo ID do projeto host da segunda frota e THIRD_FLEET_PROJECT_ID pelo ID do projeto host da frota.

Frotas: console

  1. Acesse a página Sequência de lançamento no console do Google Cloud .

    Acessar o sequenciamento de lançamento

  2. Clique em Criar sequência de lançamento.

  3. No painel Criar uma sequência de lançamento, selecione as duas primeiras frotas na sequência:

    1. Na seção Frota 1, selecione a primeira frota na sequência.
    2. Na seção Tempo de permanência da frota upstream, defina o tempo de permanência da primeira frota usando os campos Dias, Horas e Minutos.
    3. Na seção Frota 2, selecione a segunda frota na sequência.
    4. Clique em Criar.
  4. Opcional: se você quiser ter três ou mais frotas nessa sequência de lançamento, siga estas etapas adicionais:

    1. No Gráfico de lançamento, clique no elemento da segunda frota.
    2. Clique em Adicionar frota downstream.
    3. Na seção Tempo de permanência da frota upstream, defina o tempo de permanência da segunda frota usando os campos Dias, Horas e Minutos.
    4. Na seção Próxima frota na sequência, selecione a terceira frota na sequência.
    5. Clique em Salvar.
    6. Repita as etapas anteriores se quiser adicionar uma quarta ou quinta frota.

Frotas: Terraform

Nesta seção, mostramos como criar uma sequência baseada em frota usando o Terraform. Também é possível usar esse recurso para atualizar a sequência. Para saber mais, consulte a documentação de referência para google_gke_hub_feature.

Para cada um dos comandos a seguir, substitua SOAK_TIME pelo tempo de imersão da frota que você está atualizando.

Criar uma sequência de lançamento

  1. Adicione o seguinte bloco à sua configuração do Terraform para definir o tempo de imersão para a primeira frota na sequência:

    resource "google_gke_hub_feature" "feature" {
      name = "clusterupgrade"
      location = "global"
      spec {
        clusterupgrade {
          upstream_fleets = []
          post_conditions {
            soaking = "SOAK_TIME"
          }
        }
      }
      project = "FIRST_FLEET_PROJECT_ID"
    }
    

    Substitua FIRST_FLEET_PROJECT_ID pelo ID do projeto host da frota.

  2. Adicione o seguinte bloco à sua configuração do Terraform para definir a frota upstream e o tempo de imersão para a segunda frota na sequência:

    resource "google_gke_hub_feature" "feature" {
      name = "clusterupgrade"
      location = "global"
      spec {
        clusterupgrade {
          upstream_fleets = ["FIRST_FLEET_PROJECT_ID"]
          post_conditions {
            soaking = "SOAK_TIME"
          }
        }
      }
      project = "SECOND_FLEET_PROJECT_ID"
    }
    

    Substitua FIRST_FLEET_PROJECT_ID pelo ID do primeiro projeto host da frota e SECOND_FLEET_PROJECT_ID pelo ID do projeto host da frota.

  3. Opcional: se você quiser ter três frotas em uma sequência de lançamento, adicione o bloco a seguir à configuração do Terraform para definir a frota upstream na sequência:

    resource "google_gke_hub_feature" "feature" {
      name = "clusterupgrade"
      location = "global"
      spec {
        clusterupgrade {
          upstream_fleets = ["SECOND_FLEET_PROJECT_ID"]
          post_conditions {
            soaking = "SOAK_TIME"
          }
        }
      }
      project = "THIRD_FLEET_PROJECT_ID"
    }
    

    Substitua SECOND_FLEET_PROJECT_ID pelo ID do projeto host da segunda frota e THIRD_FLEET_PROJECT_ID pelo ID do projeto host da frota.

    Repita essa etapa se quiser adicionar uma quarta ou quinta frota.

Equipes: gcloud

É possível definir essas propriedades ao criar ou atualizar um escopo. As instruções a seguir usam o comando gcloud container fleet scopes update. No entanto, é possível definir as mesmas propriedades ao criar um escopo com o comando gcloud container fleet scopes create.

Para cada um desses comandos, substitua o seguinte:

  • As variáveis com o nome do respectivo escopo ou o ID do projeto host da frota do escopo.
  • O SOAK_TIME com o tempo de imersão do escopo da equipe que você está atualizando.

Criar uma sequência de lançamento

  1. Defina o tempo de imersão do primeiro escopo na sequência:

    gcloud container fleet scopes update projects/FIRST_SCOPE_PROJECT_ID/locations/global/scopes/FIRST_SCOPE_NAME \
        --default-upgrade-soaking=SOAK_TIME \
        --project=FIRST_SCOPE_PROJECT_ID
    
  2. Defina o escopo upstream e o tempo de imersão para o segundo escopo na sequência:

    gcloud container fleet scopes update projects/SECOND_SCOPE_PROJECT_ID/locations/global/scopes/SECOND_SCOPE_NAME \
        --upstream-scope=projects/FIRST_SCOPE_PROJECT_ID/locations/global/scopes/FIRST_SCOPE_NAME \
        --default-upgrade-soaking=SOAK_TIME \
        --project=SECOND_SCOPE_PROJECT_ID
    
  3. Opcional: se você quiser ter três escopos em uma sequência de lançamento, defina o escopo upstream para o terceiro escopo na sequência:

    gcloud container fleet scopes update projects/THIRD_SCOPE_PROJECT_ID/locations/global/scopes/THIRD_SCOPE_NAME \
        --upstream-scope=projects/SECOND_SCOPE_PROJECT/locations/global/scopes/SECOND_SCOPE_NAME \
        --default-upgrade-soaking=SOAK_TIME \
        --project=THIRD_SCOPE_PROJECT_ID
    

Verificar o status de uma sequência de lançamento

É possível verificar o status de uma sequência de lançamento com um dos seguintes métodos:

Monitorar uma sequência de lançamento no console do Google Cloud

  1. Acesse a página Sequência de lançamento no console do Google Cloud .

    Acessar o sequenciamento de lançamento

  2. Confira a sequência na seção Monitorar a sequência de lançamento. Se você não encontrar uma sequência de lançamento, mude para uma sequência de lançamento diferente ou crie uma, se ainda não tiver feito isso.

Como usar o console para monitorar uma sequência de lançamento

Nela, você pode conferir a sequência de lançamento associada à frota do seu projeto. Para conferir o progresso de uma sequência de lançamento, faça o seguinte:

  • Confira toda a sequência de lançamento ou os status de frotas e clusters individuais nessas frotas, além do tempo de imersão entre as frotas. Você também pode conferir a sequência em que não há upgrade ativo para verificar a configuração dela.
  • Filtre por tipo de upgrade (plano de controle ou upgrade de nó) e versão específica (por exemplo, 1.31.6-gke.500).

É possível monitorar visualmente toda a sequência de lançamento enquanto o GKE faz upgrade de todos os clusters na sequência, qualificando uma nova versão em ambientes antes de fazer upgrade dos clusters do ambiente de produção. Durante o monitoramento, é possível gerenciar uma sequência de lançamento com a gcloud CLI, fazendo as mudanças necessárias.

Mudar para outra sequência de lançamento

Esta página mostra a sequência de lançamento baseada na frota se o projeto ativo no console do Google Cloud for um projeto de host da frota para uma frota registrada em uma sequência de lançamento.

Para conferir uma sequência de lançamento diferente, selecione um projeto host da frota associado a uma sequência de lançamento diferente no seletor de projetos na parte de cima da página.

Usar a CLI gcloud

Use esses comandos nas seções a seguir para verificar o progresso dos upgrades em uma sequência de lançamento. Para saber mais sobre quais detalhes são fornecidos, consulte Informações de status para uma sequência de lançamento

Para executar esses comandos, verifique se você tem as permissões necessárias para cada projeto de host da frota. Por exemplo, se a sequência tiver escopos entre projetos em diferentes frotas, você precisará de permissões em cada projeto para descrever a sequência.

Para os comandos a seguir, se você precisar apenas de informações sobre uma frota ou um escopo na sequência, substitua a flag --show-linked-cluster-upgrade por --show-cluster-upgrade.

Frotas

Verifique o status de uma sequência de lançamento com base em frota:

gcloud container fleet clusterupgrade describe \
    --show-linked-cluster-upgrade --project=FLEET_PROJECT_ID

Substitua FLEET_PROJECT_ID pelo ID do projeto host de qualquer frota na sequência.

Consulte a referência de gcloud container fleet clusterupgrade describe para ver uma lista completa de sinalizações.

Equipes

Verifique o status de uma sequência de lançamento com base no escopo:

gcloud container fleet scopes describe SCOPE_NAME \
    --show-linked-cluster-upgrade
    --project=SCOPE_PROJECT_ID

Substitua SCOPE_NAME pelo nome de qualquer escopo na sequência de lançamento e SCOPE_PROJECT_ID pelo ID do projeto desse escopo.

Consulte a referência de gcloud container fleet scopes describe para consultar uma lista completa de sinalizações.

Para ver o status de clusters individuais em uma frota ou escopo, execute o seguinte comando no projeto host da frota e consulte a seção membershipStates:

gcloud container fleet features describe clusterupgrade

Informações de status para uma sequência de lançamento

Ao verificar o status do lançamento de uma versão, é possível ver o progresso de cada grupo e cluster dentro desse grupo.

Consulte a tabela a seguir para ver os status possíveis de um cluster ou grupo:

Status Para um único cluster Para um grupo (escopo da frota ou da equipe)
Não qualificado Este cluster não está qualificado para este upgrade Um ou mais clusters neste grupo não estão qualificados para este upgrade.
PENDENTE O upgrade está pendente no cluster ou em alguns dos pools de nós padrão ou grupos de nós em um cluster do Autopilot. O upgrade não foi iniciado em nenhum dos clusters no grupo.
IN_PROGRESS O upgrade está em andamento no cluster. O upgrade foi iniciado em pelo menos um cluster, mas não foi concluído em todos.
INICIANDO O upgrade foi concluído no cluster e não foi concluído. O upgrade foi concluído em todos os clusters e não foi concluído.
FORCED_SOAKING O upgrade levou mais que o tempo máximo (30 dias) e, portanto, o forçamos a entrar na fase de imersão. O upgrade ainda pode continuar no cluster. O upgrade levou mais que o tempo máximo (30 dias) e, portanto, o forçamos a entrar na fase de imersão. O upgrade ainda pode continuar nos clusters.
CONCLUIR O upgrade é tratado como "concluído", o que significa que ele foi concluído no cluster. O upgrade é tratado como "concluído" e pronto para ser consumido pelo grupo downstream, o que significa que ele foi concluído.

Na saída desses comandos, os atributos clusterUpgrade(s).spec e clusterUpgrade(s).state contêm outras informações sobre o upgrade de cluster, como tempo de imersão, modificações de upgrade de cluster e status do upgrade.

Gerenciar uma sequência de lançamento

É possível controlar os upgrades automáticos de cluster com o sequenciamento de lançamento de várias maneiras, conforme explicado nas seções a seguir.

Alterar o tempo de permanência em um grupo

É possível alterar o tempo de imersão padrão de um grupo ou de tempo para esse upgrade em uma versão específica. O máximo é de 30 dias.

Atualizar o tempo de imersão padrão

É possível atualizar o tempo de teste padrão no console Google Cloud (somente na prévia, sequência de lançamento baseada na frota) ou com a CLI gcloud.

gcloud

Para mudar o tempo de permanência padrão de um grupo, use os comandos da CLI gcloud das instruções para Criar uma sequência de lançamento, omitindo as flags para definir o grupo upstream.

Frotas: console

  1. Acesse a página Sequência de lançamento no console do Google Cloud .

    Acessar o sequenciamento de lançamento

  2. Confira a sequência na seção Monitorar a sequência de lançamento. Se você não encontrar uma sequência de lançamento, mude para uma sequência de lançamento diferente ou crie uma, se ainda não tiver feito isso.

  3. No Gráfico de lançamento, clique no elemento Tempo de espera depois do elemento da frota em que você quer atualizar o tempo de espera.

  4. Clique em Editar tempo de imersão.

  5. Na seção Definir um novo tempo de espera, insira um novo tempo de espera usando os campos Dias, Horas e Minutos.

  6. Para salvar as configurações, clique em Salvar.

Modificar o tempo de imersão padrão

É possível alterar o tempo de imersão de um lançamento de versão específico para que seja diferente do tempo de imersão padrão para o grupo. Por exemplo, se você já tiver qualificado uma nova versão e estiver pronto para upgrades para o próximo grupo, defina o tempo de imersão como zero. Também é possível usá-lo se quiser mais tempo do que o padrão de imersão para qualificar uma versão específica.

Como o tempo de permanência é definido por grupo, se você quiser modificar o tempo de permanência para outros grupos nesta sequência, use o mesmo comando com o nome da frota ou do escopo substituído, dependendo do tipo de sequência.

Para as instruções nesta seção, substitua as seguintes variáveis:

  • SOAK_TIME: o tempo de imersão a ser usado além do padrão. Por exemplo, "0d" se você quiser pular o tempo de imersão para um lançamento de versão.
  • UPGRADE_NAME: o tipo de upgrade, sendo k8s_control_plane para upgrades de plano de controle ou k8s_node para upgrades de nó.
  • VERSION: a versão do GKE em que você quer modificar o tempo de imersão padrão após a versão (por exemplo, 1.25.2-gke.400) ter sido implementada nesse grupo.

Frotas - gCloud

Execute esse comando no projeto host da frota em que você quer modificar o tempo de permanência usado para o lançamento de uma versão específica.

Altere o tempo de permanência de uma frota:

gcloud container fleet clusterupgrade update
    --add-upgrade-soaking-override=SOAK_TIME \
    --upgrade-selector=name=UPGRADE_NAME,version=VERSION

Frotas: Terraform

Adicione o seguinte bloco gke_upgrades_overrides à configuração do Terraform no bloco clusterupgrade para substituir o tempo de imersão usado para o lançamento de uma versão específica:

gke_upgrade_overrides {
    upgrade {
      name = "UPGRADE_NAME"
      version = "VERSION"
    }
    post_conditions {
      soaking = "SOAK_TIME"
    }
  }

Equipes: gcloud

Execute este comando no projeto host da frota do escopo. Substitua SCOPE_NAME com o nome do escopo para o qual você quer substituir o tempo de imersão usado para o lançamento de uma versão específica.

Alterar o tempo de imersão de um escopo:

gcloud container fleet scopes update SCOPE_NAME \
    --add-upgrade-soaking-override=SOAK_TIME \
    --upgrade-selector=name=UPGRADE_NAME,version=VERSION

Atualizar os grupos em uma sequência de lançamento

É possível atualizar uma sequência de lançamento para adicionar, remover ou mudar a ordem dos grupos na sequência. Para fazer essas mudanças, atualize as associações entre grupos.

É possível executar essas etapas no console do Google Cloud (somente na prévia, sequência de lançamento baseada na frota) ou com a CLI gcloud.

Frotas - gCloud

Use o comando gcloud container fleet clusterupgrade update com a sinalização --upstream-fleet para adicionar ou mudar frotas upstream. Use a flag --reset-upstream-fleet para remover uma frota upstream.

Você pode realizar ações como:

  • Adicione outra frota ao início da sequência de lançamento adicionando uma frota upstream à primeira frota na sequência.
  • Mude a ordem das frotas na sequência de lançamento alterando as associações de frota upstream.
  • Remova a primeira frota na sequência de lançamento removendo a frota upstream da segunda frota.

Frotas: console

  1. Acesse a página Sequência de lançamento no console do Google Cloud .

    Acessar o sequenciamento de lançamento

  2. Confira a sequência na seção Monitorar a sequência de lançamento. Se você não encontrar uma sequência de lançamento, mude para uma sequência de lançamento diferente ou crie uma, se ainda não tiver feito isso.

  3. No Gráfico de lançamento, clique nos elementos das frotas atuais na sequência. Depois de clicar nesses elementos, você pode realizar algumas das seguintes ações para fazer as mudanças:

    • Clique em Adicionar frota downstream.
    • Clique em Adicionar frota upstream.
    • Clique em Remover frota.

Você pode realizar ações como:

  • Adicione outra frota ao final da sequência de lançamento adicionando uma frota downstream à última frota da sequência.
  • Adicione outra frota ao início da sequência de lançamento adicionando uma frota upstream à primeira frota na sequência.
  • Mude a ordem das frotas na sequência de lançamento removendo e adicionando novamente com uma frota upstream ou downstream diferente.
  • Remova a primeira frota na sequência de lançamento.
  • Remova a última frota na sequência de lançamento.
  • Remova a frota do meio na sequência de lançamento depois de remover a primeira ou a última frota.

Equipes: gcloud

Use o comando gcloud container fleet scopes update com a sinalização --upstream-scope para adicionar ou mudar os escopos da equipe upstream. Use a flag --reset-upstream-scope para remover um escopo de equipe upstream.

Você pode realizar ações como:

  • Adicione outro escopo de equipe ao início da sequência de lançamento incluindo um escopo de equipe upstream ao primeiro escopo de equipe na sequência.
  • Mude a ordem dos escopos de equipe na sequência de lançamento alterando as associações de escopo de equipe upstream.
  • Remova o primeiro escopo da equipe na sequência de lançamento removendo o escopo upstream do segundo escopo.

Atrasar a conclusão do lançamento da versão do grupo

Se você precisar impedir temporariamente que um grupo conclua o lançamento de uma nova versão para os clusters, adicione uma exclusão de manutenção a qualquer um dos clusters que não foi feito o upgrade para a versão de destino. Isso pode pausar um grupo de prosseguir para o tempo de imersão ou grupo downstream por até 30 dias. Depois de 30 dias, o grupo começa a imersão.

É possível também alterar o tempo de imersão desse grupo para 30 dias a fim de maximizar o tempo que a sequência de lançamento aguarda antes de prosseguir para o próximo grupo.

Se você precisar atrasar ainda mais os upgrades a partir do próximo grupo, use exclusões de manutenção para os clusters do próximo grupo.

Alternar entre sequências de lançamento baseadas em frota e em escopo

É possível alternar de sequências baseadas em frota para sequências baseadas em escopo ou sequências baseadas em escopo para sequências baseadas em frota. Nas instruções, pressupomos que você esteja transferindo entre sequências organizadas como ilustradas nos diagramas de exemplo.

Frotas para equipes

Para alterar os clusters de uma sequência de lançamento baseada em frota para uma sequência de implantação baseada em escopo, siga estas etapas:

  1. Configure exclusões de manutenção para todos os clusters em cada frota para evitar upgrades enquanto estiver modificando sua configuração.
  2. Em cada frota, crie um ou mais escopos para subdividir o grupo de clusters nela.
  3. Crie uma ou mais sequências de lançamento entre os escopos correspondentes em cada frota.
  4. Adicione os clusters aos novos escopos.
  5. Remova as exclusões de manutenção configuradas para essa alteração.

De equipes para frotas

Para alterar os clusters de uma sequência de lançamento com base no escopo para uma sequência de implantação baseada na frota, siga estas etapas:

  1. Configure exclusões de manutenção para todos os clusters em cada frota para evitar upgrades enquanto estiver modificando sua configuração.
  2. Crie uma sequência de lançamento entre suas frotas.
  3. Remova os clusters dos escopos. Agora, esses clusters estão registrados apenas para as frotas do escopo que, na etapa anterior, você entrou em uma sequência de lançamento.
  4. Exclua os escopos da equipe.
  5. Remova as exclusões de manutenção configuradas para essa alteração.

Excluir uma sequência

Para excluir uma sequência, remova as associações upstream de cada um dos grupos, exceto o primeiro. O primeiro grupo não tem um grupo upstream.

É possível executar essas etapas no console do Google Cloud (somente na prévia, sequência de lançamento baseada na frota) ou com a CLI gcloud.

Frotas - gCloud

Execute o comando a seguir no projeto host da frota de cada uma das frotas na sequência de lançamento, exceto a primeira:

gcloud container fleet clusterupgrade update --reset-upstream-fleet

Frotas: console

  1. Acesse a página Sequência de lançamento no console do Google Cloud .

    Acessar o sequenciamento de lançamento

  2. Confira a sequência na seção Monitorar a sequência de lançamento. Se você não encontrar uma sequência de lançamento, mude para uma sequência de lançamento diferente ou crie uma, se ainda não tiver feito isso.

  3. No gráfico de lançamento, clique no elemento da última frota.

  4. Clique em Remover frota.

  5. Para remover a frota, clique em Remover.

  6. Repita as três etapas anteriores até que apenas a primeira frota permaneça.

Equipes: gcloud

Execute o seguinte comando no projeto host da frota do segundo e terceiro escopos na sequência de lançamento:

gcloud container fleet scopes update SCOPE_NAME --reset-upstream-scope

Substitua SCOPE_NAME pelos nomes do segundo e do terceiro escopos, respectivamente.

Solução de problemas

Resolver problemas de qualificação para o lançamento

Se todos os clusters em uma sequência de lançamento não tiverem o mesmo destino de upgrade, talvez o GKE não consiga continuar com os upgrades do cluster. Os upgrades automáticos não poderão continuar se um grupo upstream não qualificar um destino de upgrade para transmitir ao grupo downstream. Os upgrades automáticos também não poderão continuar se os clusters no grupo upstream qualificarem um destino de upgrade inválido para clusters no grupo downstream.

Para verificar se a sequência de lançamento tem problemas de qualificação, confira o status da sequência de lançamento. Se um grupo não estiver qualificado, siga as instruções para ver o status de clusters individuais em um grupo.

Para avançar imediatamente os upgrades de cluster, remova todos os clusters com status INELIGIBLE seguindo as instruções para Promover lançamentos parcialmente qualificados.

Corrigir a qualificação em um grupo

Em um grupo, se um cluster não estiver qualificado porque está em uma versão anterior (por exemplo, a maioria dos clusters no grupo está sendo atualizada de 1.23 para 1.24 e um cluster está na versão 1.22), é possível fazer upgrade manual da a versão 1.24 para resolver a discrepância.

Em um grupo, o GKE ignora clusters em versões mais recentes do que o destino do upgrade automático. Esses clusters não impedem que os upgrades sejam feitos no grupo downstream.

Corrigir a qualificação entre grupos

Entre os grupos, se houver uma incompatibilidade nos destinos de upgrade em que o grupo downstream está em uma versão mais recente (por exemplo, o grupo upstream fez upgrade de 1.23 para 1.24 e os clusters no grupo downstream estão em 1.25), é possível fazer upgrade manual dos clusters no grupo upstream para 1.25 para garantir que eles prossigam.

Entre grupos, se houver uma incompatibilidade nos destinos de upgrade em que o grupo downstream está em uma versão anterior (por exemplo, o grupo upstream fez upgrade de 1.24 para 1.25 e os clusters no grupo downstream estão em 1.23), é possível fazer upgrade manual dos clusters no grupo downstream para 1.24 ou 1.25, a fim de garantir que os upgrades continuem. Se o GKE fizer upgrade do grupo upstream para qualquer versão em que o grupo downstream esteja qualificado, o GKE fará upgrade dos clusters no grupo downstream para esse destino de upgrade. Nesse caso, não é necessário fazer upgrade manual dos clusters para desbloquear a sequência. Para mais informações, consulte O grupo upstream qualificou vários destinos de upgrade para o grupo downstream.

Destacar lançamentos parcialmente qualificados

Se os upgrades de cluster em um grupo não forem concluídos devido a problemas de qualificação de lançamento (por exemplo, discrepâncias de versão em um grupo), você poderá remover os clusters não qualificados para a meta de upgrade de um grupo para concluir o lançamento da versão e iniciar o tempo de permanência ou avançar para o próximo grupo na sequência de lançamento. Também é possível remover um cluster de um grupo por outros motivos, por exemplo, se o uso dele não estiver mais relacionado aos outros clusters no grupo.

Siga as instruções para cancelar o registro de um cluster em uma frota ou remover clusters dos escopos, dependendo do tipo de sequência de lançamento.

Depois que você remover todos os clusters que estão impedindo a conclusão da implantação da versão de um grupo, o lançamento da versão do grupo será concluído. Confirme seguindo as instruções para verificar o status do lançamento de uma versão.

A seguir