All Products
Search
Document Center

Container Compute Service:Rutekan traffic Knative dengan ALB Ingress

Last Updated:Jun 05, 2026

Rutekan traffic HTTP, HTTPS, dan QUIC ke Knative Services menggunakan ALB Ingress. ALB menyediakan layanan load balancing lapisan 7 yang sepenuhnya dikelola dan bebas perawatan dengan skalabilitas otomatis serta pemisahan traffic untuk aplikasi yang memerlukan perutean detail halus.

Prasyarat

Langkah 1: Terapkan ALB Ingress

Terapkan ALB Ingress dengan membuat instans ALB baru atau menggunakan instans yang sudah ada.

Buat instans ALB secara otomatis

Konfigurasikan ALB Ingress selama penerapan Knative awal atau dengan memodifikasi file konfigurasi penerapan yang sudah ada.

Saat penerapan

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

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

  3. Di tab Add-ons, klik Menyebarkan. Di halaman penerapan, pilih ALB sebagai gateway layanan, pilih minimal dua VSwitch, lalu ikuti petunjuk di layar untuk menerapkan Knative.

    Untuk membuat vSwitch, ikuti Create a vSwitch.

Modifikasi file konfigurasi

Untuk mengonfigurasi ALB Ingress pada penerapan yang sudah ada, modifikasi file konfigurasi Knative. Untuk menerapkan Knative, ikuti Deploy Knative.

  1. Jalankan perintah berikut untuk mengedit file config-network.yaml:

    kubectl -n knative-serving edit configmap config-network
  2. Modifikasi dan simpan file config-network.yaml dalam format berikut.

    Setelah Anda mengubah ingress.class: alb.ingress.networking.knative.dev dan menetapkan vswitch-ids, simpan file config-network untuk mengonfigurasi gateway ALB. Untuk informasi lebih lanjut mengenai wilayah dan zona yang didukung oleh ALB, lihat Regions and zones supported by ALB.

    apiVersion: v1
    data:
      ...
      ingress.class: alb.ingress.networking.knative.dev # Menentukan bahwa ALB digunakan sebagai Ingress controller.
      vswitch-ids: vsw-uf6kbvc7mccqia2pi****,vsw-uf66scyuw2fncpn38**** # Ganti nilai parameter dengan ID dua vSwitch yang Anda buat di zona berbeda. Sistem akan secara otomatis menyambungkan vSwitch saat membuat instans ALB.
      intranet: "true" # Membuat instans ALB privat.
      internet: "true" # Nilai default adalah true, yang membuat instans ALB publik. Jika Anda mengatur ini ke false, instans ALB publik tidak dibuat.
      ...
    kind: ConfigMap
    metadata:
      name: config-network
      namespace: knative-serving
      ...
    Penting

    Jika Anda hanya mengaktifkan instans ALB privat, Anda harus mengaktifkan akses internal saja untuk layanan Knative. Untuk melakukannya, tetapkan label networking.knative.dev/visibility: cluster-local.

Gunakan instans ALB yang sudah ada

Untuk menggunakan instans ALB yang sudah ada, modifikasi file konfigurasi Knative.

  1. Jalankan perintah berikut untuk mengedit file config-network.yaml:

    kubectl -n knative-serving edit configmap config-network
  2. Modifikasi dan simpan file config-network.yaml dalam format berikut.

    Dalam file konfigurasi, sertakan baris ingress.class: alb.ingress.networking.knative.dev dan atur albconfig ke instans ALB yang sudah ada. Dalam kasus ini, Anda tidak perlu mengonfigurasi vswitch-ids.

    apiVersion: v1
    data:
      ...
      ingress.class: alb.ingress.networking.knative.dev # Menentukan bahwa ALB digunakan sebagai Ingress controller.
      albconfig: alb-dev-albconfig # Menentukan dan menggunakan kembali nama instans ALB publik yang sudah ada.
    ...
    kind: ConfigMap
    metadata:
      name: config-network
      namespace: knative-serving
      ...

Langkah 2: Akses layanan melalui ALB Ingress

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

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

  3. Di halaman Knative, klik tab Services. Atur Namespace ke default, lalu klik Create from Template. Tempel contoh YAML berikut ke dalam templat, lalu klik Create.

    Contoh YAML berikut membuat layanan Knative bernama helloworld-go.

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: helloworld-go
    spec:
      template:
        spec:
          containers:
          - image: registry-vpc.cn-beijing.aliyuncs.com/knative-sample/helloworld-go:73fbdd56 # Ganti wilayah dengan wilayah aktual.
            env:
            - name: TARGET
              value: "Knative"
  4. Di halaman Services, peroleh nama domain dan alamat gateway layanan helloworld-go dari kolom Default Domain Name dan Access Gateway.

  5. Jalankan perintah berikut untuk mengakses layanan helloworld-go:

    curl -H "Host: helloworld-go.default.example.com" http://alb-******.cn-beijing.alb.aliyuncs.com	 # Ganti alamat IP gateway dan nama domain dengan nilai aktual.

    Output yang diharapkan:

    Hello Knative!

(Opsional) Langkah 3: Lihat data pemantauan layanan

Knative menyediakan observabilitas bawaan. Pada halaman Knative, klik tab Monitoring Dashboards untuk melihat data pemantauan. View the Knative Service monitoring dashboard.

image.png

Dokumen terkait