Nesta página, descrevemos como configurar o comando e os argumentos do ponto de entrada para um pool de trabalhadores do Cloud Run.
Quando o Cloud Run inicia um contêiner, ele executa o comando entrypoint padrão e os argumentos de comando padrão da imagem. Se você quiser modificar os argumentos de ponto de entrada e comando padrão da imagem, use os campos command
e args
na configuração do contêiner. O campo command
especifica o comando real executado pelo contêiner. O campo args
especifica os argumentos passados para esse comando.
Você pode ter no máximo 1.000 argumentos por contêiner para cada pool de workers.
Funções exigidas
Para receber as permissões necessárias para configurar e implantar pools de trabalhadores do Cloud Run, peça ao administrador para conceder a você os seguintes papéis do IAM:
-
Desenvolvedor do Cloud Run (
roles/run.developer
) no pool de worker do Cloud Run -
Usuário da conta de serviço (
roles/iam.serviceAccountUser
) na identidade do serviço
Para uma lista de papéis e permissões do IAM associados ao Cloud Run, consulte Papéis do IAM do Cloud Run e Permissões do IAM do Cloud Run. Se o pool de trabalhadores do Cloud Run interagir com APIs doGoogle Cloud , como as bibliotecas de cliente do Cloud, consulte o guia de configuração de identidade de serviço. Para mais informações sobre como conceder papéis, consulte permissões de implantação e gerenciar acesso.
Configurar ponto de entrada e argumentos
Qualquer mudança na configuração leva à criação de uma nova revisão. As próximas revisões também recebem automaticamente essa configuração, a menos que você faça atualizações explícitas para alterá-la.
O comando e os argumentos do contêiner especificados modificam as imagens padrão
ENTRYPOINT
e CMD
.
É possível definir comandos e argumentos de ponto de entrada para um pool de trabalhadores do Cloud Run usando o consoleGoogle Cloud , a Google Cloud CLI ou o Terraform:
Console
No Google Cloud console, acesse o Cloud Run:
Selecione Pools de workers no menu e clique em Implantar contêiner para configurar um novo pool de workers. Se você estiver configurando um pool de workers atual, clique nele e em Editar e implantar nova revisão.
Se você estiver configurando um novo pool de workers, preencha a página inicial do pool e clique em Contêineres, volumes, Rede e segurança para expandir a página de configuração de pools de workers.
Clique na guia Contêiner.
- Especifique o comando que você quer que o contêiner execute se não quiser usar o comando do ponto de entrada definido na imagem do contêiner. Opcionalmente, especifique os argumentos para o comando de ponto de entrada.
Clique em Criar ou Implantar.
gcloud
Para atualizar o comando e os argumentos de inicialização de um serviço, faça o seguinte:
gcloud beta run worker-pools update WORKER_POOL --command COMMAND --args ARG1,ARG-N
Substitua:
- WORKER_POOL: o nome do pool de workers.
- COMMAND: o comando com que o contêiner é iniciado, se você não estiver usando o comando padrão.
- ARG1: o argumento que você está enviando para o comando do contêiner. Use uma lista delimitada por vírgulas para mais de um argumento.
Para especificar o ponto de entrada e os argumentos durante a implantação de um pool 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 de contêiner que
contém o pool de workers, como us-docker.pkg.dev/cloudrun/container/worker-pool:latest
.
Se quiser restaurar os padrões do contêiner para os comandos e argumentos do ponto de entrada, forneça strings vazias da seguinte maneira:
gcloud beta run worker-pools deploy --image IMAGE_URL --command "" --args ""
Terraform
Para saber como aplicar ou remover uma configuração do Terraform, consulte 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:
- WORKER_POOL: o nome do pool de workers.
- REGION: a região Google Cloud , por exemplo,
europe-west1
. - IMAGE_URL: uma referência à imagem de contêiner que
contém o pool de workers, como
us-docker.pkg.dev/cloudrun/container/worker-pool:latest
. - COMMAND: o comando com que o contêiner é iniciado, se você não estiver usando o comando padrão.
- ARG1, ARG2: os argumentos que você está enviando para o comando do contêiner.
Configurar ordem de inicialização do contêiner para implantações sidecar
Para especificar a ordem de inicialização do contêiner em uma implantação sidecar, use o recurso de dependências de contêiner. Especifique os contêineres que têm dependências e liste os contêineres de que dependem para que sejam iniciados primeiro. Os contêineres sem dependências são sempre iniciados primeiro e simultaneamente.
Para usar esse recurso com êxito, use sondagens de verificação de integridade de inicialização. A sondagem de inicialização permite que o Cloud Run inspecione a integridade de um contêiner dependente, garantindo que ele seja aprovado antes de iniciar o próximo contêiner. Se você não usar verificações de integridade, os contêineres serão iniciados na ordem especificada, mesmo que os contêineres de que eles dependem não sejam iniciados.
Não há uma sondagem de verificação de integridade de inicialização padrão para pools de workers.
Use o console Google Cloud ou a Google Cloud CLI para especificar a ordem de inicialização:
Console
No console Google Cloud , acesse a página do Cloud Run:
- Selecione Pools de workers no menu.
- Para um pool de workers atual, clique nele na lista e selecione Editar e implantar uma nova revisão para exibir o formulário de implantação de revisão.
- Para um novo pool de workers, clique em Implantar contêiner para mostrar o formulário Criar pool de workers.
Para um novo pool de workers, especifique o nome do pool, o URL do contêiner de entrada, a alocação da CPU, o controle de entrada e a autenticação. Na guia Contêineres, volumes, rede, segurança, faça o seguinte:
- Configure o contêiner de entrada.
- Para adicionar cada um dos outros contêineres que você está implantando, clique em Adicionar contêiner.
- Para todos os contêineres, exceto o de entrada, configure uma verificação de integridade de inicialização.
- Se um contêiner precisar ser iniciado depois de outros contêineres, selecione-os no menu Ordem de inicialização do contêiner.
Para um pool de trabalhadores atual, siga estas etapas:
- Para todos os contêineres, exceto o de entrada, configure uma verificação de integridade de inicialização.
- Cada contêiner é mostrado com o próprio menu Ordem de inicialização do contêiner. Se um contêiner precisar que outros contêineres sejam iniciados antes de ser iniciado, use o menu Ordem de inicialização do contêiner para selecionar os contêineres que precisam ser iniciados primeiro.
Conclua as outras configurações necessárias e clique em Criar para um novo pool de workers ou Implantar para um pool de workers atual. Aguarde a conclusão da implantação.
gcloud
Antes de usar a Google Cloud CLI para especificar a ordem de inicialização, configure uma verificação de integridade de inicialização.
-
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 implantar vários contêineres em um serviço com uma ordem de inicialização especificada, execute o comando:
- WORKER_POOL: o nome do pool de workers.
- IMAGE_URL: uma referência à imagem de contêiner que
contém o pool de workers, como
us-docker.pkg.dev/cloudrun/container/worker-pool:latest
. SIDECAR_IMAGE: uma referência à imagem de contêiner de arquivo secundário.
Se você quiser configurar cada contêiner no comando de implantação, forneça a configuração de cada contêiner 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:
Ver a configuração do contêiner para o pool de workers
No Google Cloud console, acesse o Cloud Run:
Clique em Pools de workers para mostrar a lista de pools de workers implantados.
Clique no pool de workers que você quer examinar para mostrar o painel de detalhes.
Clique na guia Contêineres para mostrar a configuração do contêiner do pool de workers.