Configurar limites de memória para pools de workers

É possível escolher a quantidade de memória a ser fornecida para o pool de trabalhadores do Cloud Run. Nesta página, descrevemos como especificar a quantidade de memória disponível para seu pool de workers.

Entender o uso da memória

As instâncias do Cloud Run que excedem o limite de memória permitido são encerradas.

A memória disponível para a instância precisa ser suficiente para:

  • Executar o executável do pool de workers, porque ele precisa ser carregado na memória.
  • Alocar memória no processo do pool de workers
  • Gravar arquivos no sistema de arquivos

O tamanho da imagem de contêiner implantada não afeta a memória disponível para a instância.

Definir e atualizar os limites de memória

É possível definir limites de memória em pools de workers do Cloud Run. Por padrão, a memória alocada para cada pool de workers é de 512 MiB.

CPU mínima necessária

A quantidade de memória alocada escolhida corresponde a uma quantidade mínima de CPU para seu pool de workers. Ao definir um limite de memória, os seguintes limites mínimos de CPU são obrigatórios:

Memória CPU mínima necessária
2 GiB 1 vCPU
Mais de 4 GiB 2 vCPU
Mais de 8 GiB 4 vCPUs
Mais de 16 GiB 6 vCPU
Mais de 24 GiB 8 vCPUs

Quantidade máxima de memória

A quantidade máxima de memória que você pode configurar é 32 gibibyte (32 Gi).

É possível aplicar um limite máximo de memória usando políticas personalizadas da organização.

Memória mínima

A configuração mínima de memória é de 512 MiB.

Funções exigidas

Para receber as permissões necessárias para configurar e implantar pools de trabalhadores 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 pool de trabalhadores do Cloud Run interagir com APIs doGoogle 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 memória

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 para um pool de trabalhadores do Cloud Run usando a Google Cloud CLI ou o Terraform:

gcloud

É possível atualizar a alocação de memória de um determinado pool de workers usando o comando a seguir:

gcloud beta run worker-pools update WORKER_POOL --memory SIZE

Substitua:

  • WORKER_POOL com o nome do pool de workers
  • SIZE com um tamanho de memória da tabela de CPU e memória. O formato do tamanho é um número de ponto fixo ou flutuante seguido de uma unidade: G ou M correspondente a gigabyte ou megabyte, respectivamente, ou usa a potência de dois equivalentes: Gi ou Mi correspondentes a gibibyte ou mebibyte, respectivamente.

Também é possível definir limites de memória durante a implantação usando o comando:

gcloud beta run worker-pools deploy --image IMAGE_URL --memory SIZE

Substitua:

  • IMAGE_URL por uma referência à imagem de contêiner que contém o pool de workers, como us-docker.pkg.dev/cloudrun/container/worker-pool:latest.
  • SIZE com um tamanho de memória da tabela de CPU e memória. O formato do tamanho é um número de ponto fixo ou flutuante seguido por uma unidade: G ou M correspondente a gigabyte ou megabyte, respectivamente, ou use a potência de dois equivalentes: Gi ou Mi correspondente a gibibyte ou mebibyte respectivamente.

Terraform

Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.

resource "google_cloud_run_v2_worker_pool" "default" {
  name     = "WORKER_POOL"
  location = "REGION"
  launch_stage = "BETA"

  template {
    containers {
      image = "IMAGE_URL"
      resources {
        limits = {
          memory = "SIZE"
        }
      }
    }
  }
}

Substitua:

  • WORKER_POOL com o nome do pool de workers.
  • REGION com a região Google Cloud . Por exemplo, europe-west1.
  • IMAGE_URL com uma referência à imagem de contêiner que contém o pool de workers, como us-docker.pkg.dev/cloudrun/container/worker-pool:latest
  • SIZE com um tamanho de memória da tabela de CPU e memória. O formato do tamanho é um número de ponto fixo ou flutuante seguido de uma unidade: G ou M correspondente a gigabyte ou megabyte, respectivamente, ou usa a potência de dois equivalentes: Gi ou Mi correspondentes a gibibyte ou mebibyte, respectivamente.

Ver a configuração de memória do pool de workers

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

    Acessar o Cloud Run

  2. Clique em Pools de workers para mostrar a lista de pools de workers implantados.

  3. Clique no pool de workers que você quer examinar para mostrar o painel de detalhes.

  4. Clique na guia Contêineres para mostrar a configuração de memória do pool de workers de cada contêiner.