Vista geral das funções do Cloud Run

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.

Chame a API Cloud Run Admin a partir da consola Google Cloud .
Figura 1. Um utilizador prepara o código-fonte das funções e implementa-o no Cloud Run.

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:

    1. O seu código fonte é carregado para um contentor do Cloud Storage que não tem um período de retenção.

      1. Se estiver a usar a encriptação predefinida, o nome do contentor é gerado automaticamente e tem o nome run-sources-PROJECT_ID-REGION.
      2. 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.
    2. 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.

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

    4. A imagem é implementada no Cloud Run como um serviço.

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

    1. 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:

      1. Se estiver a usar a encriptação predefinida, este contentor tem o nome gcf-v2-sources-PROJECT_NUMBER-REGION.
      2. Se estiver a proteger os seus dados com a CMEK, o contentor tem o nome gcf-sources-PROJECT_NUMBER-REGION-CMEK_KEY_HASH.
    2. 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.

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

    4. A imagem é implementada no Cloud Run como um serviço.

    5. Pode acionar ou invocar a função com o Eventarc, o Pub/Sub ou outros acionadores HTTP.

O que se segue?