Configure os limites de memória para grupos de trabalhadores

Pode escolher a quantidade de memória a disponibilizar para o conjunto de trabalhadores do Cloud Run. Esta página descreve como especificar a quantidade de memória disponível para o seu conjunto de trabalhadores.

Compreenda a utilização de memória

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

A memória disponível para a sua instância tem de ser suficiente para:

  • Executar o executável do grupo de trabalhadores, porque o executável tem de ser carregado na memória
  • Alocar memória no processo do conjunto de trabalhadores
  • Escrever ficheiros no sistema de ficheiros

O tamanho da imagem do contentor implementado não afeta a memória disponível para a instância.

Defina e atualize limites de memória

Pode definir limites de memória em pools de trabalhadores do Cloud Run. Por predefinição, a memória alocada a cada conjunto de trabalhadores é de 512 MiB.

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

Quando define um valor de CPU, é necessária a seguinte memória:

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

Quantidade máxima de memória

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

Pode aplicar um limite máximo de memória através de políticas de organização personalizadas.

Memória mínima

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

Funções necessárias

Para receber as autorizações de que precisa para configurar e implementar pools de trabalhadores do Cloud Run, peça ao seu administrador para lhe conceder as seguintes funções da IAM:

Para ver uma lista de funções e autorizações de IAM associadas ao Cloud Run, consulte os artigos Funções de IAM do Cloud Run e Autorizações de IAM do Cloud Run. Se o seu conjunto de trabalhadores do Cloud Run interage com Google Cloud APIs, como as bibliotecas de clientes da nuvem, consulte o guia de configuração da identidade do serviço. Para mais informações sobre a atribuição de funções, consulte as autorizações de implementação e faça a gestão do acesso.

Configure os limites de memória

Qualquer alteração de configuração leva à criação de uma nova revisão. As revisões subsequentes também recebem automaticamente esta definição de configuração, a menos que faça atualizações explícitas para a alterar.

Pode definir limites de memória para um conjunto de trabalhadores do Cloud Run através daGoogle Cloud consola, da CLI Google Cloud, de YAML ou do Terraform:

Consola

  1. Na Google Cloud consola, aceda ao Cloud Run:

    Aceda ao Cloud Run

  2. Selecione Grupos de trabalhadores no menu e clique em Implementar contentor para configurar um novo grupo de trabalhadores. Se estiver a configurar um conjunto de trabalhadores existente, clique no conjunto de trabalhadores e, de seguida, em Editar e implementar nova revisão.

  3. Se estiver a configurar um novo conjunto de trabalhadores, preencha a página inicial do conjunto de trabalhadores e, em seguida, clique em Recipientes, volumes, rede, segurança para expandir a página de configuração dos conjuntos de trabalhadores.

  4. Clique no separador Contentor.

    imagem

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

gcloud

Pode atualizar a atribuição de memória de um determinado conjunto de trabalhadores através do seguinte comando:

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

Substitua o seguinte:

  • WORKER_POOL: o nome do seu conjunto de trabalhadores
  • SIZE: um tamanho da memória da tabela de CPU e memória. O formato do tamanho é um número de vírgula fixa ou flutuante seguido de uma unidade: G ou M, que correspondem a gigabytes ou megabytes, respetivamente, ou use os equivalentes de potência de dois: Gi ou Mi, que correspondem a gibibytes ou mebibytes, respetivamente.

Também pode definir limites de memória durante a implementação através do comando:

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

Substitua o seguinte:

  • IMAGE_URL: uma referência à imagem do contentor que contém o conjunto de trabalhadores, como us-docker.pkg.dev/cloudrun/container/worker-pool:latest.
  • SIZE: um tamanho da 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, respetivamente, ou use os equivalentes de potência de dois: Gi ou Mi correspondente a gibibyte ou mebibyte, respetivamente.

YAML

  1. Se estiver a criar um novo conjunto de trabalhadores, ignore este passo. Se estiver a atualizar um worker pool existente, transfira a respetiva configuração YAML:

    gcloud beta run worker-pools describe WORKER_POOL --format export > workerpool.yaml
  2. O exemplo seguinte 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 o seguinte:

    • WORKER_POOL: o nome do seu conjunto de trabalhadores do Cloud Run.
    • IMAGE_URL: uma referência à imagem do contentor que contém o conjunto de trabalhadores, como us-docker.pkg.dev/cloudrun/container/worker-pool:latest.
    • SIZE: o tamanho da memória escolhido. O formato é um número de vírgula fixa ou flutuante seguido de uma unidade: G ou M, correspondente a gigabyte ou megabyte, respetivamente, ou use os equivalentes de potência de dois: Gi ou Mi, correspondente a gibibyte ou mebibyte, respetivamente.
  3. Crie ou atualize o conjunto de trabalhadores com o seguinte comando:

    gcloud beta run worker-pools replace workerpool.yaml

Terraform

Para saber como aplicar ou remover uma configuração do Terraform, consulte os 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 o seguinte:

  • WORKER_POOL: o nome do conjunto de trabalhadores.
  • REGION: a Google Cloud região. Por exemplo, europe-west1.
  • IMAGE_URL: uma referência à imagem do contentor que contém o conjunto de trabalhadores, como us-docker.pkg.dev/cloudrun/container/worker-pool:latest
  • SIZE: um tamanho da memória da tabela de CPU e memória. O formato do tamanho é um número de vírgula fixa ou flutuante seguido de uma unidade: G ou M, que correspondem a gigabytes ou megabytes, respetivamente, ou use os equivalentes de potência de dois: Gi ou Mi, que correspondem a gibibytes ou mebibytes, respetivamente.

Veja a configuração de memória do conjunto de trabalhadores

  1. Na Google Cloud consola, aceda ao Cloud Run:

    Aceda ao Cloud Run

  2. Clique em Conjuntos de trabalhadores para apresentar a lista de conjuntos de trabalhadores implementados.

  3. Clique no conjunto de trabalhadores que quer examinar para apresentar o respetivo painel de detalhes.

  4. Clique no separador Contentores para apresentar a configuração de memória do worker pool para cada contentor.