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:
- Autorizações de registo de clusters, nos seus projetos de anfitrião da frota.
- Autorizações de administrador do cluster para todos os clusters do GKE a registar.
- Autorizações de registo de clusters entre projetos para que quaisquer clusters do GKE sejam registados numa frota num projeto diferente.
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.
- 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.
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 comandocreate
, pode usar os sinalizadores nas instruções para criar uma sequência de implementação.
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:
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.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 eSECOND_FLEET_PROJECT_ID
pelo ID do projeto do projeto anfitrião da frota.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 eTHIRD_FLEET_PROJECT_ID
pelo ID do projeto do projeto anfitrião da frota.
Frotas – consola
Aceda à página Sequência de implementações na Google Cloud consola.
Clique em Criar sequência de implementação.
No painel Crie uma sequência de implementação, selecione as duas primeiras frotas na sequência:
- Na secção Frota 1, selecione a primeira frota na sequência.
- 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.
- Na secção Frota 2, selecione a segunda frota na sequência.
- Clique em Criar.
Opcional: se quiser ter três ou mais frotas nesta sequência de implementação, siga os passos adicionais abaixo:
- No gráfico de implementação, clique no elemento da segunda frota.
- Clique em Adicionar frota a jusante.
- 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.
- Na secção Próxima frota na sequência, selecione a terceira frota na sequência.
- Clique em Guardar.
- 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:
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.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 eSECOND_FLEET_PROJECT_ID
pelo ID do projeto do projeto anfitrião da frota.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 eTHIRD_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:
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
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
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 representação visual de uma sequência de implementação na Google Cloud consola (apenas na pré-visualização, sequência de implementação baseada em frotas ).
- Use a CLI gcloud ou a API GKE Hub para verificar o estado de uma sequência de implementação.
Monitorize uma sequência de implementação na Google Cloud consola
Aceda à página Sequência de implementações na Google Cloud consola.
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
Aceda à página Sequência de implementações na Google Cloud consola.
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.
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.
Clique em
Editar tempo de imersão.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.
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 ouk8s_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
Aceda à página Sequência de implementações na Google Cloud consola.
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.
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:
- 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.
- Em cada uma das suas frotas, crie um ou mais âmbitos de equipa para subdividir o grupo de clusters nessa frota.
- Crie uma ou mais sequências de implementação entre os âmbitos das equipas correspondentes em cada frota.
- Adicione os seus clusters aos novos âmbitos da equipa.
- 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:
- 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.
- Crie uma sequência de implementação entre as suas frotas.
- 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.
- Eliminar os âmbitos da equipa.
- 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
Aceda à página Sequência de implementações na Google Cloud consola.
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.
No gráfico de implementação, clique no elemento da última frota.
Clique em
Remover frota.Para remover a frota, clique em Remover.
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.