Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Trigger Knative services with EventBridge

Última atualização: Jun 27, 2026

O Knative Eventing oferece um modelo completo de eventos para integrar fontes externas. Implante o Knative Eventing no cluster ACK e crie triggers para rotear eventos do EventBridge para Serviços Knative, habilitando workloads orientados a eventos.

Pré-requisitos

Como funciona

O EventBridge recebe eventos de diversas fontes. Configure um barramento de eventos, regras e alvos para filtrar, transformar e rotear esses eventos para os Serviços Knative, permitindo o consumo sob demanda. A figura a seguir ilustra a arquitetura.

Nota

É possível conectar o OSS ao EventBridge como fonte de eventos. Consulte Eventos do OSS para verificar os tipos de eventos compatíveis.

image

Etapa 1: Implantar os componentes Eventing e EventBridge

O Knative utiliza o EventBridge para recursos orientados a eventos, com suporte a fontes de eventos da Alibaba Cloud e encaminhamento de eventos.

  1. Faça login no console do ACK. No painel de navegação à esquerda, clique em Clusters.

  2. Na página Clusters, clique no nome do cluster. No painel de navegação à esquerda, clique em Applications > Knative.

  3. Na aba Add-ons, implante os componentes Eventing e EventBridge.

    1. Ainda na aba Add-ons, localize o componente Eventing e clique em Deployments na coluna Actions.

    2. Após implantar o Eventing, localize o componente EventBridge e clique em Deployments na coluna Actions. Insira o AccessKey ID e o AccessKey secret e clique em OK.

      Consulte Criar um par de AccessKey.

      Nota

      Para aumentar a segurança do usuário RAM, vincule um dispositivo MFA para autenticação secundária durante o login no console ou ao executar operações sensíveis. Essa medida adiciona uma camada extra de proteção além do nome de usuário e senha. Para mais informações, consulte Vincular um dispositivo MFA a um usuário RAM.

    Se o Status dos componentes for Deployed, a implantação foi bem-sucedida.

Etapa 2: Criar um Serviço Knative

Crie um Serviço Knative chamado event-display para registrar os eventos recebidos nos logs. Use o console do ACK ou o kubectl.

Console

  1. Faça login no console do ACK. No painel de navegação à esquerda, clique em Clusters.

  2. Na página Clusters, clique no nome do cluster. No painel de navegação à esquerda, clique em Applications > Knative.

  3. Na aba Services, clique em Create from Template.

    Exemplo:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: event-display
      namespace: default
    spec:
      template:
        spec:
          containers:
          - image: registry.cn-hangzhou.aliyuncs.com/knative-sample/event-display:20230207194118_3874dbd

    Na aba Services, o Status igual a Success confirma a criação do serviço.

Kubectl

  1. Salve o conteúdo abaixo como event-display.yaml e aplique-o:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: event-display
      namespace: default
    spec:
      template:
        spec:
          containers:
          - image: registry.cn-hangzhou.aliyuncs.com/knative-sample/event-display:20230207194118_3874dbd
    kubectl apply -f event-display.yaml
  2. Verifique o status do Serviço Knative:

    kubectl get ksvc

    Saída esperada:

    NAME            URL                                        LATESTCREATED         LATESTREADY           READY   REASON
    event-display   http://event-display.default.example.com   event-display-00001   event-display-00001   True    

Etapa 3: Criar um trigger

Console

  1. Na página Knative, clique na aba Services. Clique no serviço de destino e, em seguida, na aba Trigger.

  2. Clique em Create Trigger. Na página Configuration, defina os seguintes parâmetros:

    Parâmetro

    Descrição

    Exemplo

    Name

    Nome do trigger.

    my-service-trigger

    Broker

    Selecione EventBridge ou Others.

    EventBridge

    Event Source

    Selecione uma fonte de eventos.

    OSS

    Event Type

    Selecione um tipo de evento.

    oss:ActionTrail:ConsoleOperation

    O trigger aparecerá na aba Triggers.

Kubectl

  1. Salve o conteúdo abaixo como my-service-trigger.yaml e aplique-o:

    apiVersion: eventing.knative.dev/v1
    kind: Trigger
    metadata:
      name: my-service-trigger
    spec:
      broker: eventbridge-default-broker
      filter:
        attributes:
          source: acs.oss
          type: 'oss:ActionTrail:ConsoleOperation'
      subscriber:
        ref:
          apiVersion: serving.knative.dev/v1
          kind: Service
          name: event-display
          namespace: default
    • broker: O eventbridge-default-broker, correspondente ao barramento de eventos padrão (default) no EventBridge.

    • source: A fonte do evento.

    • type: O tipo de evento. Separe vários tipos com vírgula (,).

    • subscriber: O Serviço Knative de destino.

    kubectl apply -f my-service-trigger.yaml
  2. Verifique o status do trigger:

     kubectl get triggers

    Saída esperada:

    NAME                 BROKER                       SUBSCRIBER_URI                                   AGE   READY   REASON
    my-service-trigger   eventbridge-default-broker   http://event-display.default.svc.cluster.local   42h   True    

Etapa 4: Verificar o consumo de eventos

  1. Carregue um arquivo no bucket OSS.

    Nota

    O bucket OSS e o EventBridge devem estar na mesma região.

    ossutil cp <file_name> oss://<bucket_name>

    Após o upload, o EventBridge aciona o Serviço Knative para consumir o evento.

  2. Visualize o Rastreamento de Eventos.

    1. Faça login no console do EventBridge. No painel de navegação à esquerda, clique em Event Buses.

    2. Localize o barramento de eventos default e clique em Event Tracking na coluna Actions. Na aba Query By Time Range, defina um Time Range e clique em Search.

    3. Encontre o evento cuja Event Source seja Object Storage Service e cujo Event Type seja Upload Object. Clique em Event Trace na coluna Actions.

      Um status de entrega Succeeded com resposta [200] confirma que o EventBridge entregou o evento.

      A página Event Trace exibe o status completo da entrega.

  3. Confirme se o Serviço Knative consumiu o evento.

    1. Verifique o pod criado para consumir o evento:

      kubectl get pod

      Saída esperada:

      NAME                                              READY   STATUS    RESTARTS         AGE
      event-display-00001-deployment-56cc79****-z2vhv   2/2     Running   0                7s
    2. Visualize os logs para confirmar que o Serviço Knative registrou o evento:

      kubectl logs event-display-00001-deployment-56cc79****-z2vhv user-container

      Saída esperada:

      {"data":{"eventVersion":"1.0","responseElements":{"requestId":"63E21F5FEE852133319101AD"},"eventSource":"acs:oss","eventTime":"2023-02-07T09:52:31.000Z","requestParameters":{"sourceIPAddress":"XX.XXX.XX.XXX"},"eventName":"ObjectCreated:PutObject","userIdentity":{"principalId":"1118324452360952"},"region":"cn-hangzhou","oss":{"bucket":{"name":"knative","arn":"acs:oss:cn-hangzhou:1581204543170042:knative","virtualBucket":"","ownerIdentity":"1581204543170042"},"ossSchemaVersion":"1.0","object":{"size":225496,"objectMeta":{"mimeType":"application/octet-stream"},"deltaSize":0,"eTag":"B350C082843DAC7E9E634193437EBA30","key":"demo.data"}}}}

    A saída confirma que o Serviço Knative consumiu o evento de upload de arquivo do OSS.