Os conjuntos de trabalhadores processam cargas de trabalho que não são de pedidos. Para exemplos de utilização que precisam de dividir o trabalho entre várias revisões, como a implementação de uma nova revisão, os conjuntos de trabalhadores usam a divisão de instâncias.
O Cloud Run permite-lhe especificar que revisões recebem instâncias e especificar percentagens de atribuição de instâncias para cada revisão. Esta funcionalidade permite-lhe reverter para uma revisão anterior, dividir instâncias entre várias revisões e atribuir instâncias à revisão mais recente. Esta página descreve como usar esta funcionalidade para gerir a atribuição de instâncias às suas revisões do Cloud Run.
Os ajustes de atribuição de instâncias não são instantâneos. Quando altera a atribuição de instâncias para revisões, todos os pedidos em processamento continuam até à conclusão. As solicitações em curso não são ignoradas, e o Cloud Run pode direcionar estas solicitações para uma nova revisão ou uma revisão anterior durante o período de transição.
Ciclo de vida das divisões de instâncias
Se dividir instâncias entre várias revisões ou atribuir instâncias a uma revisão anterior, todas as implementações subsequentes usam esse padrão de divisão de instâncias no futuro. Para voltar a usar apenas a revisão mais recente sem dividir as instâncias, envie todas as instâncias para a revisão mais recente.
Funções necessárias
Para receber as autorizações de que
precisa para gerir revisões e pools de trabalhadores do Cloud Run,
peça ao seu administrador para lhe conceder a função de IAM de
programador do Cloud Run (roles/run.developer)
no seu pool de trabalhadores do Cloud Run.
Para ver uma lista de funções e autorizações de IAM associadas ao Cloud Run, consulte os artigos Funções de IAM do Cloud Run e Autorizações de IAM do Cloud Run. Se o seu conjunto de trabalhadores do Cloud Run interage com Google Cloud APIs, como as bibliotecas de clientes da nuvem, consulte o guia de configuração da identidade do serviço. Para mais informações sobre a atribuição de funções, consulte as autorizações de implementação e faça a gestão do acesso.
Reverta para uma revisão anterior
Para reverter para uma revisão anterior, use a Google Cloud consola ou a Google Cloud CLI:
Consola
Na Google Cloud consola, aceda aos conjuntos de trabalhadores do Cloud Run:
Localize o worker pool na lista e clique nele.
Clique no separador Revisões para mostrar a lista de revisões atuais desse conjunto de trabalhadores.
Clique em Gerir divisões de instâncias para apresentar o formulário de gestão de instâncias. O Cloud Run apresenta a revisão de publicação mais recente. No formulário, configure os seguintes detalhes:
- Adicionar revisão e use a lista pendente para selecionar uma revisão anterior.
- Defina a percentagem de instâncias dessa revisão anterior para 100.
- Defina a percentagem da revisão de publicação mais recente como 0.
- Clique em Guardar.
gcloud
Especifique as revisões para as quais quer reverter executando o seguinte comando.
gcloud beta run worker-pools update-instance-split WORKER_POOL --to-revisions=REVISION=100
Substitua o seguinte:
- WORKER_POOL: o nome do conjunto de trabalhadores.
- REVISION: o nome da revisão para a qual está a reverter.
Divida instâncias entre várias revisões
Para dividir instâncias entre duas ou mais revisões, use a Google Cloud consola ou a Google Cloud CLI:
Quando divide instâncias entre várias revisões, certifique-se de que a percentagem total em todas as revisões é igual a 100% e que o número de instâncias manuais tem de ser superior ao número de divisões de instâncias que publicam a carga de trabalho.
Consola
Na Google Cloud consola, aceda aos conjuntos de trabalhadores do Cloud Run:
Localize o worker pool na lista e clique nele.
Clique no separador Revisões para mostrar a lista de revisões atuais para esse conjunto de trabalhadores.
Clique em Gerir divisões de instâncias para apresentar o formulário de gestão de instâncias. O Cloud Run apresenta a revisão de publicação mais recente. No formulário, configure os seguintes detalhes:
Defina a percentagem da revisão de publicação mais recente para a divisão necessária, por exemplo, reduza-a de 100%.
Clique em Adicionar revisão e use a lista pendente para selecionar uma revisão anterior e definir a respetiva divisão percentual.
Para dividir instâncias com revisões adicionais, clique em Adicionar revisão, selecione outra revisão e defina a respetiva percentagem.
Clique em Guardar.
gcloud
Especifique as revisões e a percentagem de instâncias executando o seguinte comando. Atribua instâncias para cada revisão numa lista delimitada por vírgulas:
gcloud beta run worker-pools update-instance-split WORKER_POOL --to-revisions=LIST
Substitua o seguinte:
WORKER_POOL: o nome do conjunto de trabalhadores.
LIST: lista de revisões separada por vírgulas e percentagens:
REVISION1=PERCENTAGE1,REVISION2=PERCENTAGE2,REVISIONn=PERCENTAGEx.
Por exemplo,
my-worker-pool-s5sxn=10,my-worker-pool-cp9kw=90.
Atribua instâncias à revisão mais recente
Quando implementa uma nova revisão, pode atribuir 100% das instâncias a esta revisão e a todas as futuras, substituindo qualquer divisão de instâncias estabelecida. Para atribuir 100% das instâncias à revisão mais recente, execute os seguintes comandos:
Use a flag
--to-latestpara direcionar 100% das instâncias para a revisão mais recente e alocar automaticamente todas as instâncias a qualquer nova revisão que implementar:gcloud beta run worker-pools update-instance-split WORKER_POOL --to-latestOpcionalmente, use a flag
--to-revisionscom a palavra-chaveLATESTpara sempre atribuir uma percentagem flutuante de instâncias à revisão mais recente quando implementar uma. Para definir uma percentagem de instâncias que flutuam sempre para a revisão mais recente, execute o seguinte comando:gcloud beta run worker-pools update-instance-split WORKER_POOL --to-revisions=LATEST=PERCENTAGESubstitua o seguinte:
- WORKER_POOL: o nome do conjunto de trabalhadores.
- PERCENTAGE: a percentagem de instâncias a atribuir às revisões mais recentes e futuras.
O que se segue?
- Saiba como usar o Cloud Deploy para configurar um pipeline de fornecimento contínuo para implementação no Cloud Run.