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.

Memória necessária ao definir um valor de CPU

Ao definir um valor de CPU, a seguinte memória é necessária:

CPUs Memória necessária
1 vCPU 128 MiB a 4 GiB
2 vCPU 128 MiB a 8 GiB
4 vCPUs 2 a 16 GiB
6 vCPU 4 a 24 GiB
8 vCPUs 4 a 32 GiB

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 APIsGoogle 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 trabalho do Cloud Run usando o Google Cloud console, a Google Cloud CLI, o YAML ou o Terraform:

Console

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

    Acessar o Cloud Run

  2. Selecione Pools de workers no menu e clique em Implantar contêiner para configurar um novo pool de workers. Se você estiver configurando um pool de workers atual, clique nele e em Editar e implantar nova revisão.

  3. Se você estiver configurando um novo pool de workers, preencha a página inicial do pool e clique em Contêineres, volumes, Rede e segurança para expandir a página de configuração de pools de workers.

  4. Clique na guia Contêiner.

    imagem

    • Selecione o tamanho de memória na lista Memória.
  5. Clique em Criar ou Implantar.

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: o nome do pool de workers
  • SIZE: 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: 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: 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.

YAML

  1. Se você estiver criando um novo pool de workers, pule esta etapa. Se você estiver atualizando um pool de trabalhadores, baixe a configuração YAML correspondente:

    gcloud beta run worker-pools describe WORKER_POOL --format export > workerpool.yaml
  2. O exemplo a seguir contém a configuração YAML:

    apiVersion: run.googleapis.com/v1
    kind: WorkerPool
    metadata:
      name: WORKER_POOL
      annotations:
        run.googleapis.com/launch-stage: BETA
    spec:
      template:
        spec:
          containers:
          - image: IMAGE_URL
            resources:
              limits:
                memory: SIZE

    Substitua:

    • WORKER_POOL: o nome do seu pool de workers do Cloud Run.
    • IMAGE_URL: 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: o tamanho de memória escolhido. O formato é um número de ponto fixo ou flutuante seguido de uma unidade: G ouM correspondentes a gigabyte ou megabyte, respectivamente, ou usar a potência de dois equivalentes: Gi ouMi correspondente a gibibyte ou mebibyte, respectivamente.
  3. Crie ou atualize o pool de workers usando o seguinte comando:

    gcloud beta run worker-pools replace workerpool.yaml

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: o nome do pool de workers.
  • REGION: a Google Cloud região. Por exemplo, europe-west1.
  • IMAGE_URL: 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: 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.