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
).
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:
-
Programador do Cloud Run (
roles/run.developer
) no conjunto de trabalhadores do Cloud Run -
Utilizador da conta de serviço (
roles/iam.serviceAccountUser
) na identidade do serviço
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
Na Google Cloud consola, aceda ao Cloud Run:
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.
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.
Clique no separador Contentor.
- Selecione o tamanho da memória na lista Memória.
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
ouM
, que correspondem a gigabytes ou megabytes, respetivamente, ou use os equivalentes de potência de dois:Gi
ouMi
, 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
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
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
ouM
, correspondente a gigabyte ou megabyte, respetivamente, ou use os equivalentes de potência de dois:Gi
ouMi
, correspondente a gibibyte ou mebibyte, respetivamente.
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
ouM
, que correspondem a gigabytes ou megabytes, respetivamente, ou use os equivalentes de potência de dois:Gi
ouMi
, que correspondem a gibibytes ou mebibytes, respetivamente.
Veja a configuração de memória do conjunto de trabalhadores
Na Google Cloud consola, aceda ao Cloud Run:
Clique em Conjuntos de trabalhadores para apresentar a lista de conjuntos de trabalhadores implementados.
Clique no conjunto de trabalhadores que quer examinar para apresentar o respetivo painel de detalhes.
Clique no separador Contentores para apresentar a configuração de memória do worker pool para cada contentor.