Nesta página, descrevemos como especificar o número de CPUs a serem usadas para cada instância do Cloud Run. Por padrão, as instâncias de contêiner do Cloud Run estão limitadas a 1 instância de CPU. É possível aumentar ou diminuir esse valor conforme descrito nesta página.
Esta página também descreve como ativar ou desativar a otimização de CPU de inicialização, um atributo que aumenta temporariamente a alocação de CPU durante a inicialização da instância para reduzir a latência de inicialização.
Definir e atualizar os limites de CPU
Por padrão, cada instância é limitada a 1 CPU. É possível aumentar isso usando qualquer valor inteiro até um máximo de 8 CPUs.
CPU e memória
Veja a seguir os requisitos mínimos de memória para CPUs:
CPUs | Memória mínima |
---|---|
4 | 2 GiB |
6 | 4 GiB |
8 | 4 GiB |
Como alternativa, se você quiser usar menos de 1 CPU, selecione qualquer valor entre 0,08 e 1, em incrementos de 0,01. Qualquer valor acima de 1 precisa ser um número inteiro. Se você usar menos de uma CPU, os seguintes requisitos serão aplicados:
Configuração | Requisito |
---|---|
Memória | É necessário um mínimo de 0,5 CPU para definir um limite de memória maior que 512 MiB. É necessário um mínimo de 1 CPU para definir um limite de memória maior que 1 GiB. |
Simultaneidade | A simultaneidade máxima precisa ser definida como 1 . |
CPU alocada | A alocação de CPU precisa ser definida como CPU alocada somente durante o processamento da solicitação. |
Ambiente de execução | Use o ambiente de execução de primeira geraçã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 conta de 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 serviço do Cloud Run interage com as APIs do Google 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 limites de CPU
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.
É possível definir limites de memória usando o console do 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 console do Google Cloud, acesse o Cloud Run:
Clique em Implantar contêiner e selecione Serviço 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 conforme preferir e clique em Contêineres, volumes, redes e segurança para expandir essa página.
Clique na guia Contêiner.
- Selecione o limite de CPU que você quer na lista suspensa
usando Personalizado se quiser usar menos de uma CPU. Selecione um valor de
1
,2
,4
,6
ou8
CPUs. Para menos de uma CPU, especifique um valor de 0,08 a menos de 1,00 em incrementos de 0, 01. Consulte a tabela em Como configurar e atualizar limites de CPU para as configurações necessárias.
- Selecione o limite de CPU que você quer na lista suspensa
usando Personalizado se quiser usar menos de uma CPU. Selecione um valor de
Clique em Criar ou Implantar.
gcloud
É possível atualizar os limites de CPU de um determinado serviço usando o seguinte comando:
gcloud run services update SERVICE --cpu CPU
Substituir
- SERVICE pelo nome do serviço;
- CPU pelo limite de CPU desejado. Especifique o valor de
1
,2
,4
,6
ou8
CPUs. Para menos de uma CPU, especifique um valor de 0,08 a menos de 1,00, em incrementos de 0,01. Consulte a tabela em Como configurar e atualizar limites de CPU para as configurações necessárias.
Também é possível definir o limite de CPU durante a implantação usando este comando:
gcloud run deploy --image IMAGE_URL --cpu CPU
Substituir
- IMAGE_URL por 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 tem o formatoLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
- CPU com o valor
1
,2
,4
,6
ou8
. Para menos de uma CPU, especifique um valor de 0,08 a menos de 1,00, em incrementos de 0,01. Consulte a tabela em Como configurar e atualizar limites de CPU para as configurações necessárias.
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
Atualize o atributo
cpu
:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: name: REVISION spec: containers: - image: IMAGE resources: limits: cpu: CPU
Substituir
- SERVICE pelo nome do serviço do Cloud Run;
- IMAGE_URL por 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 tem o formatoLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
- CPU pelo valor do limite de CPU desejado.
Especifique o valor de
1
,2
,4
,6
ou8
CPUs. Para menos de uma CPU, especifique um valor de 0,08 a menos de 1,00, em incrementos de 0,01. Consulte a tabela em Como configurar e atualizar limites de CPU para as configurações necessárias. - REVISION por um novo nome de revisão ou excluí-lo (se houver). Se você fornecer um novo nome de revisão, ele precisará atender aos seguintes critérios:
- Começa com
SERVICE-
- Contém apenas letras minúsculas, números e
-
- Não termina com um
-
- Não excede 63 caracteres
- Começa com
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.
O recurso google_cloud_run_v2_service
a seguir especifica um limite de CPU em template.containers.resources.limits
. Substitua 1
pela contagem de CPU que você quer.
Definir otimização de CPU de inicialização
O recurso de otimização da CPU de inicialização para revisões fornece mais CPU durante o tempo de inicialização da instância e por 10 segundos após o início da instância.
O aumento real da CPU varia de acordo com as configurações de limite da CPU:
Limite de CPU | CPU otimizada |
---|---|
0-1 | 2 |
2 | 4 |
4 | 8 |
6 | 8 |
8 | 8 |
A CPU otimizada alocada é cobrada durante o tempo de inicialização do contêiner. Por exemplo, se o tempo de inicialização do contêiner for de 15 segundos e você alocar 2 CPUs com a otimização da CPU de inicialização, você será cobrado por 4 CPUs durante o tempo de inicialização da instância (possivelmente mais curto), incluindo os 10 segundos após o término da inicialização do contêiner e duas CPUs durante o restante do ciclo de vida.
É possível ativar ou desativar a otimização da CPU de inicialização usando o console do Google Cloud ou a Google Cloud CLI.
Console
No console do Google Cloud, acesse o Cloud Run:
Clique em Implantar contêiner e selecione Serviço 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 conforme preferir e clique em Contêineres, volumes, redes e segurança para expandir essa página.
Clique na guia Contêiner.
- Para ativar a otimização da CPU de inicialização, marque a caixa de seleção Otimização da CPU de inicialização. Para desativar esse atributo, desmarque a opção.
Clique em Criar ou Implantar.
gcloud
É possível ativar a otimização da CPU de inicialização para um determinado serviço usando o seguinte comando:
gcloud run services update SERVICE --cpu-boost
Substitua SERVICE pelo nome do serviço.
É possível ativar a otimização da CPU de inicialização durante a implantação usando o comando:
gcloud run deploy --image IMAGE_URL --cpu-boost
IMAGE_URL por 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 tem o formatoLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
É possível desativar a otimização da CPU de inicialização de um determinado serviço usando o seguinte comando:
gcloud run services update SERVICE --no-cpu-boost
Substitua SERVICE pelo nome do serviço.
É possível desativar a otimização da CPU de inicialização durante a implantação usando o comando:
gcloud run deploy --image IMAGE_URL --no-cpu-boost
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
Atualize o atributo
run.googleapis.com/startup-cpu-boost
especificando'true'
para ativar a otimização da CPU de inicialização, ou'false'
para desativar:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: annotations: run.googleapis.com/startup-cpu-boost: 'true'
Substituir
- SERVICE pelo nome do serviço do Cloud Run;
Crie ou atualize o serviço usando o seguinte comando:
gcloud run services replace service.yaml
Ver configurações da CPU
Para ver as configurações atuais da CPU do serviço do Cloud Run:
Console
No console do Google Cloud, 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 da CPU está listada na guia Contêiner.
gcloud
Use o comando a seguir:
gcloud run services describe SERVICE
Localize a configuração de CPU na configuração retornada.