Alibaba Cloud Service Mesh (ASM) terintegrasi dengan Knative sebagai gerbang masuk yang kompatibel dengan Istio, memberikan kemampuan routing dan pemisahan traffic, otentikasi antar-layanan berbasis mutual TLS (mTLS), serta observabilitas bawaan—semuanya didukung oleh komponen lapisan kontrol yang dikelola oleh Container Service for Kubernetes (ACK).
Kapan menggunakan ASM sebagai gerbang Knative: ASM merupakan pilihan tepat jika Anda menjalankan atau berencana menggunakan Istio sebagai framework service mesh dan memerlukan manajemen traffic terpadu antara beban kerja Knative dan non-Knative. Jika Anda hanya membutuhkan routing HTTP dasar untuk layanan Knative dan tidak memiliki infrastruktur Istio yang sudah ada, gerbang Knative bawaan (Kourier) menawarkan overhead sumber daya yang lebih rendah.
Prasyarat
Sebelum memulai, pastikan Anda telah:
-
Memiliki instans ASM versi 1.21.6.84 atau yang lebih baru. Lihat Buat instans ASM.
-
Kluster ACK yang dikelola atau kluster ACK Serverless telah ditambahkan ke instans ASM di area Kubernetes Cluster.
-
Pengaturan Allow data plane cluster KubeAPI to access Istio CR diaktifkan pada instans ASM.
Langkah 1: Pilih ASM sebagai gerbang Knative
-
Masuk ke Konsol ACK. Di panel navigasi sebelah kiri, klik Clusters.
-
Pada halaman Clusters, temukan kluster yang ingin Anda kelola dan klik namanya. Di panel navigasi sebelah kiri, pilih Applications > Knative.
-
Pada halaman Knative, klik tab Components. Klik Deploy Knative, pilih ASM di bagian Gateway, lalu klik Deploy.
Setelah penerapan selesai, ASM aktif sebagai gerbang masuk untuk layanan Knative Anda.
Langkah 2: Terapkan dan akses layanan Knative melalui gerbang ASM
Langkah ini menerapkan layanan Knative contoh dan memverifikasi bahwa layanan tersebut dapat diakses melalui gerbang ASM.
-
Masuk ke Konsol ACK. Di panel navigasi sebelah kiri, klik Clusters.
-
Pada halaman Clusters, temukan kluster yang ingin Anda kelola dan klik namanya. Di panel navigasi sebelah kiri, pilih Applications > Knative.
-
Pada halaman Knative, klik tab Services. Atur Namespace menjadi default dan klik Create from Template. Tempel YAML berikut ke dalam templat dan klik Create.
PentingGanti
{REGION-ID}dengan ID wilayah kluster Anda (misalnya,cn-beijing).apiVersion: serving.knative.dev/v1 kind: Service metadata: name: helloworld-go spec: template: spec: containers: - image: registry.{REGION-ID}.aliyuncs.com/knative-sample/helloworld-go:73fbdd56 env: - name: TARGET value: "Knative" -
Di tab Services, temukan layanan
helloworld-godan catat alamat IP gerbang yang ditampilkan di kolom Gateway. -
Jalankan perintah berikut untuk memverifikasi akses ke layanan
helloworld-go. Ganti39.XX.XX.XXdengan alamat IP gerbang yang sebenarnya.curl -H "host: helloworld-go.default.example.com" http://39.XX.XX.XXFlag
-H "host: ..."wajib digunakan karena gerbang ASM melakukan routing permintaan berdasarkan headerHost. Tanpa konfigurasi DNS untuk lingkungan pengujian Anda, header ini memberi tahu gerbang layanan Knative mana yang harus dituju. Output yang diharapkan:Hello Knative!
(Opsional) Langkah 3: Tampilkan data pemantauan layanan
Knative menyediakan pemantauan siap pakai. Di halaman Knative, klik tab Monitoring Dashboards untuk melihat metrik layanan helloworld-go.
Untuk petunjuk mengaktifkan dasbor Knative, lihat Tampilkan dasbor Knative melalui pemantauan Prometheus Alibaba Cloud.
Langkah selanjutnya
-
Konfigurasikan pemisahan traffic antar revisi layanan Knative menggunakan kebijakan manajemen traffic ASM.
-
Aktifkan kebijakan mTLS di ASM untuk mengamankan komunikasi antar-layanan pada beban kerja Knative Anda.
-
Jelajahi observabilitas lanjutan dengan mengintegrasikan ASM ke dalam pemantauan Prometheus Alibaba Cloud.