Esta página descreve como configurar o comando de ponto de entrada e os argumentos para um conjunto de trabalhadores do Cloud Run.
Quando o Cloud Run inicia um contentor, executa o comando de ponto de entrada predefinido da imagem e os argumentos de comando predefinidos. Se quiser substituir o ponto de entrada predefinido e os argumentos de comando da imagem, pode usar os campos command
e args
na configuração do contentor. O campo command
especifica o comando real executado pelo contentor. O campo args
especifica os argumentos transmitidos a esse comando.
Tenha em atenção que pode ter um máximo de 1000 argumentos por contentor para cada conjunto de trabalhadores.
Funções necessárias
Para receber as autorizações de que precisa para configurar e implementar pools de trabalhadores do Cloud Run, peça ao seu administrador que lhe conceda as seguintes funções da IAM:
-
Programador do Cloud Run (
roles/run.developer
) no conjunto de trabalhadores do Cloud Run -
Utilizador da conta de serviço (
roles/iam.serviceAccountUser
) na identidade do serviço
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.
Configure o ponto de entrada e os argumentos
Qualquer alteração de configuração leva à criação de uma nova revisão. As revisões subsequentes também vão receber automaticamente esta definição de configuração, a menos que faça atualizações explícitas para a alterar.
O comando e os argumentos do contentor especificados substituem a imagem predefinida
ENTRYPOINT
e CMD
.
Pode definir o comando e os argumentos do ponto de entrada para um conjunto de trabalhadores do Cloud Run através da Google Cloud consola, da Google Cloud CLI ou do Terraform:
Consola
Na Google Cloud consola, aceda ao Cloud Run:
Selecione Grupos de trabalhadores no menu e clique em Implementar contentor para configurar um novo grupo de trabalhadores. Se estiver a configurar um conjunto de trabalhadores existente, clique no conjunto de trabalhadores e, de seguida, em Editar e implementar nova revisão.
Se estiver a configurar um novo conjunto de trabalhadores, preencha a página inicial do conjunto de trabalhadores e, em seguida, clique em Recipientes, volumes, rede, segurança para expandir a página de configuração dos conjuntos de trabalhadores.
Clique no separador Contentor.
- Especifique o comando que quer que o contentor execute se não quiser usar o comando de ponto de entrada definido na imagem do contentor. Opcionalmente, especifique os argumentos para o comando entrypoint.
Clique em Criar ou Implementar.
gcloud
Para atualizar o comando de início e os argumentos de um serviço existente:
gcloud beta run worker-pools update WORKER_POOL --command COMMAND --args ARG1,ARG-N
Substitua o seguinte:
- WORKER_POOL: o nome do conjunto de trabalhadores.
- COMMAND: o comando com o qual o contentor é iniciado, se não estiver a usar o comando predefinido.
- ARG1: o argumento que está a enviar para o comando do contentor. Use uma lista delimitada por vírgulas para mais de um argumento.
Para especificar o ponto de entrada e os argumentos durante a implementação de um conjunto de trabalhadores novo ou existente:
gcloud beta run worker-pools deploy --image IMAGE_URL --command COMMAND --args ARG1,ARG-N
Substitua IMAGE_URL por uma referência à imagem do contentor que contém o conjunto de trabalhadores, como us-docker.pkg.dev/cloudrun/container/worker-pool:latest
.
Se quiser restaurar as predefinições do contentor para os comandos e os argumentos do ponto de entrada, forneça strings vazias da seguinte forma:
gcloud beta run worker-pools deploy --image IMAGE_URL --command "" --args ""
Terraform
Para saber como aplicar ou remover uma configuração do Terraform, consulte os comandos básicos do Terraform.
resource "google_cloud_run_v2_worker_pool" "default" {
name = "WORKER_POOL"
location = "REGION"
launch_stage = "BETA"
template {
containers {
image = "IMAGE_URL"
command = ["COMMAND"]
args = ["ARG1", "ARG2"]
}
}
}
Substitua o seguinte:
- WORKER_POOL: o nome do conjunto de trabalhadores.
- REGION: a Google Cloud região, por exemplo,
europe-west1
. - IMAGE_URL: uma referência à imagem do contentor que contém o conjunto de trabalhadores, como
us-docker.pkg.dev/cloudrun/container/worker-pool:latest
. - COMMAND: o comando com o qual o contentor é iniciado, se não estiver a usar o comando predefinido.
- ARG1, ARG2: os argumentos que está a enviar para o comando do contentor.
Configure a ordem de início do contentor para implementações de sidecar
Para especificar a ordem de arranque do contentor numa implementação sidecar, use a funcionalidade de dependências de contentores. Especifique os contentores que têm dependências e liste os contentores dos quais dependem, para que esses contentores sejam iniciados primeiro. Os contentores que não têm dependências são sempre iniciados primeiro e em simultâneo.
Para usar esta funcionalidade com êxito, tem de usar sondas de verificação do estado de funcionamento do arranque. A análise de arranque permite ao Cloud Run inspecionar o estado de um contentor dependente, garantindo que é aprovado com êxito antes de iniciar o contentor seguinte. Se não usar verificações de saúde, os contentores são iniciados na ordem especificada, mesmo que os contentores dos quais dependem não sejam iniciados.
Tenha em atenção que não existe uma sondagem de verificação de estado de arranque predefinida para grupos de trabalhadores.
Use a Google Cloud consola ou a Google Cloud CLI para especificar a ordem de arranque:
Consola
Na Google Cloud consola, aceda à página do Cloud Run:
- Selecione Conjuntos de trabalhadores no menu.
- Para um conjunto de trabalhadores existente, clique no conjunto de trabalhadores na lista e selecione Editar e implementar nova revisão para apresentar o formulário de implementação de revisões.
- Para um novo conjunto de trabalhadores, clique em Implementar contentor para apresentar o formulário Criar conjunto de trabalhadores.
Para um novo conjunto de trabalhadores, especifique o nome do conjunto de trabalhadores, o URL do contentor de entrada, a atribuição de CPU, o controlo de entrada e a autenticação. No separador Contentores, volumes, trabalhar em rede, segurança, faça o seguinte:
- Configure o contentor de entrada.
- Para adicionar cada um dos outros contentores que está a implementar, clique em Adicionar contentor.
- Para todos os contentores, exceto o contentor de entrada, configure uma verificação de funcionamento de arranque.
- Se um contentor tiver de ser iniciado após outros contentores, selecione esses contentores no menu Ordem de início do contentor.
Para um conjunto de trabalhadores existente, siga estes passos:
- Para todos os contentores, exceto o contentor de entrada, configure uma verificação de funcionamento de arranque.
- Cada contentor é apresentado com o seu próprio menu de Ordem de arranque do contentor. Se um contentor precisar que outros contentores sejam iniciados primeiro antes de poder ser iniciado, use o menu Ordem de início do contentor para selecionar os contentores que têm de ser iniciados primeiro.
Conclua todas as outras configurações necessárias e, de seguida, clique em Criar para um novo conjunto de trabalhadores ou em Implementar para um conjunto de trabalhadores existente. Aguarde até que a implementação esteja concluída.
gcloud
Antes de usar a Google Cloud CLI para especificar a ordem de arranque, configure uma verificação de estado de arranque.
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Para implementar vários contentores num serviço com uma ordem de arranque especificada, execute o comando:
- WORKER_POOL: o nome do conjunto de trabalhadores.
- IMAGE_URL: uma referência à imagem do contentor que contém o conjunto de trabalhadores, como
us-docker.pkg.dev/cloudrun/container/worker-pool:latest
. SIDECAR_IMAGE: uma referência à imagem do contentor auxiliar.
Se quiser configurar cada contentor no comando de implementação, forneça a configuração de cada contentor após os parâmetros
container
.
gcloud beta run worker-pools deploy WORKER_POOL \ --container CONTAINER_1_NAME --image='WORKER_POOL_IMAGE' --container CONTAINER_2_NAME --image='SIDECAR_IMAGE' --depends-on=CONTAINER_1_NAME \ --container CONTAINER_3_NAME --image='SIDECAR_IMAGE' --depends-on=CONTAINER_1_NAME,CONTAINER_2_NAME
Substitua o seguinte:
Veja a configuração do contentor para o conjunto de trabalhadores
Na Google Cloud consola, aceda ao Cloud Run:
Clique em Grupos de trabalhadores para apresentar a lista de grupos de trabalhadores implementados.
Clique no conjunto de trabalhadores que quer examinar para apresentar o respetivo painel de detalhes.
Clique no separador Contentores para apresentar a configuração do contentor do conjunto de trabalhadores.