É 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
).
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:
-
Desenvolvedor do Cloud Run (
roles/run.developer
) no pool de worker do Cloud Run -
Usuário da conta de serviço (
roles/iam.serviceAccountUser
) na identidade de serviço
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
No Google Cloud console, acesse o Cloud Run:
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.
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.
Clique na guia Contêiner.
- Selecione o tamanho de memória na lista Memória.
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
ouM
correspondente a gigabyte ou megabyte, respectivamente, ou usa a potência de dois equivalentes:Gi
ouMi
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
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
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.
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
ouM
correspondente a gigabyte ou megabyte, respectivamente, ou usa a potência de dois equivalentes:Gi
ouMi
correspondentes a gibibyte ou mebibyte, respectivamente.
Ver a configuração de memória do pool de workers
No Google Cloud console, acesse o Cloud Run:
Clique em Pools de workers para mostrar a lista de pools de workers implantados.
Clique no pool de workers que você quer examinar para mostrar o painel de detalhes.
Clique na guia Contêineres para mostrar a configuração de memória do pool de workers de cada contêiner.