Divisões de instâncias e reversões para conjuntos de trabalhadores do Cloud Run

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

  1. Na Google Cloud consola, aceda aos conjuntos de trabalhadores do Cloud Run:

    Aceda ao Cloud Run

  2. Localize o worker pool na lista e clique nele.

  3. Clique no separador Revisões para mostrar a lista de revisões atuais desse conjunto de trabalhadores.

  4. 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:

    1. Adicionar revisão e use a lista pendente para selecionar uma revisão anterior.
    2. Defina a percentagem de instâncias dessa revisão anterior para 100.
    3. Defina a percentagem da revisão de publicação mais recente como 0.
    4. 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

  1. Na Google Cloud consola, aceda aos conjuntos de trabalhadores do Cloud Run:

    Aceda ao Cloud Run

  2. Localize o worker pool na lista e clique nele.

  3. Clique no separador Revisões para mostrar a lista de revisões atuais para esse conjunto de trabalhadores.

  4. 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:

    1. Defina a percentagem da revisão de publicação mais recente para a divisão necessária, por exemplo, reduza-a de 100%.

    2. Clique em Adicionar revisão e use a lista pendente para selecionar uma revisão anterior e definir a respetiva divisão percentual.

    3. Para dividir instâncias com revisões adicionais, clique em Adicionar revisão, selecione outra revisão e defina a respetiva percentagem.

    4. 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-latest para 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-latest
    
  • Opcionalmente, use a flag --to-revisions com a palavra-chave LATEST para 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=PERCENTAGE
    

    Substitua 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?