Esta página descreve como configurar variáveis de ambiente para o seu conjunto de trabalhadores do Cloud Run.
Qualquer alteração de configuração leva à criação de uma nova revisão. As revisões subsequentes também vão receber automaticamente esta definição de configuração, a menos que faça atualizações explícitas para a alterar.
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 que lhe conceda 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.
Defina variáveis de ambiente
Pode definir variáveis de ambiente para um conjunto de trabalhadores do Cloud Run através da Google Cloud consola, da CLI Google Cloud 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.
- No separador Variáveis e segredos, clique em Adicionar variável para adicionar uma nova variável de ambiente e, em seguida, especifique o nome que quer para a variável nos campos Nome e Valor. Para mais informações sobre como definir várias variáveis de ambiente ou ignorar carateres especiais, consulte o artigo Defina várias variáveis de ambiente.
Clique em Criar ou Implementar.
gcloud
Para especificar variáveis de ambiente durante a implementação do seu conjunto de trabalhadores, use a flag --set-env-vars
:
gcloud beta run worker-pools deploy WORKER_POOL --image IMAGE_URL --set-env-vars KEY1=VALUE1,KEY2=VALUE2
Substitua o seguinte:
- WORKER_POOL: o nome do seu conjunto de trabalhadores
- KEY1=VALUE1,KEY2=VALUE2: a lista separada por vírgulas dos nomes e valores das variáveis
- 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
Para mais informações sobre como definir várias variáveis de ambiente ou carateres especiais de escape, consulte o artigo Defina várias variáveis de ambiente.
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"
env {
name = "KEY1"
value = "VALUE1"
}
env {
name = "KEY2"
value = "VALUE2"
}
}
}
}
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
- KEY1 e VALUE1: a variável de ambiente e o valor. Opcionalmente, adicione mais variáveis e valores conforme necessário.
Defina variáveis de ambiente predefinidas no contentor
Pode usar a declaração ENV
num Dockerfile para definir valores predefinidos para variáveis de ambiente:
ENV KEY1=VALUE1,KEY2=VALUE2
Ordem de precedência: variáveis do contentor versus do conjunto de trabalhadores
Se definir uma variável de ambiente predefinida no contentor e também definir uma variável de ambiente com o mesmo nome no conjunto de trabalhadores do Cloud Run, o valor definido no conjunto de trabalhadores tem precedência.
Defina várias variáveis de ambiente
Pode definir várias variáveis de ambiente através do ficheiro .env
ou da flag --set-env-vars
.
Defina várias variáveis de ambiente através do ficheiro .env
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.
- No separador Variáveis e segredos, clique em Adicionar variável e cole o conteúdo do ficheiro
.env
no campo Nome. O Cloud Run preenche automaticamente o campo Valor e cria novas variáveis para cada par de chave-valor que definir no ficheiro.env
.
- No separador Variáveis e segredos, clique em Adicionar variável e cole o conteúdo do ficheiro
Clique em Criar ou Implementar.
gcloud
Para especificar várias variáveis de ambiente a partir do ficheiro .env
, execute o seguinte comando:
gcloud beta run worker-pools deploy WORKER_POOL --image IMAGE_URL --env-vars-file=ENV_FILE_PATH
Substitua o seguinte:
- WORKER_POOL: o nome do conjunto de trabalhadores.
- 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
- ENV_FILE_PATH: caminho para o ficheiro
.env
.
Defina várias variáveis de ambiente com a flag --set-env-vars
Se tiver várias variáveis de ambiente que não podem ser listadas no formato KEY1=VALUE1,KEY2=VALUE2
, pode repetir a flag --set-env-vars
várias vezes:
[...] --set-env-vars "KEY1=VALUE1" \ --set-env-vars "KEY2=VALUE2" \ --set-env-vars "KEY3=VALUE3"
Escape de carateres de vírgula
Uma vez que o caráter de vírgula,
é usado para dividir as variáveis de ambiente, se a sua variável de ambiente contiver carateres de vírgula como valores, tem de escapar a esses delimitadores especificando um caráter delimitador diferente, por exemplo, @
:
--set-env-vars "^@^KEY1=value1,value2,value3@KEY2=..."
Atualize as variáveis de ambiente
Pode atualizar as variáveis do ambiente de tempo de execução para pools de trabalhadores existentes. Esta é uma abordagem não destrutiva que altera ou adiciona variáveis de ambiente de tempo de execução, mas não as elimina.
Pode atualizar as variáveis de ambiente na Google Cloud consola, na CLI do Google Cloud ou no Terraform:
Consola
Na Google Cloud consola, aceda ao Cloud Run:
Selecione Conjuntos de trabalhadores no menu, clique no conjunto de trabalhadores que está a atualizar e, de seguida, clique em Editar e implementar nova revisão.
Clique em Recipientes, volumes, trabalho em rede, segurança para expandir a página de configuração dos worker pools.
Clique no separador Variáveis e segredos.
Localize a variável de ambiente que quer atualizar e, em seguida, especifique um nome diferente para a variável ou um valor diferente nos campos Nome e Valor.
Clique em Implementar.
gcloud
Para atualizar as variáveis de ambiente de um conjunto de trabalhadores existente, use a flag
--update-env-vars
:
gcloud beta run worker-pools update WORKER_POOL --update-env-vars KEY1=VALUE1,KEY2=VALUE2
Substitua o seguinte:
- WORKER_POOL: o nome do seu conjunto de trabalhadores
- KEY1=VALUE1,KEY2=VALUE2: a lista separada por vírgulas dos nomes e valores das variáveis
Terraform
Para atualizar as variáveis de ambiente de um conjunto de trabalhadores existente, abra o main.tf
ficheiro correspondente ao conjunto de trabalhadores e edite as variáveis de nome e valor.
Em seguida, execute o comando para aplicar a configuração do Terraform.
Para saber como aplicar ou remover uma configuração do Terraform, consulte os comandos básicos do Terraform.
Elimine variáveis de ambiente
Consola
Na Google Cloud consola, aceda ao Cloud Run:
Selecione Conjuntos de trabalhadores no menu, clique no conjunto de trabalhadores que está a atualizar e, de seguida, clique em Editar e implementar nova revisão.
Clique em Recipientes, volumes, trabalho em rede, segurança para expandir a página de configuração dos worker pools.
Clique no separador Variáveis e segredos.
Localize a variável de ambiente que quer eliminar e clique no ícone de lixo à direita do campo Valor para eliminar a variável de ambiente.
Clique em Implementar.
gcloud
Para remover seletivamente variáveis de ambiente de um conjunto de trabalhadores existente, use a flag --remove-env-vars
:
gcloud beta run worker-pools update WORKER_POOL --remove-env-vars KEY1,KEY2
Substitua o seguinte:
- WORKER_POOL: o nome do seu conjunto de trabalhadores
- KEY1,KEY2: a lista de nomes de variáveis separados por vírgulas
Em alternativa, limpe todas as variáveis de ambiente definidas anteriormente com a flag --clear-env-vars
:
gcloud beta run worker-pools update WORKER_POOL --clear-env-vars
Substitua WORKER_POOL pelo nome do seu conjunto de trabalhadores.
Veja a configuração das variáveis de ambiente para o conjunto de trabalhadores
Na Google Cloud consola, aceda ao Cloud Run:
Clique em Grupos de trabalhadores para apresentar a lista de grupos 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 do contentor do conjunto de trabalhadores.
Exemplo de código
Para ver um exemplo de código que mostra como aceder às variáveis de ambiente no seu código, consulte o artigo Processar configurações confidenciais com o Secret Manager no tutorial de autenticação do utilizador final.
O que se segue?
Pode usar variáveis de ambiente para definir uma configuração de buildpacks. Para ver detalhes específicos do idioma, consulte a documentação dos buildpacks para: