All Products
Search
Document Center

Container Service for Kubernetes:Memicu layanan Knative dengan EventBridge

Last Updated:Jun 21, 2026

Knative Eventing menyediakan model event yang komprehensif untuk menyederhanakan integrasi dengan sistem event eksternal. Anda dapat mengaktifkan kemampuan berbasis event dengan menerapkan komponen Knative Eventing dan membuat pemicu (trigger) di kluster ACK. Topik ini menjelaskan cara menggunakan EventBridge untuk menambahkan kemampuan berbasis event tingkat produksi ke Knative.

Prasyarat

Cara kerja

EventBridge mendukung berbagai sumber event. Dengan mengonfigurasi event bus, aturan event, dan target event, Anda dapat menyaring dan mentransformasi event tersebut. Event-event ini kemudian dapat memicu Layanan Knative untuk mengonsumsinya, sehingga memungkinkan penggunaan resource sesuai permintaan. Gambar berikut menunjukkan arsitektur tersebut.

Catatan

Anda dapat menghubungkan OSS ke EventBridge sebagai sumber event. Untuk informasi selengkapnya tentang jenis event yang dapat dipublikasikan OSS ke event bus di EventBridge, lihat Event OSS.

Langkah 1: Terapkan komponen Eventing dan EventBridge

Knative menggunakan EventBridge untuk menyediakan kemampuan berbasis event, mendukung sumber event resmi Alibaba Cloud maupun penerusan event.

  1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

  2. Pada halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Applications > Knative.

  3. Pada tab Add-ons, terapkan komponen Eventing dan EventBridge.

    1. Pada tab Add-ons, temukan komponen Eventing dan klik Deployments di kolom Actions.

    2. Setelah Eventing diterapkan, temukan komponen EventBridge dan klik Deployments di kolom Actions. Di kotak dialog, masukkan ID AccessKey dan Rahasia AccessKey Anda, lalu klik OK.

      Untuk informasi tentang cara memperoleh Pasangan Kunci Akses, lihat Buat Pasangan Kunci Akses.

      Catatan

      Untuk meningkatkan keamanan Pengguna RAM Anda, Anda dapat mengikat perangkat MFA untuk otentikasi sekunder saat masuk ke konsol atau saat melakukan operasi sensitif. Hal ini memberikan lapisan perlindungan tambahan selain username dan password. Untuk informasi selengkapnya, lihat Ikatan perangkat MFA untuk Pengguna RAM.

    Jika Status komponen adalah Digunakan, penerapan berhasil.

Langkah 2: Buat Layanan Knative

Pada bagian ini, Anda membuat Layanan Knative bernama event-display yang mencatat konten event yang diterima. Anda dapat membuat layanan tersebut melalui Konsol ACK atau kubectl.

Konsol

  1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

  2. Pada halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Applications > Knative.

  3. Klik tab Services, lalu klik Buat dengan Template untuk membuat Layanan Knative.

    Kode berikut merupakan contoh:

    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

    Pada tab Services, jika Status layanan adalah Success, layanan berhasil dibuat.

Kubectl

  1. Simpan konten berikut sebagai event-display.yaml dan jalankan perintah kubectl apply untuk membuat Layanan Knative.

    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. Jalankan perintah berikut untuk memeriksa status Layanan Knative:

    kubectl get ksvc

    Output yang diharapkan:

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

Langkah 3: Buat pemicu (trigger)

Konsol

  1. Pada halaman Knative, klik tab Services. Klik nama layanan target, lalu klik tab Trigger.

  2. Klik Create Trigger. Pada halaman Configuration, atur parameter berikut dan ikuti petunjuk di layar untuk membuat pemicu.

    Parameter

    Deskripsi

    Contoh

    Name

    Nama kustom untuk pemicu.

    my-service-trigger

    Broker

    Anda dapat memilih EventBridge atau Others.

    EventBridge

    Event Source

    Beberapa sumber event didukung.

    OSS

    Event Type

    Beberapa jenis event didukung.

    oss:ActionTrail:ConsoleOperation

    Setelah pemicu dibuat, Anda dapat melihatnya pada tab Triggers.

Kubectl

  1. Simpan konten berikut sebagai my-service-trigger.yaml dan terapkan ke kluster untuk membuat pemicu.

    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: Menentukan eventbridge-default-broker, yang sesuai dengan event bus default (default) di EventBridge.

    • source: Sumber event yang didukung oleh EventBridge.

    • type: Jenis event dari sumber event tersebut. Untuk menentukan beberapa jenis event, pisahkan dengan koma (,).

    • subscriber: Layanan yang berlangganan event tersebut.

    kubectl apply -f my-service-trigger.yaml
  2. Jalankan perintah berikut untuk memeriksa apakah pemicu telah dibuat:

     kubectl get triggers

    Output yang diharapkan:

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

Langkah 4: Verifikasi konsumsi event

  1. Jalankan perintah berikut untuk mengunggah file ke bucket OSS Anda.

    Catatan

    Pastikan bucket OSS dan EventBridge berada di wilayah yang sama.

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

    Setelah file diunggah ke OSS, EventBridge memicu Layanan Knative untuk mengonsumsi event tersebut.

  2. Lihat Jejak Event (Event Trace).

    1. Masuk ke EventBridge console. Di panel navigasi kiri, klik Event Buses.

    2. Pada halaman yang muncul, temukan event bus default dan klik Event Tracking di kolom Actions. Pada tab Query By Time Range, atur Time Range dan klik Search.

    3. Temukan event dengan Event Source berupa Object Storage Service dan Event Type berupa Upload Object. Klik Event Trace di kolom Actions untuk event tersebut.

      Jika status pengiriman adalah Succeeded dan responsnya adalah [200], EventBridge berhasil mengirimkan event ke layanan target.

      Pada halaman Event Trace, Anda dapat memeriksa status pengiriman event.

  3. Verifikasi bahwa Layanan Knative telah mengonsumsi event tersebut.

    1. Jalankan perintah berikut untuk memeriksa pod baru yang dibuat untuk mengonsumsi event:

      kubectl get pod

      Output yang diharapkan:

      NAME                                              READY   STATUS    RESTARTS         AGE
      event-display-00001-deployment-56cc79****-z2vhv   2/2     Running   0                7s
    2. Jalankan perintah berikut untuk melihat log dan memastikan Layanan Knative mencatat event tersebut:

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

      Output yang diharapkan:

      {"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"}}}}

    Output tersebut menunjukkan bahwa Layanan Knative telah mengonsumsi event dan mencatat detail file yang diunggah ke OSS.