Limites de CPU

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Nesta página, descrevemos como especificar o número de CPUs a serem usadas para cada instância de contêiner 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 de contêiner para reduzir a latência de inicialização.

Definir e atualizar os limites de CPU

É possível definir limites de CPU para serviços e jobs do Cloud Run.

Por padrão, cada instância de contêiner é limitada a 1 CPU. É possível aumentar isso usando qualquer valor inteiro até um máximo de 8 CPUs. A CPU é maior que 4, um recurso de visualização.

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 VISUALIZAÇÃO 3 GiB
8 VISUALIZAÇÃO 4 GiB

Como alternativa, apenas para os serviços do Cloud Run, se você quiser usar menos de uma 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. If you use less than 1 CPU, the following requirements are enforced:

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.

Para serviços do Cloud Run

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

  1. Acessar o Cloud Run

  2. 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.

  3. Se você estiver configurando um novo serviço, preencha a página inicial de configurações de serviço conforme desejado e clique em Contêiner, conexões, segurança para expandir a página de configuração do serviço.

  4. Clique na guia Contêiner.

    imagem

  5. 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 ou 8 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.

  6. 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 ou 8 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;
  • CPU com o valor 1, 2, 4, 6 ou 8. 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 ver a configuração do serviço atual 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.

  1. Para visualizar e fazer o download da configuração:

    gcloud run services describe SERVICE --format export > service.yaml
  2. 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

    Substitua:

    • 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;
    • CPU pelo valor do limite de CPU desejado. Especifique o valor de 1, 2, 4, 6 ou 8 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
  3. Substitua o serviço pela nova configuração usando o seguinte comando:

    gcloud run services replace service.yaml

Terraform

Adicione o seguinte a um recurso google_cloud_run_service em template.spec.containers na configuração do Terraform. Substitua 1000m pela contagem de CPU que você quer.

resources {
  limits = {
    # CPU usage limit
    # https://cloud.google.com/run/docs/configuring/cpu
    cpu = "1000m" # 1 vCPU

    # Memory usage limit (per container)
    # https://cloud.google.com/run/docs/configuring/memory-limits
    memory = "512Mi"
  }
}

Para aplicar a configuração do Terraform a um projeto do Google Cloud, siga estas etapas:

  1. Inicie o Cloud Shell.
  2. Defina o projeto do Google Cloud em que a configuração do Terraform será aplicada:
    export GOOGLE_CLOUD_PROJECT=PROJECT_ID
    
  3. Crie um diretório e abra um novo arquivo. O nome do arquivo precisa ter a extensão .tf, por exemplo: main.tf:
    mkdir DIRECTORY && cd DIRECTORY && nano main.tf
    
  4. Copie a amostra para main.tf.
  5. Revise e modifique os parâmetros de amostra para aplicar ao seu ambiente.
  6. Salve as mudanças pressionando Ctrl-x e depois y.
  7. Inicialize o Terraform:
    terraform init
  8. Revise a configuração e verifique se os recursos que o Terraform vai criar ou atualizar correspondem às suas expectativas:
    terraform plan

    Faça as correções necessárias na configuração.

  9. Para aplicar a configuração do Terraform, execute o comando a seguir e digite yes no prompt:
    terraform apply

    Aguarde até que o Terraform exiba a mensagem "Apply complete!".

  10. Abra seu projeto do Google Cloud para ver os resultados. No console do Google Cloud, navegue até seus recursos na IU para verificar se foram criados ou atualizados pelo Terraform.

Para jobs do Cloud Run

É preciso definir no mínimo 1 CPU para um job do Cloud Run.

Para especificar a CPU de um job do Cloud Run, faça o seguinte:

Console

  1. Acesse o Cloud Run

  2. Se você estiver configurando um novo job, clique na guia Jobs e preencha a página inicial de configurações do job conforme quiser. Se você estiver configurando um job, clique nele e em Editar.

  3. Clique em Contêiner, variáveis e secrets, conexões e segurança para expandir a página de propriedades do job.

  4. Clique na guia Geral.

    imagem

  5. Selecione o limite de CPU que você quer na lista suspensa. Selecione um valor de CPUs 1, 2, 4, 6 ou 8. Os jobs exigem no mínimo 1 CPU. Consulte a tabela em Como configurar e atualizar limites de CPU para as configurações necessárias.

  6. Clique em Criar ou Atualizar.

Linha de comando

  1. Atualize os limites de CPU de um determinado job usando o seguinte comando:

    gcloud beta run jobs update JOB_NAME --cpu CPU

    Substituir

    • JOB_NAME pelo nome do job;
    • CPU pelo limite de CPU desejado. Especifique o valor das CPUs 1, 2, 4, 6 ou 8. Os jobs exigem no mínimo 1 CPU. Consulte a tabela em Como configurar e atualizar limites de CPU para as configurações necessárias.

    Também é possível definir a CPU ao criar um job usando o comando:

    gcloud beta run jobs create JOB_NAME --image IMAGE_URL --cpu CPU

    Substituir

    • JOB_NAME pelo nome do job;
    • IMAGE_URL por uma referência à imagem de contêiner. Por exemplo, us-docker.pkg.dev/cloudrun/container/job:latest;
    • CPU pelo limite de CPU desejado. Especifique o valor das CPUs 1, 2, 4, 6 ou 8. Os jobs exigem no mínimo 1 CPU. Consulte a tabela em Como configurar e atualizar limites de CPU para as configurações necessárias.

Definir a otimização da CPU de inicialização (serviços)

O atributo de otimização da CPU de inicialização para revisões fornece mais CPU durante o tempo de inicialização da instância do contêiner.

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 VISUALIZAÇÃO 8
8 VISUALIZAÇÃO 8

Você é cobrado pela CPU otimizada alocada durante o tempo de inicialização do contêiner. Por exemplo, se o tempo de inicialização do contêiner for de 10 segundos e você alocar duas CPUs além de ativar o reforço de inicialização, você será cobrado por quatro CPUs durante o tempo de inicialização de 10 segundos.

É 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

  1. Acessar o Cloud Run

  2. 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.

  3. Se você estiver configurando um novo serviço, preencha a página inicial de configurações de serviço conforme desejado e clique em Contêiner, conexões, segurança para expandir a página de configuração do serviço.

  4. Clique na guia Contêiner.

    image

  5. 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.

  6. Clique em Criar ou Implantar.

Linha de comando

  1. É possível ativar a otimização da CPU de inicialização para um determinado serviço usando o seguinte comando:

    gcloud beta 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 beta 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;

  2. É possível desativar a otimização da CPU de inicialização de um determinado serviço usando o seguinte comando:

    gcloud beta 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 beta run deploy --image IMAGE_URL --no-cpu-boost

YAML

É possível fazer o download e ver a configuração do serviço atual 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.

  1. Para ver e fazer o download da configuração:

    gcloud run services describe SERVICE --format export > service.yaml
  2. 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;
  3. 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

  1. Acesse o Cloud Run

  2. Clique no serviço de seu interesse para abrir a página Detalhes do serviço.

  3. Clique na guia Revisões.

  4. No painel de detalhes à direita, a configuração da CPU está listada na guia Contêiner.

Linha de comando

  1. Use o comando a seguir:

    gcloud run services describe SERVICE
  2. Localize a configuração de CPU na configuração retornada.

Para ver as configurações atuais da CPU do job do Cloud Run:

Console

  1. Acessar jobs do Cloud Run

  2. Clique no job em que você tem interesse para abrir a página Detalhes do job.

  3. Clique na guia Configuração.

  4. Localize a definição da CPU nos detalhes da configuração.

Linha de comando

  1. Use o comando a seguir:

    gcloud beta run jobs describe JOB_NAME
  2. Localize a configuração de CPU na configuração retornada.