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
-
Anda telah menerapkan Knative di kluster ACS.
-
ALB Ingress controller telah dipasang.
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
-
Masuk ke Konsol ACS. Di panel navigasi kiri, klik Clusters.
-
Di halaman Clusters, klik nama kluster target. Di panel navigasi kiri, pilih .
-
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.
Jalankan perintah berikut untuk mengedit file config-network.yaml:
kubectl -n knative-serving edit configmap config-networkModifikasi dan simpan file config-network.yaml dalam format berikut.
Setelah Anda mengubah
ingress.class: alb.ingress.networking.knative.devdan menetapkanvswitch-ids, simpan fileconfig-networkuntuk 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 ...PentingJika 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.
Jalankan perintah berikut untuk mengedit file config-network.yaml:
kubectl -n knative-serving edit configmap config-networkModifikasi dan simpan file config-network.yaml dalam format berikut.
Dalam file konfigurasi, sertakan baris
ingress.class: alb.ingress.networking.knative.devdan aturalbconfigke instans ALB yang sudah ada. Dalam kasus ini, Anda tidak perlu mengonfigurasivswitch-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
-
Masuk ke Konsol ACS. Di panel navigasi kiri, klik Clusters.
-
Di halaman Clusters, klik nama kluster target. Di panel navigasi kiri, pilih .
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"Di halaman Services, peroleh nama domain dan alamat gateway layanan
helloworld-godari kolom Default Domain Name dan Access Gateway.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.

Dokumen terkait
-
Aktifkan domain kustom untuk Knative Service Anda. Use a custom domain.
-
Konfigurasikan sertifikat HTTPS untuk Knative Service Anda. Configure an HTTPS certificate.
-
Terapkan layanan gRPC di Knative untuk meningkatkan efisiensi jaringan. Deploy a gRPC service in Knative.
-
Konfigurasikan probe untuk memantau kesehatan Knative Service Anda. Configure a port probe in Knative.