Esta página descreve como criar e atualizar tarefas do Cloud Run a partir de uma imagem de contentor existente. Ao contrário de um serviço do Cloud Run, que ouve e publica pedidos, uma tarefa do Cloud Run apenas executa as respetivas tarefas e termina quando conclui a execução. Um trabalho não escuta nem responde a pedidos.
Depois de criar ou atualizar uma tarefa, pode:
- Executar a tarefa uma vez, de acordo com um horário ou como parte de um fluxo de trabalho.
- Pode substituir os parâmetros configurados para uma tarefa quando a executa.
- Pode gerir execuções de tarefas individuais e ver os registos de execução.
Pode estruturar um trabalho como uma única tarefa ou como várias tarefas independentes (até 10 000 tarefas) que podem ser executadas em paralelo. Cada tarefa executa uma instância de contentor e pode ser configurada para repetir em caso de falha. Cada tarefa tem conhecimento do seu índice, que é armazenado na variável de ambiente CLOUD_RUN_TASK_INDEX
. A contagem geral de tarefas é armazenada na variável de ambiente CLOUD_RUN_TASK_COUNT
. Se estiver a processar dados em paralelo, o seu código é responsável por determinar que tarefa processa que subconjunto dos dados.
Pode definir limites de tempo nas tarefas e especificar o número de novas tentativas em caso de falha da tarefa. Se alguma tarefa exceder o número máximo de novas tentativas, essa tarefa é marcada como com falhas. Se alguma tarefa falhar, a execução do trabalho é marcada como falhada depois de o Cloud Run ter tentado executar todas as tarefas.
Por predefinição, cada tarefa é executada durante um máximo de 10 minutos. Pode modificar o valor predefinido alterando a definição de tempo limite da tarefa, até um máximo de 168 horas (7 dias). O suporte para limites de tempo superiores a 24 horas está disponível na pré-visualização.
Não existe um limite de tempo explícito para a execução de uma tarefa: a execução da tarefa é concluída após a conclusão de todas as tarefas.
As tarefas usam o ambiente de execução de segunda geração.
Funções necessárias
Para receber as autorizações de que precisa para criar tarefas do Cloud Run, peça ao seu administrador para lhe conceder as seguintes funções da IAM:
-
Programador do Cloud Run (
roles/run.developer
) na tarefa do Cloud Run -
Utilizador da conta de serviço (
roles/iam.serviceAccountUser
) na identidade do serviço -
Leitor do Artifact Registry (
roles/artifactregistry.reader
) no repositório do Artifact Registry das imagens de contentores da tarefa
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 a sua tarefa do Cloud Run interagir com Google Cloud APIs, como as bibliotecas de cliente da Google Cloud, 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.
Imagens e registos de contentores suportados
Pode usar diretamente imagens de contentores armazenadas no Artifact Registry ou no Docker Hub. A Google recomenda a utilização do Artifact Registry. As imagens do Docker Hub são armazenadas em cache durante, no máximo, uma hora.
Pode usar imagens de contentores de outros registos públicos ou privados (como o JFrog Artifactory, o Nexus ou o GitHub Container Registry) configurando um repositório remoto do Artifact Registry.
Só deve considerar o Docker Hub para implementar imagens de contentores populares, como imagens oficiais do Docker ou imagens de OSS patrocinadas pelo Docker. Para uma maior disponibilidade, a Google recomenda a implementação destas imagens do Docker Hub através de um repositório remoto do Artifact Registry.
O Cloud Run não suporta camadas de imagens de contentores com mais de 9,9 GB quando implementa a partir do Docker Hub ou de um repositório remoto do Artifact Registry com um registo externo.
Crie um novo trabalho
Pode criar uma nova tarefa através da Google Cloud consola, da Google Cloud CLI, do YAML ou do Terraform.
Consola
Para criar uma nova tarefa:
Na Google Cloud consola, aceda à página do Cloud Run:
Selecione Tarefas no menu e clique em Implementar contentor para apresentar o formulário Criar tarefa.
- No formulário, especifique a imagem do contentor que contém o código do trabalho ou selecione a partir de uma lista de contentores implementados anteriormente.
- O nome da tarefa é gerado automaticamente a partir da imagem do contentor. Pode editar ou alterar o nome da tarefa conforme necessário. Não é possível alterar o nome de uma tarefa depois de a tarefa ser criada.
- Selecione a região onde quer que o emprego esteja localizado. O seletor de regiões realça as regiões com o menor impacto de carbono.
- Especifique o número de tarefas que quer executar no trabalho. Todas as tarefas têm de ser bem-sucedidas para que o trabalho seja bem-sucedido. Por predefinição, as tarefas são executadas em paralelo.
Clique em Recipientes, volumes, trabalhar em rede, segurança para definir propriedades adicionais da tarefa.
- Em Capacidade de tarefas:
- No menu Memória, especifique a quantidade de memória necessária. O valor predefinido é o mínimo necessário, 512 MiB.
- No menu CPU, especifique a quantidade de CPU necessária. A predefinição é o mínimo necessário, ou seja, 1 CPU.
Em Limite de tempo da tarefa, especifique o período máximo em segundos durante o qual a tarefa pode ser executada, até 168 horas (7 dias). O suporte para limites de tempo superiores a 24 horas está disponível na pré-visualização. Cada tarefa tem de ser concluída dentro deste período. A predefinição é 10 minutos (600 segundos).
Em Número de novas tentativas por tarefa com falha, especifique o número de novas tentativas em caso de falhas de tarefas. O valor predefinido é 3 novas tentativas.
Em Paralelismo:
- Na maioria dos casos, pode selecionar Executar o maior número possível de tarefas em simultâneo.
- Se precisar de definir um limite inferior devido a restrições de escalabilidade nos recursos aos quais a sua tarefa acede, selecione Limitar o número máximo de tarefas simultâneas e especifique o número de tarefas simultâneas no campo Limite de paralelismo personalizado.
Opcionalmente, configure outras definições nos separadores adequados:
Quando terminar a configuração da tarefa, clique em Criar para criar a tarefa no Cloud Run.
Para executar a tarefa, consulte executar tarefas ou executar tarefas de acordo com uma programação.
gcloud
Para usar a linha de comandos, tem de ter configurado a CLI gcloud.
Para criar uma nova tarefa:
Execute o comando:
Em alternativa, use o comando deploy:gcloud run jobs create JOB_NAME --image IMAGE_URL OPTIONS
gcloud run jobs deploy JOB_NAME --image IMAGE_URL OPTIONS
Substitua o seguinte:
JOB_NAME
: o nome da tarefa que quer criar. Se omitir este parâmetro, é-lhe pedido o nome do trabalho quando executar o comando.- IMAGE_URL: uma referência à
imagem do contentor, por exemplo,
us-docker.pkg.dev/cloudrun/container/job:latest
. Opcionalmente, substitua
OPTIONS
por qualquer uma das seguintes opções:Opção Descrição --tasks
Aceita números inteiros iguais ou superiores a 1. A predefinição é 1; o máximo é 10 000. A cada tarefa são fornecidas as variáveis de ambiente CLOUD_RUN_TASK_INDEX
com um valor entre 0 e o número de tarefas menos 1, juntamente comCLOUD_RUN_TASK_COUNT
, que é o número de tarefas--max-retries
O número de vezes que uma tarefa com falha é repetida. Quando qualquer tarefa falha além deste limite, toda a tarefa é marcada como falhada. Por exemplo, se estiver definido como 1, uma tarefa com falha é repetida uma vez, para um total de duas tentativas. A predefinição é 3. Aceita números inteiros de 0 a 10. --task-timeout
Aceita uma duração como "2s". A predefinição é de 10 minutos e o máximo é de 168 horas (7 dias). O suporte para limites de tempo superiores a 24 horas está disponível na pré-visualização. --parallelism
O número máximo de tarefas que podem ser executadas em paralelo. Por predefinição, as tarefas são iniciadas o mais rapidamente possível em paralelo. Consulte Paralelismo para ver o intervalo de valores. --execute-now
Se estiver definido, imediatamente após a criação da tarefa, é iniciada uma execução da tarefa. Equivalente a chamar gcloud run jobs create
seguido degcloud run jobs execute
.Além das opções acima, também pode especificar mais configurações, como variáveis de ambiente ou limites de memória.
Para ver uma lista completa das opções disponíveis quando cria uma tarefa, consulte a documentação da linha de comandos do gcloud run jobs create.
Aguarde a conclusão da criação da tarefa. É apresentada uma mensagem de êxito após a conclusão bem-sucedida.
Para executar a tarefa, consulte executar tarefas ou executar tarefas de acordo com uma programação.
YAML
Pode armazenar a especificação do trabalho num ficheiro YAML
e, em seguida, implementá-lo
com a CLI gcloud.
Crie um novo ficheiro
job.yaml
com este conteúdo:apiVersion: run.googleapis.com/v1 kind: Job metadata: name: JOB spec: template: spec: template: spec: containers: - image: IMAGE_URL
Substitua o seguinte:
- JOB: o nome da sua tarefa do Cloud Run. Os nomes das tarefas têm de ter 49 carateres ou menos e têm de ser exclusivos por região e projeto.
- IMAGE_URL: uma referência à
imagem do contentor, por exemplo,
us-docker.pkg.dev/cloudrun/container/job:latest
.
Também pode especificar mais configurações, como variáveis de ambiente ou limites de memória.
Implemente a nova tarefa através do seguinte comando:
gcloud run jobs replace job.yaml
Terraform
Para saber como aplicar ou remover uma configuração do Terraform, consulte os comandos básicos do Terraform.
Adicione o seguinte a um recursogoogle_cloud_run_v2_job
na sua configuração do Terraform:Bibliotecas cliente
Para criar uma tarefa a partir de código:
API REST
Para criar uma tarefa, envie um POST
pedido HTTP para solicitar o
ponto final da API Cloud Run Admin jobs
.
Por exemplo, usar curl
:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X POST \ -d '{template: {template: {containers: [{image: "IMAGE_URL"}]}}}' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/jobs?jobId=JOB_NAME
Substitua o seguinte:
- ACCESS_TOKEN: um token de acesso válido para uma conta que
tenha as autorizações de IAM para criar tarefas.
Por exemplo, se tiver sessão iniciada no gcloud, pode obter um token de acesso através de
gcloud auth print-access-token
. A partir de uma instância de contentor do Cloud Run, pode obter um token de acesso através do servidor de metadados da instância de contentor. - JOB_NAME: o nome da tarefa que quer criar.
- IMAGE_URL: uma referência à
imagem do contentor, por exemplo,
us-docker.pkg.dev/cloudrun/container/job:latest
. - REGION: a Google Cloud região da tarefa.
- PROJECT_ID: o Google Cloud ID do projeto.
Localizações do Cloud Run
O Cloud Run é regional, o que significa que a infraestrutura que executa os seus serviços do Cloud Run está localizada numa região específica e é gerida pela Google para estar disponível de forma redundante em todas as zonas dessa região.
O cumprimento dos requisitos de latência, disponibilidade ou durabilidade são fatores
principais para selecionar a região onde os seus serviços do Cloud Run são executados.
Geralmente, pode selecionar a região mais próxima dos seus utilizadores, mas deve considerar a localização dos outros Google Cloudprodutos usados pelo seu serviço do Cloud Run.
A utilização Google Cloud de produtos em conjunto em várias localizações pode afetar
a latência do seu serviço, bem como o custo.
O Cloud Run está disponível nas seguintes regiões:
Sujeito aos preços de Nível 1
asia-east1
(Taiwan)asia-northeast1
(Tóquio)asia-northeast2
(Osaca)asia-south1
(Mumbai, Índia)europe-north1
(Finlândia)Baixo CO2
europe-north2
(Estocolmo)Baixo CO2
europe-southwest1
(Madrid)Baixo CO2
europe-west1
(Bélgica)Baixo CO2
europe-west4
(Países Baixos)Baixo CO2
europe-west8
(Milão)europe-west9
(Paris)Baixo CO2
me-west1
(Telavive)northamerica-south1
(México)us-central1
(Iowa)Baixo CO2
us-east1
(Carolina do Sul)us-east4
(Virgínia do Norte)us-east5
(Columbus)us-south1
(Dallas)Baixo CO2
us-west1
(Oregão)Baixo CO2
Sujeito aos preços de Nível 2
africa-south1
(Joanesburgo)asia-east2
(Hong Kong)asia-northeast3
(Seul, Coreia do Sul)asia-southeast1
(Singapura)asia-southeast2
(Jacarta)asia-south2
(Deli, Índia)australia-southeast1
(Sydney)australia-southeast2
(Melbourne)europe-central2
(Varsóvia, Polónia)europe-west10
(Berlim)Baixo CO2
europe-west12
(Turim)europe-west2
(Londres, Reino Unido)Baixo CO2
europe-west3
(Frankfurt, Alemanha)europe-west6
(Zurique, Suíça)Baixo CO2
me-central1
(Doha)me-central2
(Dammam)northamerica-northeast1
(Montreal)Baixo CO2
northamerica-northeast2
(Toronto)Baixo CO2
southamerica-east1
(São Paulo, Brasil)Baixo CO2
southamerica-west1
(Santiago, Chile)Baixo CO2
us-west2
(Los Angeles)us-west3
(Salt Lake City)us-west4
(Las Vegas)
Se já criou um serviço do Cloud Run, pode ver a região no painel de controlo do Cloud Run na Google Cloud consola.
Quando cria uma nova tarefa, o agente de serviço do Cloud Run tem de poder aceder ao contentor, o que acontece por predefinição.
Atualize uma tarefa existente
A alteração de quaisquer definições de configuração requer a atualização da tarefa, mesmo que não haja alterações à imagem do contentor. Tenha em atenção que, para todas as definições inalteradas, as definições anteriores continuam a ser usadas.
Pode atualizar uma tarefa existente através da Google Cloud consola, da CLI Google Cloud, do YAML ou do Terraform.
Consola
Para atualizar uma tarefa existente:
Na Google Cloud consola, aceda à página do Cloud Run:
Clique no separador Tarefas para apresentar a lista de tarefas.
Clique na tarefa para apresentar a página Detalhes da tarefa.
Clique em Edit.
Se fez alterações ao código do trabalho, especifique o novo resumo da imagem do contentor.
Opcionalmente, altere o número de tarefas no trabalho, se necessário.
Opcionalmente, clique em Recipientes, volumes, rede, segurança para atualizar quaisquer propriedades adicionais da tarefa:
- Em Capacidade de tarefas:
- No menu Memória, especifique a quantidade de memória necessária. O valor predefinido é o mínimo necessário, 512 MiB.
- No menu CPU, especifique a quantidade de CPU necessária. A predefinição é o mínimo necessário, ou seja, 1 CPU.
- Em Limite de tempo da tarefa, especifique o período máximo em segundos durante o qual a tarefa pode ser executada, até 168 horas (7 dias). O suporte para limites de tempo superiores a 24 horas está disponível na pré-visualização. Cada tarefa tem de ser concluída dentro deste período. A predefinição é 10 minutos (600 segundos).
- Em Número de novas tentativas por tarefa com falha, especifique o número de novas tentativas em caso de falhas de tarefas. A predefinição são 3 novas tentativas.
Em Paralelismo:
- Na maioria dos casos, pode selecionar Executar o maior número possível de tarefas em simultâneo.
- Se precisar de definir um limite inferior devido a restrições de escalabilidade nos recursos aos quais a sua tarefa acede, selecione Limitar o número de tarefas simultâneas e especifique o número máximo de tarefas simultâneas no campo Limite de paralelismo personalizado.
Opcionalmente, configure outras definições nos separadores adequados:
Quando terminar de configurar a tarefa, clique em Guardar para criar a tarefa no Cloud Run e aguarde que a criação da tarefa termine.
Para executar a tarefa, consulte executar tarefas ou executar tarefas de acordo com uma programação.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Execute o comando:
gcloud run jobs update JOB_NAME
Substitua o seguinte:
JOB_NAME
: o nome da tarefa que quer atualizar.Opcionalmente, substitua
OPTIONS
pelas seguintes opções:Opção Descrição --tasks
Aceita números inteiros iguais ou superiores a 1. A predefinição é 1; o máximo é 10 000. A cada tarefa são fornecidas as variáveis de ambiente CLOUD_RUN_TASK_INDEX
com um valor entre 0 e o número de tarefas menos 1, juntamente comCLOUD_RUN_TASK_COUNT
, que é o número de tarefas--max-retries
O número de vezes que uma tarefa com falha é repetida. Quando qualquer tarefa falha além deste limite, toda a tarefa é marcada como falhada. Por exemplo, se estiver definido como 1, uma tarefa com falha é repetida uma vez, para um total de duas tentativas. A predefinição é 3
. Aceita números inteiros de 0 a 10.--task-timeout
Aceita uma duração como "2s". A predefinição é de 10 minutos e o máximo é de 168 horas (7 dias). O suporte para limites de tempo superiores a 24 horas está disponível na pré-visualização. --parallelism
O número máximo de tarefas que podem ser executadas em paralelo. Por predefinição, as tarefas são iniciadas o mais rapidamente possível, em paralelo. Consulte Paralelismo para ver o intervalo de valores.
Além das opções anteriores, pode definir outras definições de configuração opcionais:
- Configuração do contentor
- Limites da CPU
- Limites de memória
- Segredos
- Variáveis de ambiente
- Marcadores
- Contas de serviço
- Ligações do Cloud SQL
- Ligação VPC
Para ver uma lista completa das opções disponíveis quando cria uma tarefa, consulte a documentação da linha de comandos do gcloud run jobs create.
Aguarde que a atualização da tarefa termine. Após a conclusão com êxito, é apresentada uma mensagem de êxito semelhante à seguinte:
Job [JOB_NAME] has been successfully updated. View details about this job by running `gcloud run jobs describe JOB_NAME`. See logs for this execution at: https://console.cloud.google.com/logs/viewer?project=PROJECT_ID&resource=cloud_run_revision/service_name/JOB_NAME
Para executar a tarefa, consulte executar tarefas ou executar tarefas de acordo com uma programação.
Atualize a configuração da tarefa existente:
gcloud run jobs replace job.yaml
Para executar a tarefa, consulte executar tarefas ou executar tarefas de acordo com uma programação.
- ACCESS_TOKEN: um token de acesso válido para uma conta que
tenha as autorizações do IAM para atualizar tarefas.
Por exemplo, se tiver sessão iniciada no gcloud, pode obter um token de acesso através de
gcloud auth print-access-token
. A partir de uma instância de contentor do Cloud Run, pode obter um token de acesso através do servidor de metadados da instância de contentor. - JOB_NAME: o nome da sua profissão que quer atualizar.
- IMAGE_URL: uma referência à
imagem do contentor, por exemplo,
us-docker.pkg.dev/cloudrun/container/job:latest
. - REGION: a Google Cloud região da tarefa.
- PROJECT_ID: o Google Cloud ID do projeto.
YAML
Se precisar de transferir ou ver a configuração de uma tarefa existente, use o seguinte comando para guardar os resultados num ficheiro YAML:
gcloud run jobs describe JOB --format export > job.yaml
A partir de um ficheiro YAML de configuração de tarefas, modifique os spec.template
atributos secundários
conforme necessário para atualizar as definições de configuração e, em seguida, volte a implementar:
Terraform
Faça alterações à configuração da tarefa no ficheiro main.tf
com o comando
terraform apply
. Estão disponíveis instruções detalhadas do Terraform para:
Para mais informações, consulte as opções da linha de comandos terraform apply
.
Bibliotecas cliente
Para atualizar uma tarefa existente a partir do código:
API REST
Para atualizar uma tarefa, envie um pedido HTTP para o ponto final da jobs
API Admin do Cloud Run.PATCH
Por exemplo, usar curl
:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X PATCH \ -d '{template: {template: {containers: [{image: "IMAGE_URL"}]}}}' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/jobs/JOB_NAME
Substitua o seguinte:
Exemplo de código
Para ver exemplos de código que mostram tarefas, consulte os inícios rápidos específicos do idioma.
Implemente vários contentores num trabalho (sidecars)
Numa implementação de tarefas do Cloud Run com vários contentores (sidecars), existe um contentor de tarefas principal que encapsula a configuração da tarefa e um ou mais contentores sidecar.
Pode implementar até 10 contentores por instância, incluindo o contentor de tarefas principal. Todos os contentores numa instância partilham o mesmo espaço de nomes de rede e podem partilhar ficheiros através de um volume partilhado na memória.
Exemplos de utilização
Os sidecars são usados frequentemente para os seguintes exemplos de utilização:
- Obter métricas personalizadas de tarefas do Cloud Run e enviá-las para um back-end especificado à sua escolha através de agentes de recolha, como o Prometheus ou o Opentelemetry.
- Permitir que as aplicações sem lógica do Hashicorp Vault incorporada usem segredos estáticos e dinâmicos provenientes do Vault através do Vault sidecar.
Implemente uma tarefa com contentores auxiliares
Pode implementar vários sidecars num trabalho do Cloud Run através da Google Cloud consola, da Google Cloud CLI ou de YAML.
Clique no separador para ver instruções sobre como usar a ferramenta da sua escolha.
Consola
Na Google Cloud consola, aceda à página do Cloud Run:
Para implementar num trabalho existente, clique em Trabalhos, localize o trabalho na lista de trabalhos e clique para o abrir. Em seguida, clique em Ver e editar configuração para apresentar o formulário de edição de trabalhos.
Para um novo trabalho, clique em Implementar contentor e, de seguida, em Trabalho. Indique o nome da tarefa e o URL da imagem do contentor da tarefa principal que quer implementar.
Clique em Recipientes, volumes, trabalhar em rede, segurança
No cartão Editar contentor, configure o contentor de tarefas principal conforme necessário.
Clique em Adicionar contentor e configure um contentor sidecar que quer adicionar juntamente com o contentor de trabalho principal. Se o sidecar depender de outro contentor no serviço, indique-o no menu pendente Ordem de arranque do contentor. Repita este passo para cada contentor secundário que estiver a implementar.
Clique em Criar para um novo serviço ou em Atualizar para uma tarefa existente e, em seguida, aguarde que a implementação termine.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Para implementar vários contentores numa tarefa, execute o seguinte comando:
gcloud run jobs create JOB \ --container JOB_CONTAINER_NAME \ --image='IMAGE_URL' \ --container SIDECAR_CONTAINER_NAME \ --image='SIDECAR_IMAGE'
Substitua o seguinte:
- JOB: o nome da tarefa para a qual está a fazer a implementação. Pode omitir este parâmetro por completo, mas é-lhe pedido o nome do trabalho se o omitir.
- JOB_CONTAINER_NAME: um nome para o contentor de tarefas principal.
- IMAGE_URL: uma referência à
imagem do contentor, por exemplo,
us-docker.pkg.dev/cloudrun/container/job:latest
. - SIDECAR_CONTAINER_NAME: um nome para o contentor auxiliar, por exemplo,
sidecar
. - SIDECAR_IMAGE: uma referência à imagem do contentor auxiliar.
Se quiser configurar cada contentor no comando de implementação, forneça a configuração de cada contentor após os parâmetros
container
, por exemplo:gcloud run jobs create JOB \ --container CONTAINER_1_NAME \ --image='IMAGE_URL' \ --set-env-vars=KEY=VALUE \ --container SIDECAR_CONTAINER_NAME \ --image='SIDECAR_IMAGE' \ --set-env-vars=KEY_N=VALUE_N
Aguarde até que a implementação dos trabalhos termine. Após a conclusão com êxito, é apresentada uma mensagem de êxito.
- JOB com o nome do contentor da tarefa principal do Cloud Run. Os nomes das tarefas têm de ter 49 carateres ou menos.
- IMAGE_URL: uma referência à
imagem do contentor, por exemplo,
us-docker.pkg.dev/cloudrun/container/job:latest
. - SIDECAR_IMAGE: uma referência à imagem do contentor auxiliar.
- JOB_NAME: o nome da sua tarefa do Cloud Run.
- CONTAINER_NAME: o nome do contentor.
- IMAGE_URL: uma referência à
imagem do contentor, por exemplo,
us-docker.pkg.dev/cloudrun/container/job:latest
. - SIDECAR_CONTAINER_NAME: o nome do contentor auxiliar.
- SIDECAR_IMAGE_URL: uma referência à imagem do contentor auxiliar.
YAML
Estas instruções mostram um ficheiro YAML básico para a sua tarefa do Cloud Run com sidecars.
Crie um ficheiro denominado job.yaml
com o seguinte conteúdo:
apiVersion: run.googleapis.com/v1 kind: Job metadata: name: JOB spec: template: spec: containers: - image: IMAGE_URL - image: SIDECAR_IMAGE
Substitua o seguinte:
Depois de atualizar o YAML para incluir os contentores de entrada e auxiliares, implemente-o no Cloud Run através do comando:
gcloud run jobs replace job.yaml
Terraform
Para saber como aplicar ou remover uma configuração do Terraform, consulte os comandos básicos do Terraform.
Adicione o seguinte a um recursogoogle_cloud_run_v2_job
na sua configuração do Terraform:resource "google_cloud_run_v2_job" "default" {
name = "JOB_NAME"
location = "europe-west1"
template {
template {
containers {
name = "CONTAINER_NAME"
image = "IMAGE_URL"
}
containers {
name = "SIDECAR_CONTAINER_NAME"
image = "SIDECAR_IMAGE_URL"
}
}
}
}
Substitua o seguinte:
Funcionalidades disponíveis para implementações com sidecars
Pode especificar a ordem de arranque do contentor numa implementação com vários contentores, se tiver dependências que exijam que alguns contentores sejam iniciados antes de outros contentores na implementação.
Se tiver contentores que dependam de outros contentores, tem de usar verificações de estado de arranque na sua implementação. Se usar verificações de estado, o Cloud Run segue a ordem de início do contentor e inspeciona o estado de cada contentor, garantindo que cada um é aprovado com êxito antes de o Cloud Run iniciar o contentor seguinte na ordem. Se não usar verificações de saúde, os contentores saudáveis são iniciados mesmo que os contentores dos quais dependem não estejam em execução.
Vários contentores numa única instância podem aceder a um volume na memória partilhado, que é acessível a cada contentor através de pontos de montagem que cria.
O que se segue?
Depois de criar ou atualizar uma tarefa, pode fazer o seguinte:
- Execute um trabalho
- Execute uma tarefa com base numa programação
- Faça a gestão de serviços
- Faça a gestão das execuções de tarefas
- Veja os registos de tarefas
- Monitorize o desempenho das tarefas
- Defina limites de memória
- Defina variáveis de ambiente