Este guia fornece uma vista geral introdutória de como outros Google Cloud serviços estão envolvidos no processo de implementação das funções do Cloud Run.
Antes de começar
Familiarize-se com as funções do Cloud Run e os conceitos de implementação de origem a partir do guia Opções de implementação e modelo de recursos do Cloud Run.
Vista geral da arquitetura
Quando implementa o código-fonte da sua função nas funções do Cloud Run, esse código-fonte é armazenado num contentor do Cloud Storage. Em seguida, o Cloud Build compila automaticamente o seu código numa imagem de contentor e envia essa imagem para um registo de imagens do Artifact Registry. As funções do Cloud Run acedem a esta imagem quando precisam de executar o contentor para executar a sua função.
No diagrama seguinte, a caixa de funções do Cloud Run representa uma função implementada no Cloud Run, através da API Cloud Run Admin ou da API Cloud Functions. Normalmente, as funções mais recentes são implementadas através da Cloud Run Admin API e as funções mais antigas são implementadas através da Cloud Functions API.
Consoante a API usada quando implementa uma função, ocorre o seguinte:
Se implementou a sua função através da API Cloud Run Admin, ocorre o seguinte:
O seu código fonte é carregado para um contentor do Cloud Storage que não tem um período de retenção.
- Se estiver a usar a encriptação predefinida, o nome do contentor é gerado automaticamente e tem o nome
run-sources-PROJECT_ID-REGION
. - Se estiver a proteger os seus dados com chaves de encriptação geridas pelo cliente (CMEK), o nome do contentor não é gerado automaticamente e tem de fornecer um nome do contentor.
- Se estiver a usar a encriptação predefinida, o nome do contentor é gerado automaticamente e tem o nome
O código fonte é enviado para o Cloud Build, onde os buildpacks do Google Cloud e o Functions Framework criam uma imagem de contentor. Tenha em atenção que a conta de serviço do Cloud Build cria a imagem do contentor. Por predefinição, o Cloud Run usa o
e2-standard-2
tipo de máquina fornecido pelo Cloud Build.A imagem do contentor é, em seguida, carregada para o Artifact Registry através de um contentor criado automaticamente denominado
REGION-docker.pkg.dev/PROJECT_ID/cloud-run-source-deploy
.A imagem é implementada no Cloud Run como um serviço.
Pode acionar ou invocar a função com o Eventarc, o Pub/Sub ou outros acionadores HTTP.
Se implementou a sua função através da Cloud Functions API (v2), ocorre o seguinte:
O seu código fonte é carregado para um contentor do Cloud Storage que não tem um período de retenção.
O nome do contentor é gerado automaticamente e segue este formato:
- Se estiver a usar a encriptação predefinida, este contentor tem o nome
gcf-v2-sources-PROJECT_NUMBER-REGION
. - Se estiver a proteger os seus dados com a CMEK, o contentor tem o nome
gcf-sources-PROJECT_NUMBER-REGION-CMEK_KEY_HASH
.
- Se estiver a usar a encriptação predefinida, este contentor tem o nome
O código fonte é enviado para o Cloud Build, onde os buildpacks do Google Cloud e o Functions Framework criam uma imagem de contentor. Tenha em atenção que a conta de serviço do Cloud Build cria a imagem do contentor. Por predefinição, o Cloud Run usa o
e2-standard-2
tipo de máquina fornecido pelo Cloud Build.A imagem do contentor é, em seguida, carregada para o Artifact Registry através de um contentor criado automaticamente denominado
REGION-docker.pkg.dev/PROJECT_ID/gcf-artifacts
.A imagem é implementada no Cloud Run como um serviço.
Pode acionar ou invocar a função com o Eventarc, o Pub/Sub ou outros acionadores HTTP.
O que se segue?
- Saiba mais sobre os diferentes tipos de funções e as suas opções para acionar funções.
- Se criou anteriormente funções com a API Cloud Functions, consulte o guia de comparação de funções do Cloud Run para saber mais sobre as diferenças entre as duas versões das funções do Cloud Run.