Esta é uma versão Pré-lançamento da documentação do Cloud Run for Anthos para uso com frotas do Anthos e o Anthos Service Mesh. Saiba mais

A versão atual de GA da documentação do Cloud Run for Anthos continua disponível para os usuários atuais. As novas avaliações de produto durante o teste gratuito devem usar a documentação de instalação de visualização.

Guia de início rápido: eventos do Cloud Run for Anthos

Nesta página, mostramos como configurar eventos no Cloud Run for Anthos e receber eventos do Cloud Storage.

Neste guia de início rápido, você fará as seguintes tarefas:

  1. Criar um cluster do GKE e ativar o Cloud Run for Anthos.
  2. Inicializar eventos do Cloud Run for Anthos.
  3. Criar um agente de eventos para rotear eventos da origem para o receptor.
  4. Implantar um serviço do Cloud Run for Anthos que recebe eventos.
  5. Configurar o Cloud Storage para gerar eventos.
  6. Gerar e visualizar um evento.

Antes de começar

  1. Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
  2. No Console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  3. Verifique se o faturamento está ativado para seu projeto na nuvem. Saiba como confirmar se o faturamento está ativado para o projeto.

  4. Instale e inicialize o SDK do Cloud..
  5. No Console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  6. Verifique se o faturamento está ativado para seu projeto na nuvem. Saiba como confirmar se o faturamento está ativado para o projeto.

  7. Instale e inicialize o SDK do Cloud..
  8. Verifique se você está usando a versão mais recente da ferramenta de linha de comando gcloud.
  9. Defina a ferramenta de linha de comando gcloud para usar seu projeto do GCP:

    gcloud config set project PROJECT-ID
    

  10. Instale os componentes Beta da ferramenta de linha de comando gcloud:

    gcloud components install beta
    

  11. Ative os serviços usados neste guia de início rápido:

    gcloud services enable cloudapis.googleapis.com
    gcloud services enable container.googleapis.com
    gcloud services enable containerregistry.googleapis.com
    gcloud services enable cloudbuild.googleapis.com
    
  12. Defina as variáveis de configuração da ferramenta de linha de comando gcloud:
    gcloud config set run/cluster events-cluster
    gcloud config set run/cluster_location us-central1
    gcloud config set run/platform gke
    

  13. Opcional: é possível verificar os parâmetros de configuração usando a ferramenta de linha de comando gcloud. Basta digitar:

    gcloud config list
    

    A resposta será semelhante a:

    [run]
    cluster = events-cluster
    cluster_location = us-central1
    platform = gke
    

Como criar um cluster do GKE com o Cloud Run for Anthos ativado

  1. Para criar um cluster do Google Kubernetes Engine para o Cloud Run for Anthos com os complementos CloudRun, HttpLoadBalancing e HorizontalPodAutoscaling ativados:

    gcloud beta container clusters create events-cluster \
      --addons=HttpLoadBalancing,HorizontalPodAutoscaling,CloudRun \
      --machine-type=n1-standard-4 \
      --enable-autoscaling --min-nodes=3 --max-nodes=10 \
      --no-issue-client-certificate --num-nodes=3  \
      --enable-stackdriver-kubernetes \
      --scopes=cloud-platform,logging-write,monitoring-write,pubsub \
      --zone us-central1 \
      --release-channel=rapid
    
  2. Aguarde alguns minutos para que a criação do cluster seja concluída. Durante o processo de criação, talvez você veja avisos que podem ser ignorados com segurança. Quando a criação do cluster for concluída, a resposta será semelhante a esta:

    Creating cluster events-cluster...done.
    Created [https://container.googleapis.com/v1beta1/ \
    projects/my-project/zones/us-central1/clusters/events-cluster].
    

    em que my-project é o ID do projeto. Você acabou de criar um novo cluster do Google Kubernetes Engine chamado events-cluster no projeto my-project.

Como inicializar eventos do Cloud Run for Anthos

Para inicializar eventos do Cloud Run for Anthos:

  1. Inicialize eventos do Cloud Run for Anthos usando a ferramenta de linha de comando gcloud:

    gcloud beta events init --platform gke
    
    1. Quando solicitado, selecione events-cluster como o cluster do GKE.

    2. Insira Y em todas as solicitações que pedem para criar contas de serviço, vinculá-las a papéis específicos, gerar novas chaves e ativar os serviços necessários.

    Isso cria pods em dois namespaces do Kubernetes chamados cloud-run-events e knative-eventing.

  2. Opcional: verifique se a criação do pod foi bem-sucedida:

    kubectl get pods -n cloud-run-events
    

    A resposta será semelhante a:

      NAME                         READY   STATUS    RESTARTS   AGE
      controller-9cc679b67-2952n   1/1     Running   0          22s
      webhook-8576c4cfcb-dhz82     1/1     Running   0          16m
    

    Para verificar os pods do namespace knative-eventing, digite:

    kubectl get pods -n knative-eventing
    

    A resposta será semelhante a:

      NAME                                   READY   STATUS    RESTARTS   AGE
      eventing-controller-77f46f6cf8-kj9ck   1/1     Running   0          17m
      eventing-webhook-5bc787965f-hcmwg      1/1     Running   0          17m
    

Como criar um agente de eventos

No Cloud Run for Anthos, os agentes encaminham os eventos da origem para um serviço de destino. Neste guia de início rápido, você criará um agente que encaminhará eventos do Cloud Storage para um serviço do Cloud Run for Anthos.

Para criar um agente:

  1. Crie um namespace events:

    kubectl create namespace events
    
  2. Inicialize o namespace com o secret padrão:

    gcloud beta events namespaces init events \
      --copy-default-secret
    
  3. Crie o agente de eventos:

    gcloud beta events brokers create default \
      --namespace events
    
  4. Opcional: depois de alguns minutos, verifique o status do agente executando:

    kubectl get brokers \
      -n events
    

Como implantar um serviço do Cloud Run for Anthos para receber eventos

Implantar um serviço do Cloud Run for Anthos que recebe eventos do agente e os registra.

Para implantar o serviço Cloud Run for Anthos:

  1. Para clonar o repositório:

    Python

    git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git
    cd python-docs-samples/eventarc/audit-storage
    

    Java

    git clone https://github.com/GoogleCloudPlatform/java-docs-samples.git
    cd java-docs-samples/eventarc/audit-storage
    

    Go

    git clone https://github.com/GoogleCloudPlatform/golang-samples.git
    cd golang-samples/eventarc/audit_storage
    

    Node.js

    git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git
    cd nodejs-docs-samples/eventarc/audit-storage
    

    C#

    git clone https://github.com/GoogleCloudPlatform/dotnet-docs-samples.git
    cd dotnet-docs-samples/eventarc/audit-storage
    
  2. Para criar o contêiner e fazer o upload dele no Cloud Build:

    gcloud builds submit \
     --tag gcr.io/$(gcloud config get-value project)/events-quickstart-container
    
  3. Para implantar a imagem de contêiner no Cloud Run for Anthos:

    gcloud run deploy events-quickstart-receiver \
       --namespace=events \
       --image gcr.io/$(gcloud config get-value project)/events-quickstart-container
    

    Quando o URL do serviço aparecer, significa que ele foi implantado.

Como configurar o Cloud Storage

O Cloud Storage gera eventos quando há alterações no bucket de armazenamento e os envia ao agente de eventos. Para configurar o Cloud Storage, siga estas etapas:

  1. Crie um bucket do Cloud Storage usando a ferramenta de linha de comando gsutil:

    gsutil mb \
        -p $(gcloud config get-value project) \
        -l us-central1 \
        gs://"events-quickstart-$(gcloud config get-value project)"
    

    Neste exemplo, o bucket do Cloud Storage é criado na região us-central1.

  2. Recupere a conta de serviço do Cloud Storage:

    curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      "https://storage.googleapis.com/storage/v1/projects/$(gcloud config get-value project)/serviceAccount"
    
  3. Conceda os direitos de publicação na conta de serviço do Cloud Storage ao Pub/Sub:

    gcloud projects add-iam-policy-binding $(gcloud config get-value project) \
        --member=serviceAccount:CLOUD-STORAGE-SERVICE-ACCOUNT \
        --role roles/pubsub.publisher
    

Como criar um gatilho do Cloud Storage

Ao criar um gatilho, é necessário especificar o serviço do Cloud Run for Anthos que recebe eventos do Cloud Storage.

  1. Para criar o gatilho do Cloud Storage:

    gcloud beta events triggers create trigger-storage \
      --namespace events \
      --target-service events-quickstart-receiver \
      --type=google.cloud.storage.object.v1.finalized \
      --parameters bucket=events-quickstart-$(gcloud config get-value project)
    

    Isso cria um gatilho para o bucket events-quickstart-bucket do Cloud Storage.

  2. Opcional: execute o seguinte comando para verificar o status do gatilho:

    gcloud beta events triggers list \
      --namespace=events
    
  3. A criação do gatilho está completa e pronta, mas o processo pode levar até 10 minutos para propagar e filtrar os eventos do Cloud Storage.

Como gerar e ver um evento

  1. Para gerar um evento, crie um arquivo de texto com o nome random.txt contendo o texto "Hello World" e faça upload dele no Cloud Storage usando a ferramenta de linha de comando gsutil.

    echo "Hello World" > random.txt
    gsutil cp random.txt gs://events-quickstart-$(gcloud config get-value project)/random.txt
    

    O upload gera um evento e o serviço do Cloud Run for Anthos registra a mensagem do evento.

  2. Para ver a mensagem no Cloud Logging:

    Acessar a página "Visualizador de registros"

Parabéns! Você implantou os eventos do Cloud Run for Anthos, acionou um evento e registrou o conteúdo dele.

Limpeza

Para interromper o faturamento de todos os recursos usados no projeto de teste do Cloud, exclua o projeto:

  1. No Console do Cloud, acesse a página Gerenciar recursos:

    Acessar "Gerenciar recursos"

  2. Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir .
  3. Na caixa de diálogo, digite o ID do projeto e clique em Encerrar para excluí-lo.

A seguir