All Products
Search
Document Center

Container Service for Kubernetes:Gunakan EventBridge untuk aplikasi berbasis event di Knative

Last Updated:Mar 26, 2026

EventBridge terintegrasi dengan Knative Eventing di kluster Container Service for Kubernetes (ACK) untuk memberikan kemampuan berbasis event tingkat produksi pada layanan Anda. Event dari layanan Alibaba Cloud, aplikasi kustom, dan aplikasi software as a service (SaaS) mengalir ke Broker, difilter oleh Trigger, lalu dikirimkan ke Layanan Knative Anda dalam format standar CloudEvents 1.0.

Tutorial ini memandu Anda melalui penerapan komponen yang diperlukan, pembuatan Layanan Knative, konfigurasi Trigger, serta verifikasi bahwa event unggah OSS mencapai layanan Anda.

Dalam tutorial ini:

Cara kerja

EventBridge bertindak sebagai event bus (Broker) untuk kluster ACK Anda. Ketika sebuah event terpicu—misalnya unggahan file ke Object Storage Service (OSS)—EventBridge mengarahkannya ke Broker. Setiap Trigger berlangganan ke Broker dan memfilter event berdasarkan sumber dan jenisnya, lalu meneruskan event yang sesuai ke Layanan Knative target. Layanan tersebut melakukan scaling dari nol saat event tiba dan memprosesnya secara otomatis.

Anda dapat menghubungkan OSS ke EventBridge sebagai sumber event. Untuk informasi lebih lanjut, lihat Event OSS.
image

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

Langkah 1: Terapkan komponen Eventing dan EventBridge

Terapkan Eventing terlebih dahulu, lalu EventBridge. EventBridge menyediakan implementasi Knative Broker yang didukung oleh layanan EventBridge, sehingga cocok untuk beban kerja produksi.

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

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

  3. Pada tab Components, terapkan komponen secara berurutan:

    1. Temukan Eventing dan klik Deploy di kolom Actions.

    2. Setelah status Deployed muncul di kolom Status, temukan EventBridge dan klik Deploy di kolom Actions.

    3. Pada kotak dialog, masukkan AccessKey ID dan AccessKey secret Anda, lalu klik OK. Untuk mendapatkan Pasangan Kunci Akses, lihat Buat Pasangan Kunci Akses.Important: Untuk menjamin keamanan akun Anda, segera lakukan langkah-langkah berikut:– Ikuti petunjuk di layar untuk mengubah kata sandi administrator akun. Secara default, Anda perlu mengubah kata sandi Pengguna RAM saat login pertama kali.– Ikat perangkat multi-factor authentication (MFA) ke account administrator untuk otentikasi sekunder guna menambahkan lapisan perlindungan kedua selain username dan password. Lihat Ikat perangkat MFA ke Pengguna RAM.

Kedua komponen akan menampilkan status Deployed di kolom Status saat siap digunakan.

Langkah 2: Buat Layanan Knative

Tutorial ini menggunakan Layanan bernama event-display yang mencatat setiap event yang diterimanya. Buat layanan ini menggunakan Konsol ACK atau kubectl.

Gunakan Konsol ACK

  1. Masuk ke Konsol ACK dan buka halaman Applications > Knative kluster Anda.

  2. Pada tab Services, klik Create from Template dan terapkan manifes berikut:

    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

    Layanan siap digunakan ketika status Created muncul di kolom Status.

Gunakan kubectl

  1. Buat file bernama event-display.yaml dengan konten berikut:

    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
  2. Terapkan manifes tersebut:

    kubectl apply -f event-display.yaml
  3. Verifikasi bahwa Layanan sudah siap:

    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 Trigger

Trigger berlangganan ke Broker EventBridge dan meneruskan event yang sesuai ke Layanan Knative Anda. Buat Trigger menggunakan Konsol ACK atau kubectl.

Gunakan Konsol ACK

  1. Pada halaman Knative, buka tab Services dan klik nama Layanan event-display.

  2. Pada tab Trigger, klik Create Trigger.

  3. Pada halaman Configure, atur parameter berikut: Setelah dibuat, Trigger akan muncul di tab Triggers.

    ParameterDeskripsiContoh
    NameNama untuk Triggermy-service-trigger
    BrokerPilih EventBridge atau OtherEventBridge
    Event sourceSumber event yang akan dilangganiOSS
    Event typeJenis event yang akan difilteross:ActionTrail:ConsoleOperation

    Triggers tab showing a newly created trigger named my-service-trigger

Gunakan kubectl

  1. Buat file bernama my-service-trigger.yaml dengan konten berikut:

    apiVersion: eventing.knative.dev/v1
    kind: Trigger
    metadata:
      name: my-service-trigger
    spec:
      broker: eventbridge-default-broker   # Event bus EventBridge default
      filter:
        attributes:
          source: acs.oss                              # Identifier sumber event
          type: 'oss:ActionTrail:ConsoleOperation'     # Jenis event; pisahkan beberapa jenis dengan koma
      subscriber:
        ref:
          apiVersion: serving.knative.dev/v1
          kind: Service
          name: helloworld-go                          # Layanan Knative target
          namespace: default
  2. Terapkan manifes tersebut:

    kubectl apply -f my-service-trigger.yaml
  3. Verifikasi bahwa Trigger sudah siap:

    kubectl get triggers

    Output yang diharapkan:

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

Langkah 4: Verifikasi pengiriman event

Unggah file ke OSS untuk memicu event, lalu konfirmasi bahwa EventBridge telah mengarahkannya dan Layanan Knative telah mengonsumsinya.

Bucket OSS dan EventBridge harus berada di wilayah yang sama. Sebelum melakukan langkah-langkah berikut, Anda harus menginstal ossutil.

Unggah file ke OSS

ossutil cp <file-name> oss://<bucket-name>

Setelah unggahan selesai, EventBridge mendeteksi event tersebut dan mengarahkannya melalui Trigger ke event-display.

Periksa jejak event di EventBridge

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

  2. Pada halaman Event Buses, temukan event bus default dan klik Event Tracking di kolom Actions.

  3. Pada tab Query By Time Range, atur Time Range lalu klik Query.

  4. Filter berdasarkan Event Source: OSS dan Event Type: Put Object, lalu klik Event Trace di kolom Operations. Halaman Event Trace menunjukkan apakah event berhasil dikirimkan.

    image.png

Konfirmasi bahwa Layanan Knative telah mengonsumsi event

  1. Periksa apakah Pod event-display sedang berjalan:

    kubectl get pod

    Output yang diharapkan:

    NAME                                              READY   STATUS    RESTARTS   AGE
    event-display-00001-deployment-56cc79****-z2vhv   2/2     Running   0          7s
  2. Lihat event yang dicatat oleh Layanan:

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

    Log tersebut mengonfirmasi bahwa event-display telah menerima dan mencatat event unggah OSS. EventBridge berhasil memicu Layanan Knative.

Langkah selanjutnya