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 workers do Cloud Run usando a Google Cloud CLI ao criar um novo pool de workers ou implantar uma nova revisão:
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 com o nome do pool de workers.
- COMMAND pelo comando com que o contêiner será iniciado se você não estiver usando o comando padrão.
- ARG1 pelo 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 ""
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 a Google Cloud CLI para especificar a ordem de inicializaçã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:
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 WORKER_POOL pelo nome do pool de workers em que você está fazendo a implantação. Se você omitir esse parâmetro, será solicitado o nome do pool de workers mais tarde.
- 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
. SIDECAR_IMAGE por 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
.
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.