Esta página descreve como especificar o ambiente de execução das instâncias do Cloud Run. Por predefinição, os serviços do Cloud Run não têm um ambiente de execução especificado, o que significa que o Cloud Run seleciona o ambiente de execução com base nas funcionalidades usadas. Se não especificar um ambiente de execução para o seu serviço, o Cloud Run pode selecionar o ambiente de primeira geração ou de segunda geração.
Tenha em atenção que as tarefas do Cloud Run só usam o ambiente de execução de segunda geração e que isto não pode ser alterado para tarefas.
Consulte a documentação do conceito de ambientes de execução para receber ajuda na escolha do ambiente mais adequado para o seu serviço.
Funções necessárias
Para receber as autorizações de que precisa para configurar e implementar serviços do Cloud Run, peça ao seu administrador para lhe conceder as seguintes funções de IAM:
-
Programador do Cloud Run (
roles/run.developer
) no serviço Cloud Run -
Utilizador da conta de serviço (
roles/iam.serviceAccountUser
) na identidade do serviço
Se estiver a implementar um serviço ou uma função a partir do código fonte, também tem de ter funções adicionais concedidas no seu projeto e na conta de serviço do Cloud Build.
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 serviço do Cloud Run interage com Google Cloud APIs, como as bibliotecas cliente da Google Cloud, 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.
Defina e atualize o ambiente de execução
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.
A predefinição para os serviços do Cloud Run é unspecified, o que significa que o Cloud Run seleciona um ambiente de execução adequado. Em alternativa, pode especificar um ambiente de execução. Para usar a segunda geração, tem de especificar, pelo menos, 512 MiB de memória.
Pode definir o ambiente de execução através da Google Cloud consola, da linha de comandos gcloud ou de um ficheiro YAML quando cria um novo serviço ou implementa uma nova revisão:
Consola
Na Google Cloud consola, aceda ao Cloud Run:
Selecione Serviços no menu e clique em Implementar contentor para configurar um novo serviço. Se estiver a configurar um serviço existente, clique no serviço e, de seguida, em Editar e implementar nova revisão.
Se estiver a configurar um novo serviço, preencha a página de definições iniciais do serviço e, de seguida, clique em Contentores, volumes, rede, segurança para expandir a página de configuração do serviço.
Clique no separador Contentor.
- Selecione o ambiente de execução pretendido através dos botões de opção. Mantenha a opção "Predefinição" para permitir que o Cloud Run selecione um ambiente de execução adequado.
Clique em Criar ou Implementar.
gcloud
Pode atualizar o ambiente de execução de um determinado serviço através do seguinte comando:
gcloud run services update SERVICE --execution-environment ENVIRONMENT
Substitua SERVICE pelo nome do seu serviço e ENVIRONMENT
pelo ambiente de execução pretendido. Especifique o valor gen1
para a primeira geração ou gen2
para a segunda geração.
Também pode definir o ambiente de execução durante a implementação através do comando:
gcloud run deploy --image IMAGE_URL --execution-environment ENVIRONMENT
Substitua o seguinte:
- IMAGE_URL: uma referência à imagem do contentor, por exemplo,
us-docker.pkg.dev/cloudrun/container/hello:latest
. Se usar o Artifact Registry, o repositório REPO_NAMEtem de já estar criado. O URL segue o formatoLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
. ENVIRONMENT
: o ambiente de execução pretendido. Especifique o valorgen1
para a primeira geração ougen2
para a segunda geração.
YAML
Se estiver a criar um novo serviço, ignore este passo. Se estiver a atualizar um serviço existente, transfira a respetiva configuração YAML:
gcloud run services describe SERVICE --format export > service.yaml
Definir 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 o seguinte:
- 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
para o comportamento predefinido.Crie ou atualize o serviço com o seguinte comando:
gcloud run services replace service.yaml
Terraform
Para saber como aplicar ou remover uma configuração do Terraform, consulte os comandos básicos do Terraform.
Adicione o seguinte a um recursogoogle_cloud_run_v2_service
na sua 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 o seguinte:
- 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.
Veja as definições do ambiente de execução
Para ver as definições atuais do ambiente de execução do seu serviço do Cloud Run:
Consola
Na Google Cloud consola, aceda ao Cloud Run:
Clique no serviço que lhe interessa para abrir a página Detalhes do serviço.
Clique no separador Revisões.
No painel de detalhes à direita, a definição Ambiente de execução é apresentada no separador Contentor.
gcloud
Use o seguinte comando:
gcloud run services describe SERVICE
Localize a definição Execution environment na configuração devolvida.