Configurar limites de CPU

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:

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

  1. No console do Google Cloud, acesse o Cloud Run:

    Acessar o Cloud Run

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

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

  4. Clique na guia Contêiner.

    imagem

    • 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.
  5. 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 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. Se você usa o Artifact Registry, o repositório REPO_NAME já precisará ter sido criado. O URL tem o formato LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
  • 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

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

    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 formato LOCATION-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 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. 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.

resource "google_cloud_run_v2_service" "default" {
  name     = "cloudrun-service-cpu"
  location = "us-central1"

  deletion_protection = false # set to "true" in production

  template {
    containers {
      image = "us-docker.pkg.dev/cloudrun/container/hello"
      resources {
        limits = {
          # CPU usage limit
          cpu = "1"
        }
      }
    }
  }
}

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

  1. No console do Google Cloud, acesse o Cloud Run:

    Acessar o Cloud Run

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

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

  4. Clique na guia Contêiner.

    imagem

    • 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.
  5. Clique em Criar ou Implantar.

gcloud

  1. É 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 formato LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG

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

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

  1. No console do Google Cloud, acesse o Cloud Run:

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

gcloud

  1. Use o comando a seguir:

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