Nesta página, descrevemos como especificar o ambiente de execução das instâncias do Cloud Run. Por padrão, os serviços do Cloud Run não têm um ambiente de execução especificado. Isso significa que o Cloud Run seleciona o ambiente de execução com base nos recursos usados. Se você não especificar um ambiente de execução para o serviço, o Cloud Run poderá selecionar o ambiente de primeira ou segunda geração.
Os jobs do Cloud Run usam apenas o ambiente de execução de segunda geração, e isso não pode ser alterado em jobs.
Consulte a documentação do conceito de ambientes de execução para receber assistência na escolha do ambiente que é melhor para seu serviço.
Funções exigidas
Para receber as permissões necessárias para configurar e implantar os serviços 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 serviço Cloud Run -
Usuário da conta de serviço (
roles/iam.serviceAccountUser
) na identidade do serviço
Se você estiver implantando um serviço ou uma função do código-fonte, também precisará ter outros papéis concedidos a você no projeto e na conta de serviço do Cloud Build.
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 serviço do Cloud Run interage 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.
Definir e atualizar o ambiente de execução
Qualquer mudança na configuração leva à criação de uma nova revisão. As próximas revisões também recebem essa configuração de modo automático, a menos que você faça atualizações explícitas para alterar esse comportamento.
O padrão para serviços do Cloud Run é não especificado, o que significa que o Cloud Run seleciona um ambiente de execução adequado. Outra opção é especificar um ambiente de execução. Para usar a segunda geração, especifique pelo menos 512 MiB de memória.
É possível definir o ambiente de execução usando o console Google Cloud , a linha de comando gcloud ou um arquivo YAML ao criar um novo serviço ou implantar uma nova revisão:
Console
No Google Cloud console, acesse o Cloud Run:
Selecione Serviços no menu e clique em Implantar contêiner para configurar um novo serviço. Se você estiver configurando um serviço atual, clique nele e em Editar e implantar nova revisão.
Ao configurar um novo serviço, preencha a página inicial de configurações de serviço e clique em Contêineres, volumes, Rede e segurança para expandir essa página.
Clique na guia Contêiner.
- Selecione o ambiente de execução desejado usando os botões de opção. Mantenha "Padrão" para permitir que o Cloud Run selecione um ambiente de execução adequado.
Clique em Criar ou Implantar.
gcloud
É possível atualizar o ambiente de execução de um determinado serviço usando o seguinte comando:
gcloud run services update SERVICE --execution-environment ENVIRONMENT
Substitua SERVICE pelo nome do serviço e ENVIRONMENT
pelo ambiente de execução desejado. Especifique o valor gen1
para a primeira
geração ou gen2
para a segunda geração.
Também é possível definir o ambiente de execução durante a implantação usando o comando:
gcloud run deploy --image IMAGE_URL --execution-environment ENVIRONMENT
Substitua:
- IMAGE_URL: uma referência à imagem de contêiner, por
exemplo,
us-docker.pkg.dev/cloudrun/container/hello:latest
. Se você usa o Artifact Registry, o repositório REPO_NAME já precisará ter sido criado. O URL segue o formatoLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
. ENVIRONMENT
: o ambiente de execução desejado. Especifique o valorgen1
para a primeira geração ougen2
para a segunda geração.
YAML
Se você estiver criando um novo serviço, pule esta etapa. Se você estiver atualizando um serviço existente, faça o download da configuração YAML correspondente:
gcloud run services describe SERVICE --format export > service.yaml
defina a anotação
run.googleapis.com/execution-environment
:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: annotations: run.googleapis.com/execution-environment: ENVIRONMENT
Substitua:
- SERVICE: o nome do seu serviço do Cloud Run.
- ENVIRONMENT: o ambiente de execução selecionado.
Especifique o valor
gen1
para a primeira geração ougen2
para a segunda geração.
Remova a anotação
run.googleapis.com/execution-environment
do comportamento padrão.Crie ou atualize o serviço usando o seguinte comando:
gcloud run services replace service.yaml
Terraform
Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.
Adicione o seguinte a um recursogoogle_cloud_run_v2_service
na configuração do Terraform:resource "google_cloud_run_v2_service" "default" {
name = "cloudrun-service-execution-environment"
location = "REGION"
template {
containers {
image = "us-docker.pkg.dev/cloudrun/container/hello"
}
execution_environment = "ENVIRONMENT"
}
}
Substitua:
- REGION: a Google Cloud região. Por exemplo,
europe-west1
. - ENVIRONMENT:
EXECUTION_ENVIRONMENT_GEN1
para a primeira geração ouEXECUTION_ENVIRONMENT_GEN2
para a segunda geração.
Ver configurações do ambiente de execução
Para ver as configurações atuais do ambiente de execução do serviço do Cloud Run:
Console
No Google Cloud console, acesse o Cloud Run:
Clique no serviço de seu interesse para abrir a página Detalhes do serviço.
Clique na guia Revisões.
No painel de detalhes à direita, a configuração "Ambiente de execução" é listada na guia Contêiner.
gcloud
Use o comando a seguir:
gcloud run services describe SERVICE
Localize a configuração do ambiente de execução na configuração retornada.