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. |
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 Criar serviço se estiver configurando um novo serviço em que fará uma implantação. Se você estiver configurando um serviço atual, clique nele e em Editar e implantar nova revisão.
Se você estiver configurando um novo serviço, preencha a página inicial de configurações do serviço conforme preferir e clique em Contêineres, volumes, rede, segurança para expandir a página de configurações do serviço.
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.
Linha de comando
É 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
É possível fazer o download e conferir as configurações de serviço usando o
comando gcloud run services describe --format export
, que produz
resultados limpos no formato YAML.
Em seguida, modifique os campos descritos abaixo e
faça upload do YAML modificado usando o comando gcloud run services replace
.
Modifique os campos somente conforme documentado.
Para visualizar e fazer o download da configuração:
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
Substitua o serviço pela nova configuraçã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 Criar serviço se estiver configurando um novo serviço em que fará uma implantação. Se você estiver configurando um serviço atual, clique nele e em Editar e implantar nova revisão.
Se você estiver configurando um novo serviço, preencha a página inicial de configurações do serviço conforme preferir e clique em Contêineres, volumes, rede, segurança para expandir a página de configurações do serviço.
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.
Linha de comando
É 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
É possível fazer o download e conferir as configurações de serviço usando o
comando gcloud run services describe --format export
, que produz
resultados limpos no formato YAML.
Em seguida, modifique os campos descritos abaixo e
faça upload do YAML modificado usando o comando gcloud run services replace
.
Modifique os campos somente conforme documentado.
Para ver e fazer o download da configuração:
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;
Substitua o serviço pela nova configuraçã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.
Linha de comando
Use o comando a seguir:
gcloud run services describe SERVICE
Localize a configuração de CPU na configuração retornada.