Sequencie a implementação de atualizações de clusters


Esta página mostra como gerir as atualizações de clusters do GKE através da sequenciação de implementações. Para saber mais, consulte o artigo Acerca das atualizações de clusters com sequenciação de implementação.

Antes de começar

Antes de começar, certifique-se de que realizou as seguintes tarefas:

  • Ative a API Google Kubernetes Engine.
  • Ative a API Google Kubernetes Engine
  • Se quiser usar a CLI gcloud para esta tarefa, instale-a e, em seguida, inicialize-a. Se instalou anteriormente a CLI gcloud, execute gcloud components update para obter a versão mais recente.
  • Certifique-se de que ativou as APIs necessárias para frotas. Estas APIs têm de estar ativadas nos projetos anfitriões da frota para criar qualquer tipo de sequência de implementação.
  • Para ver instruções do Terraform, certifique-se de que usa a versão 5.13.0 ou posterior do fornecedor google.

Funções necessárias

Para criar ou modificar uma sequência de implementação, tem de lhe ser atribuída a função do IAM roles/gkehub.editor em cada projeto na sequência de implementação. A função Fleet Editor (anteriormente GKE Hub Editor) fornece as autorizações gkehub.features.create e gkehub.fleet.update, que são necessárias para aceder e modificar recursos relacionados com a frota entre projetos. Esta função concede as autorizações necessárias para definir a estratégia de atualização, aceder e modificar os recursos relevantes, bem como iniciar e gerir o processo de implementação.

Se precisar de registar ou anular o registo de clusters numa frota, precisa de todas as seguintes autorizações:

Para mais informações sobre as funções de IAM com o menor número de privilégios necessárias para diferentes tarefas, consulte Receba sugestões de funções predefinidas com a ajuda do Gemini.

Configure uma sequência de implementação

Este documento explica como criar uma sequência de implementação usando grupos de clusters organizados por frotas ou âmbitos de equipa. Este documento usa o termo grupo para se referir a frotas e âmbitos de equipa, porque pode criar uma sequência de implementação organizada com qualquer um dos métodos de agrupamento.

Pode criar uma sequência de até cinco grupos de clusters (três para uma sequência baseada em equipas) e escolher o tempo de teste de esforço máximo que quer após a conclusão das atualizações dos clusters num grupo (máximo de 30 dias). Pode incluir clusters do Autopilot e padrão.

Para criar uma sequência de implementação, os seus clusters têm de estar organizados em grupos de frotas ou âmbitos de equipa. Para orientações sobre como organizar os seus clusters, consulte o exemplo do banco comunitário. Depois de organizadas em grupos, pode criar uma sequência de implementação definindo as relações dos grupos a montante e o tempo de teste de cada grupo. A montante, numa sequência de implementação, refere-se ao grupo anterior e a jusante refere-se ao grupo seguinte.

Organize os seus clusters em grupos

Numa sequência de implementação, todos os clusters em todos os grupos têm de estar inscritos no mesmo canal de lançamento e ter a mesma versão secundária. Se estes requisitos não forem cumpridos e existirem discrepâncias de versões entre clusters, isto pode causar problemas com a implementação da versão. Para mais informações, consulte o artigo Elegibilidade para implementação.

Pode criar sequências de implementação entre frotas ou sequências de implementação entre os âmbitos da equipa de uma equipa (pré-visualização).

Como viu no artigo Acerca das atualizações de clusters com sequenciação de implementações, os âmbitos da equipa associam subconjuntos de clusters da frota a equipas de aplicações específicas. As seguintes limitações aplicam-se quando usa ou cria âmbitos de equipa para a sequência de implementação:

  • As sequências baseadas em equipas requerem clusters de posse única: por outras palavras, cada cluster individual está associado apenas a uma equipa. Os clusters partilhados (que são suportados na gestão geral de equipas de frotas) não são suportados para a sequenciação da implementação.

  • Cada âmbito da equipa tem de estar numa frota diferente para criar uma sequência de implementação entre eles. A criação de uma sequência de implementação entre diferentes âmbitos de equipa na mesma frota não é suportada.

Se já organizou os seus clusters em grupos, pode ignorar os passos seguintes e avançar para Criar uma sequência de implementação.

Fleets

Para criar uma sequência de implementação baseada na frota, primeiro tem de agrupar os clusters em frotas. Pode organizar os seus clusters por ambientes de implementação, como testes, preparação e produção, conforme mostrado na sequência de implementação baseada na frota de exemplo.

Registe cada cluster numa frota com base no agrupamento escolhido.

Equipas

Para criar uma sequência de implementação baseada em equipas, tem de agrupar os clusters em âmbitos de equipa. Para o fazer, primeiro, organize os seus clusters em frotas por ambientes de implementação, como testes, preparação e produção, conforme mostrado na sequência de implementação baseada no âmbito de exemplo. Em seguida, pode subdividir ainda mais os seus clusters em âmbitos para os clusters de diferentes equipas.

  1. Para cada cluster na sequência, registe o cluster numa frota. O cluster deve estar registado na frota no projeto onde vai criar o âmbito da equipa para este cluster. Se quiser registar um cluster numa frota num projeto anfitrião diferente, certifique-se de que definiu as autorizações necessárias para o registo entre projetos.
  2. Crie 2 a 3 âmbitos de equipa para organizar os seus clusters. Crie cada âmbito no projeto anfitrião da frota respetiva da equipa. Pode ter até três âmbitos de equipa numa sequência de implementação.

    Consulte a referência para gcloud container fleet scopes create para ver uma lista completa de flags. Com o comando create, pode usar os sinalizadores nas instruções para criar uma sequência de implementação.

  3. Adicione cada cluster a um âmbito.

Crie uma sequência de implementação

Uma sequência de implementação é organizada como uma lista ligada com até cinco elementos.

Quando cria uma sequência de implementação, define as seguintes propriedades para cada grupo de clusters, seja um âmbito de frota ou de equipa:

  • Grupo a montante: o âmbito da frota ou da equipa a montante, que qualifica as novas versões para o grupo a jusante. Não define um grupo a montante para o primeiro grupo numa sequência.
  • Tempo de saturação: o tempo de saturação de um grupo é o tempo entre a conclusão das atualizações (ou a implementação tiver demorado 30 dias) e o início das atualizações no grupo a jusante. Para saber mais, consulte o artigo Como funciona a qualificação de versões numa sequência de implementação.

Frotas – gcloud

As instruções seguintes usam o comando gcloud container fleet clusterupgrade update. No entanto, pode definir as mesmas propriedades com o comando gcloud container fleet clusterupgrade create .

Para cada um dos seguintes comandos, substitua SOAK_TIME pelo tempo de saturação da frota que está a atualizar.

Crie uma sequência de implementação:

  1. Defina o tempo de teste de estabilidade para a 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 do projeto anfitrião da frota.

  2. Defina a frota a montante e o tempo de teste de stress para a 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 projeto do projeto anfitrião da primeira frota e SECOND_FLEET_PROJECT_ID pelo ID do projeto do projeto anfitrião da frota.

  3. Opcional: se quiser ter mais de duas frotas numa sequência de implementação, defina a frota a montante para as frotas seguintes na sequência.

    O seguinte comando define a frota a montante para a terceira frota na sequência. Se quiser adicionar uma quarta ou quinta frota, repita este passo, seguindo o mesmo padrão para substituir as variáveis pelos IDs dos projetos dos anfitriões das frotas respetivas (frota anterior e frota seguinte).

    Defina a frota a montante 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 do projeto anfitrião da segunda frota e THIRD_FLEET_PROJECT_ID pelo ID do projeto do projeto anfitrião da frota.

Frotas – consola

  1. Aceda à página Sequência de implementações na Google Cloud consola.

    Aceda a Sequência de implementação

  2. Clique em Criar sequência de implementação.

  3. No painel Crie uma sequência de implementação, selecione as duas primeiras frotas na sequência:

    1. Na secção Frota 1, selecione a primeira frota na sequência.
    2. Na secção Tempo de teste para a frota a montante, defina o tempo de teste para a primeira frota através dos campos Dias, Horas e Minutos.
    3. Na secção Frota 2, selecione a segunda frota na sequência.
    4. Clique em Criar.
  4. Opcional: se quiser ter três ou mais frotas nesta sequência de implementação, siga os passos adicionais abaixo:

    1. No gráfico de implementação, clique no elemento da segunda frota.
    2. Clique em Adicionar frota a jusante.
    3. Na secção Tempo de teste de estabilidade para a frota a montante, defina o tempo de teste de estabilidade para a segunda frota através dos campos Dias, Horas e Minutos.
    4. Na secção Próxima frota na sequência, selecione a terceira frota na sequência.
    5. Clique em Guardar.
    6. Repita os passos anteriores se quiser adicionar uma quarta ou quinta frota.

Frotas – Terraform

Esta secção mostra como criar uma sequência baseada na frota com o Terraform. Também pode usar este 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 seguintes comandos, substitua SOAK_TIME pelo tempo de saturação da frota que está a atualizar.

Crie uma sequência de implementação:

  1. Adicione o seguinte bloco à configuração do Terraform para definir o tempo de teste de stress 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 do projeto anfitrião da frota.

  2. Adicione o seguinte bloco à configuração do Terraform para definir a frota a montante e o tempo de teste de stress 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 projeto do projeto anfitrião da primeira frota e SECOND_FLEET_PROJECT_ID pelo ID do projeto do projeto anfitrião da frota.

  3. Opcional: se quiser ter três frotas numa sequência de implementação, adicione o bloco seguinte à configuração do Terraform para definir a frota a montante para a frota 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 do projeto anfitrião da segunda frota e THIRD_FLEET_PROJECT_ID pelo ID do projeto do projeto anfitrião da frota.

    Repita este passo se quiser adicionar uma quarta ou quinta frota.

Equipas – gcloud

Pode definir estas propriedades quando cria ou atualiza um âmbito da equipa. As seguintes instruções usam o comando gcloud container fleet scopes update. No entanto, pode definir as mesmas propriedades quando cria um âmbito de equipa com o comando gcloud container fleet scopes create.

Para cada um destes comandos, substitua o seguinte:

  • As variáveis com o nome do âmbito da equipa respetivo ou o ID do projeto anfitrião do grupo de veículos do âmbito da equipa.
  • O SOAK_TIME com o tempo de preparação para o âmbito da equipa que está a atualizar.

Crie uma sequência de implementação:

  1. Defina o tempo de saturação para o primeiro âmbito 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 âmbito a montante e o tempo de saturação para o segundo âmbito 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 quiser ter três âmbitos de equipa numa sequência de implementação, defina o âmbito a montante para o terceiro âmbito 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
    

Verifique o estado de uma sequência de implementação

Pode verificar o estado de uma sequência de implementação com qualquer um dos seguintes métodos:

Monitorize uma sequência de implementação na Google Cloud consola

  1. Aceda à página Sequência de implementações na Google Cloud consola.

    Aceda a Sequência de implementação

  2. Veja a sequência na secção Monitorize a sequência de implementação. Se não vir uma sequência de implementação, mude para uma sequência de implementação diferente ou crie uma sequência de implementação, se ainda não o tiver feito.

Como usar a consola para monitorizar uma sequência de implementação

Nesta página, pode ver a sequência de implementação associada à frota do seu projeto. Pode fazer o seguinte para ver o progresso de uma sequência de implementação:

  • Veja a sequência de implementação completa ou os estados de frotas individuais e clusters nessas frotas, bem como o tempo de teste entre frotas. Também pode ver a sequência onde não existe uma atualização ativa, se quiser verificar a configuração da sequência.
  • Filtre por tipo de atualização (atualização do painel de controlo ou do nó) e versão específica (por exemplo, 1.31.6-gke.500).

Pode monitorizar visualmente toda a sequência de implementação enquanto o GKE atualiza todos os clusters na sequência, validando uma nova versão em todos os ambientes antes de atualizar os clusters do ambiente de produção. Durante a monitorização, pode gerir uma sequência de implementação com a CLI gcloud, fazendo as alterações necessárias.

Mude para uma sequência de implementação diferente

Esta página mostra a sequência de implementação baseada na frota se o projeto ativo na Google Cloud consola for um projeto de anfitrião da frota para uma frota inscrita numa sequência de implementação.

Se quiser ver uma sequência de implementação diferente, selecione um projeto anfitrião da frota associado a uma sequência de implementação diferente no selecionador de projetos na parte superior da página.

Use a CLI gcloud

Use estes comandos nas secções seguintes para verificar o progresso das atualizações numa sequência de implementação. Para saber mais acerca dos detalhes fornecidos, consulte as informações de estado de uma sequência de implementação

Para executar estes comandos, certifique-se de que tem as autorizações necessárias para cada projeto anfitrião da frota. Por exemplo, se a sequência tiver âmbitos entre projetos em diferentes frotas, precisa de autorizações em cada projeto para descrever a sequência.

Para os seguintes comandos, se só precisar de informações sobre uma frota ou um âmbito na sequência, substitua a flag --show-linked-cluster-upgrade por --show-cluster-upgrade.

Fleets

Verifique o estado de uma sequência de implementação baseada na frota:

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

Substitua FLEET_PROJECT_ID pelo ID do projeto do projeto anfitrião para qualquer frota na sequência.

Consulte a referência gcloud container fleet clusterupgrade describe para ver uma lista completa de flags.

Equipas

Verifique o estado de uma sequência de implementação baseada em equipas:

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

Substitua SCOPE_NAME pelo nome de qualquer âmbito da equipa na sequência de implementação e SCOPE_PROJECT_ID pelo ID do projeto deste âmbito da equipa.

Consulte a referência para gcloud container fleet scopes describe para ver uma lista completa de flags.

Para ver o estado dos clusters individuais no âmbito de uma frota ou de uma equipa, execute o comando seguinte no projeto anfitrião da frota e consulte a secção membershipStates:

gcloud container fleet features describe clusterupgrade

Informações de estado de uma sequência de implementação

Quando verifica o estado da implementação de uma versão, pode ver o progresso de cada grupo e cluster nesse grupo.

Consulte a tabela seguinte para ver os potenciais estados de um cluster ou um grupo:

Estado Para um único cluster Para um grupo (âmbito da frota ou da equipa)
INELIGIBLE Este cluster não é elegível para esta atualização Um ou mais clusters neste grupo não são elegíveis para esta atualização.
PENDENTE A atualização está pendente no cluster ou em alguns dos respetivos grupos de nós ou node pools padrão num cluster do Autopilot. A atualização não foi iniciada em nenhum dos clusters do grupo.
IN_PROGRESS A atualização está em curso no cluster. A atualização foi iniciada em, pelo menos, um cluster, mas não foi concluída em todos os clusters.
SOAKING A atualização foi concluída no cluster, mas ainda não foi totalmente aplicada. A atualização foi concluída em todos os clusters e não foi concluída a fase de estabilização.
FORCED_SOAKING A atualização demorou mais do que o tempo máximo de atualização (30 dias) e, por isso, forçámos a entrada na fase de teste de estabilidade. A atualização pode continuar no cluster. A atualização demorou mais do que o tempo máximo de atualização (30 dias) e, por isso, forçámos a entrada na fase de teste de estabilidade. A atualização pode continuar nos clusters.
CONCLUIR A atualização é tratada como "concluída", o que significa que a atualização foi concluída neste cluster. A atualização é tratada como "concluída" e está pronta para ser consumida pelo grupo a jusante, o que significa que a atualização terminou o período de teste.

Na saída destes comandos, os atributosclusterUpgrade(s).spec eclusterUpgrade(s).state contêm informações adicionais sobre a atualização do cluster, como o tempo de imersão, as substituições da atualização do cluster e o estado da atualização.

Faça a gestão de uma sequência de implementação

Pode controlar as atualizações automáticas de clusters com a sequenciação da implementação de várias formas, explicadas nas secções seguintes.

Altere o tempo de saturação de um grupo

Pode alterar o tempo de teste de estabilidade predefinido para um grupo ou alterar o tempo de teste de estabilidade para quando esse grupo for atualizado para uma versão específica. O máximo é de 30 dias.

Atualize o tempo de permanência predefinido

Pode atualizar o tempo de espera predefinido na Google Cloud consola (Pré-visualização, implementação baseada na frota apenas na sequência ) ou com a CLI gcloud.

gcloud

Para alterar o tempo de espera predefinido de um grupo, use os comandos da CLI gcloud das instruções para criar uma sequência de implementação, omitindo as flags para definir o grupo a montante.

Frotas – consola

  1. Aceda à página Sequência de implementações na Google Cloud consola.

    Aceda a Sequência de implementação

  2. Veja a sequência na secção Monitorize a sequência de implementação. Se não vir uma sequência de implementação, mude para uma sequência de implementação diferente ou crie uma sequência de implementação, se ainda não o tiver feito.

  3. No gráfico de implementação, clique no elemento Tempo de teste após o elemento da frota onde quer atualizar o tempo de teste.

  4. Clique em Editar tempo de imersão.

  5. Na secção Defina um novo tempo de imersão, introduza um novo tempo de imersão através dos campos Dias, Horas e Minutos.

  6. Para guardar as definições, clique em Guardar.

Substitua o tempo de saturação predefinido

Pode alterar o tempo de teste de uma implementação de versão específica para ser diferente do tempo de teste predefinido do grupo. Por exemplo, se já tiver qualificado uma nova versão e estiver pronto para que as atualizações comecem no grupo seguinte, pode definir o tempo de teste de estabilidade como zero. Também pode usá-lo se quiser mais tempo do que o tempo de saturação predefinido para qualificar uma versão específica.

Uma vez que o tempo de saturação é definido por grupo, se quiser substituir o tempo de saturação de outros grupos nesta sequência, atualize-os através deste mesmo comando com o nome da frota ou do âmbito substituído, consoante o tipo de sequência.

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

  • SOAK_TIME: o tempo de preparação a usar que não o predefinido (por exemplo, "0d" se quiser ignorar o tempo de preparação para a implementação de uma versão).
  • UPGRADE_NAME: o tipo de atualização, k8s_control_plane para atualizações do plano de controlo ou k8s_node para atualizações de nós.
  • VERSION: a versão do GKE na qual quer substituir o tempo de teste de esforço predefinido depois de a versão (por exemplo, 1.25.2-gke.400) ter sido implementada neste grupo.

Frotas – gcloud

Execute este comando no projeto anfitrião da frota onde quer substituir o tempo de teste de esforço usado para a implementação da versão de uma versão específica.

Altere o tempo de imersão 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 à sua configuração do Terraform no bloco clusterupgrade para substituir o tempo de teste de stress usado para a implementação da versão de uma versão específica:

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

Equipas – gcloud

Execute este comando no projeto anfitrião da frota do âmbito da equipa. Substitua SCOPE_NAME pelo nome do âmbito da equipa para o qual quer substituir o tempo de saturação usado para a implementação da versão de uma versão específica.

Altere o tempo de saturação de um âmbito da equipa:

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

Atualize os grupos numa sequência de implementação

Pode atualizar uma sequência de implementação existente para adicionar, remover ou alterar a ordem dos grupos na sequência. Para fazer estas alterações, atualize as associações entre grupos.

Pode realizar estes passos na Google Cloud consola (pré-visualização, implementação baseada na frota apenas na sequência) ou com a CLI gcloud.

Frotas – gcloud

Use o comando gcloud container fleet clusterupgrade update com a flag --upstream-fleet para adicionar ou alterar frotas a montante. Use a flag --reset-upstream-fleet para remover uma frota a montante.

Pode realizar ações como as seguintes:

  • Adicione outra frota ao início da sequência de implementação adicionando uma frota a montante à primeira frota na sequência.
  • Altere a ordem das frotas na sequência de implementação alterando as associações de frotas a montante.
  • Remova a primeira frota na sequência de implementação removendo a frota a montante da segunda frota.

Frotas – consola

  1. Aceda à página Sequência de implementações na Google Cloud consola.

    Aceda a Sequência de implementação

  2. Veja a sequência na secção Monitorize a sequência de implementação. Se não vir uma sequência de implementação, mude para uma sequência de implementação diferente ou crie uma sequência de implementação, se ainda não o tiver feito.

  3. No gráfico de implementação, clique nos elementos das frotas existentes na sequência. Depois de clicar nesses elementos, pode realizar algumas das seguintes ações para fazer as alterações:

    • Clique em Adicionar frota a jusante.
    • Clique em Adicionar frota a montante.
    • Clique em Remover frota.

Pode realizar ações como as seguintes:

  • Adicione outra frota ao final da sequência de implementação adicionando uma frota a jusante à última frota na sequência.
  • Adicione outra frota ao início da sequência de implementação adicionando uma frota a montante à primeira frota na sequência.
  • Altere a ordem das frotas na sequência de implementação removendo frotas e, em seguida, adicionando-as novamente com uma frota a montante ou a jusante diferente.
  • Remova a primeira frota na sequência de implementação.
  • Remover a última frota na sequência de implementação.
  • Remover a frota intermédia na sequência de implementação, depois de remover a primeira ou a última frota na sequência.

Equipas – gcloud

Use o comando gcloud container fleet scopes update com a flag --upstream-scope para adicionar ou alterar os âmbitos da equipa a montante. Use a flag --reset-upstream-scope para remover um âmbito de equipa a montante.

Pode realizar ações como as seguintes:

  • Adicione outro âmbito da equipa ao início da sequência de implementação adicionando um âmbito da equipa a montante ao primeiro âmbito da equipa na sequência.
  • Altere a ordem dos âmbitos da equipa na sequência de implementação alterando as associações de âmbitos da equipa a montante.
  • Remova o primeiro âmbito da equipa na sequência de implementação removendo o âmbito da equipa a montante do segundo âmbito da equipa.

Atrasar a conclusão da implementação da versão do grupo

Se precisar de impedir temporariamente que um grupo conclua a implementação de uma nova versão nos respetivos clusters, pode adicionar uma exclusão de manutenção a qualquer um dos clusters que não tenham sido atualizados para a versão de destino. Isto pode pausar um grupo antes de passar para o respetivo tempo de imersão ou grupo a jusante durante um máximo de 30 dias. Após 30 dias, o grupo começa a absorver.

Também pode alterar o tempo de espera desse grupo para 30 dias para maximizar o tempo que a sequência de implementação espera antes de avançar para o grupo seguinte.

Se precisar de atrasar ainda mais o início das atualizações para o grupo seguinte, pode usar exclusões de manutenção para os clusters no grupo seguinte.

Alterne entre sequências de implementação baseadas na frota e na equipa

Pode alternar entre sequências baseadas na frota e sequências baseadas na equipa, ou entre sequências baseadas na equipa e sequências baseadas na frota. As instruções partem do princípio de que está a fazer a transferência entre sequências organizadas como as ilustradas nos diagramas de exemplo.

Frotas para equipas

Para alterar os seus clusters de uma sequência de implementação baseada na frota para uma sequência de implementação baseada na equipa, siga estes passos:

  1. Configure exclusões de manutenção para todos os clusters em cada uma das suas frotas para evitar atualizações enquanto estiver a modificar a configuração.
  2. Em cada uma das suas frotas, crie um ou mais âmbitos de equipa para subdividir o grupo de clusters nessa frota.
  3. Crie uma ou mais sequências de implementação entre os âmbitos das equipas correspondentes em cada frota.
  4. Adicione os seus clusters aos novos âmbitos da equipa.
  5. Remover as exclusões de manutenção que configurou para esta alteração.

De equipas a frotas

Para alterar os seus clusters de uma sequência de implementação baseada em equipas para uma sequência de implementação baseada em frota, siga estes passos:

  1. Configure exclusões de manutenção para todos os clusters em cada uma das suas frotas para evitar atualizações enquanto modifica a configuração.
  2. Crie uma sequência de implementação entre as suas frotas.
  3. Remova os seus clusters dos respetivos âmbitos da equipa. Agora, estes clusters só estão registados nas respetivas frotas do âmbito que, no passo anterior, juntou numa sequência de implementação.
  4. Eliminar os âmbitos da equipa.
  5. Remover as exclusões de manutenção que configurou para esta alteração.

Elimine uma sequência

Para eliminar uma sequência, remove as associações a montante de cada um dos grupos, exceto do primeiro grupo. O primeiro grupo não tem um grupo a montante.

Pode realizar estes passos na Google Cloud consola (pré-visualização, implementação baseada na frota apenas na sequência) ou com a CLI gcloud.

Frotas – gcloud

Execute o seguinte comando no projeto de anfitrião da frota de cada uma das frotas na sequência de implementação, excluindo a primeira frota:

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

Frotas – consola

  1. Aceda à página Sequência de implementações na Google Cloud consola.

    Aceda a Sequência de implementação

  2. Veja a sequência na secção Monitorize a sequência de implementação. Se não vir uma sequência de implementação, mude para uma sequência de implementação diferente ou crie uma sequência de implementação, se ainda não o tiver feito.

  3. No gráfico de implementação, clique no elemento da última frota.

  4. Clique em Remover frota.

  5. Para remover a frota, clique em Remover.

  6. Repita os três passos anteriores até ficar apenas a primeira frota.

Equipas – gcloud

Execute o seguinte comando no projeto de anfitrião da frota do segundo e terceiro âmbito da equipa na sequência de implementação:

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

Substitua SCOPE_NAME pelos nomes do segundo e terceiro âmbitos, respetivamente.

Resolução de problemas

Resolva problemas de elegibilidade para a implementação

Se todos os clusters numa sequência de implementação não tiverem o mesmo destino de atualização, o GKE pode não conseguir avançar com as atualizações de clusters. As atualizações automáticas não podem avançar se um grupo a montante não qualificar um alvo de atualização para passar para o grupo a jusante. As atualizações automáticas também não podem prosseguir se os clusters no grupo a montante se qualificarem como um destino de atualização inválido para os clusters no grupo a jusante.

Para verificar se a sequência de implementação tem problemas de elegibilidade de implementação, verifique o estado da sequência de implementação. Se um grupo for inelegível, siga as instruções para ver o estado dos clusters individuais num grupo.

Para avançar imediatamente com as atualizações de clusters, remova todos os clusters com o estado INELIGIBLE seguindo as instruções para avançar implementações parcialmente elegíveis.

Corrija a elegibilidade num grupo

Num grupo, se um cluster não for elegível porque está numa versão anterior (por exemplo, a maioria dos clusters no grupo está a ser atualizada da versão 1.23 para a 1.24 e um cluster está na versão 1.22), pode atualizar manualmente o cluster para a versão 1.24 para resolver a discrepância de versões.

Num grupo, o GKE ignora os clusters em versões posteriores à versão de destino da atualização automática. Estes clusters não impedem que as atualizações sejam processadas para o grupo a jusante.

Corrija a elegibilidade entre grupos

Entre grupos, se existir uma incompatibilidade nos destinos de atualização em que o grupo a jusante está numa versão mais recente (por exemplo, o grupo a montante foi atualizado da versão 1.23 para a 1.24 e os clusters no grupo a jusante estão na versão 1.25), pode atualizar manualmente os clusters no grupo a montante para a versão 1.25 para garantir que as atualizações prosseguem.

Entre grupos, se existir uma incompatibilidade nos destinos de atualização em que o grupo a jusante está numa versão anterior (por exemplo, o grupo a montante foi atualizado da versão 1.24 para a 1.25 e os clusters no grupo a jusante estão na versão 1.23), pode atualizar manualmente os clusters no grupo a jusante para a versão 1.24 ou 1.25 para garantir que as atualizações prosseguem. Se o GKE tiver atualizado o grupo a montante para qualquer versão para a qual o grupo a jusante seja elegível, o GKE atualiza os clusters no grupo a jusante para esse destino de atualização. Nesta situação, não precisa de atualizar manualmente os clusters para desbloquear a sequência. Para mais informações, consulte o artigo O grupo a montante qualificou vários destinos de atualização para o grupo a jusante.

Faça avançar implementações parcialmente elegíveis

Se as atualizações de clusters num grupo não forem concluídas devido a problemas com a elegibilidade de implementação (por exemplo, discrepâncias de versões num grupo), pode remover clusters que não sejam elegíveis para o destino de atualização do grupo para concluir a implementação de versões e iniciar o período de teste ou avançar para o grupo seguinte na sequência de implementação. Também pode remover um cluster de um grupo por outros motivos, por exemplo, se a utilização deste cluster já não estiver relacionada com os outros clusters do grupo.

Siga as instruções para anular o registo de um cluster numa frota ou remover clusters dos âmbitos da equipa, consoante o tipo de sequência de implementação.

Depois de remover todos os clusters que estão a impedir a conclusão da implementação da versão de um grupo, a implementação da versão do grupo é concluída. Confirme esta situação seguindo as instruções para verificar o estado da implementação de uma versão.

O que se segue?