Configure variáveis de ambiente para grupos de trabalhadores

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:

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

  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

    • 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.
  5. 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

  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

    • 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.
  5. 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

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

    Aceda ao Cloud Run

  2. 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.

  3. Clique em Recipientes, volumes, trabalho em rede, segurança para expandir a página de configuração dos worker pools.

  4. Clique no separador Variáveis e segredos.

    imagem

  5. 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.

  6. 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

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

    Aceda ao Cloud Run

  2. 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.

  3. Clique em Recipientes, volumes, trabalho em rede, segurança para expandir a página de configuração dos worker pools.

  4. Clique no separador Variáveis e segredos.

    imagem

  5. 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.

  6. 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

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

    Aceda ao Cloud Run

  2. Clique em Grupos de trabalhadores para apresentar a lista de grupos 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 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: