Kourier Ingresses adalah gateway ringan berbasis proyek Envoy. Ini merupakan Ingress sumber terbuka yang disediakan oleh Knative. Anda dapat menggunakan Kourier Ingresses untuk mendistribusikan lalu lintas ke revisi Knative serta mengonfigurasi layanan gRPC, batas waktu dan pengulangan, sertifikat Transport Layer Security (TLS), dan layanan otorisasi eksternal.
Prasyarat
Knative telah diterapkan di kluster ACS. Untuk informasi lebih lanjut, lihat Terapkan Knative.
Penemuan layanan berbasis DNS harus diaktifkan untuk kluster ACS. Untuk informasi lebih lanjut, lihat Ikhtisar DNS dan CoreDNS.
Langkah 1: Terapkan Kourier Ingress
Masuk ke Konsol ACS. Di panel navigasi kiri, klik Clusters.
Di halaman Clusters, temukan kluster yang ingin dikelola dan klik ID-nya. Di panel navigasi kiri halaman detail kluster, pilih .
Pada tab Components, klik Deploy Knative, pilih Kourier, lalu ikuti petunjuk di layar untuk menyelesaikan penyebaran.
Langkah 2: Gunakan Kourier Ingress untuk mengakses Layanan
Bagian ini menjelaskan cara membuat Layanan Knative bernama helloworld-go untuk menunjukkan cara menggunakan Kourier Ingress dalam mengakses Layanan Knative melalui HTTP atau HTTPS.
Gunakan Kourier Ingress untuk mengakses Layanan Knative melalui HTTP
Masuk ke Konsol ACS. Di panel navigasi kiri, klik Clusters.
Di halaman Clusters, temukan kluster yang ingin dikelola dan klik ID-nya. Di panel navigasi kiri halaman detail kluster, pilih .
Pada tab Services di halaman Knative, atur Namespace menjadi default, klik Create from Template, salin konten YAML berikut ke editor template, lalu klik Create.
Template ini membuat Layanan bernama
helloworld-go.apiVersion: serving.knative.dev/v1 kind: Service metadata: name: helloworld-go spec: template: spec: containers: - image: registry.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go:73fbdd56 env: - name: TARGET value: "Knative"Jika kolom Status dari Layanan menampilkan Created, Layanan tersebut berhasil diterapkan.
Di halaman Services, catat nama domain dan alamat IP gateway dari Layanan
helloworld-gopada kolom Default Domain dan Gateway.Jalankan perintah berikut untuk mengakses Layanan bernama
helloworld-go:curl -H "Host: helloworld-go.default.example.com" http://8.141.XX.XX # Tentukan alamat IP gateway dan nama domain aktual yang Anda peroleh.Output yang Diharapkan:
Hello Knative!Output ini menunjukkan bahwa Layanan Knative dapat diakses melalui HTTP.
Gunakan Kourier Ingress untuk mengakses Layanan Knative melalui HTTPS
Masuk ke Konsol ACS. Di panel navigasi kiri, klik Clusters.
Di halaman Clusters, temukan kluster yang ingin dikelola dan klik ID-nya. Di panel navigasi kiri halaman detail kluster, pilih .
Pada tab Services di halaman Knative, atur Namespace menjadi default, klik Create from Template, salin konten YAML berikut ke editor template, lalu klik Create.
Template ini membuat Layanan bernama
helloworld-go.apiVersion: serving.knative.dev/v1 kind: Service metadata: name: helloworld-go spec: template: spec: containers: - image: registry.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go:73fbdd56 env: - name: TARGET value: "Knative"Jika kolom Status dari Layanan menampilkan Created, Layanan tersebut berhasil diterapkan.
Buat sertifikat.
Jalankan perintah berikut untuk menghasilkan sertifikat TLS:
openssl genrsa -out tls.key 4096 openssl req -subj "/CN=*.example.com/L=*.example.com" -sha256 -new -key tls.key -out tls.csr echo subjectAltName = DNS:helloworld-go.default.example.com,DNS:helloworld-go.default.example.cn > extfile.cnf openssl x509 -req -days 3650 -sha256 -in tls.csr -signkey tls.key -out tls.crt -extfile extfile.cnfJalankan perintah berikut untuk membuat Secret di kluster berdasarkan sertifikat TLS yang dihasilkan:
kubectl -n knative-serving create secret tls kourier-cert --key tls.key --cert tls.crt
Jalankan perintah berikut untuk memeriksa apakah Deployment bernama
net-kourier-controllerada di namespaceknative-serving:kubectl get deployments -n knative-servingJalankan perintah berikut untuk mengonfigurasi sertifikat:
kubectl -n knative-serving edit deployment net-kourier-controllerDi halaman konfigurasi
net-kourier-controller, tentukan parameter berikut:CERTS_SECRET_NAMESPACE: Atur nilainya ke namespace tempat Secret yang dibuat berada.CERTS_SECRET_NAME: Atur nilainya ke nama Secret yang dibuat.
... spec: containers: - env: - name: CERTS_SECRET_NAMESPACE value: knative-serving - name: CERTS_SECRET_NAME value: kourier-cert ...Setelah konfigurasi selesai, jalankan perintah berikut untuk memeriksa status net-kourier-controller:
kubectl -n knative-serving get poOutput yang Diharapkan:
NAME READY STATUS RESTARTS AGE net-kourier-controller-****** 1/1 Running 0 10sJalankan perintah berikut untuk mengakses Layanan Knative melalui HTTPS:
curl -H "Host: helloworld-go.default.example.com" -k --cert tls.crt --key tls.key //8.141.XX.XX # Tentukan alamat IP gateway dan nama domain aktual yang Anda peroleh.Output yang Diharapkan:
Hello Knative!Output ini menunjukkan bahwa Layanan Knative dapat diakses melalui HTTPS.
(Opsional) Langkah 3: Lihat dashboard pemantauan Knative
Knative menyediakan fitur pemantauan siap pakai. Di halaman Knative, klik tab Monitoring Dashboards untuk melihat data pemantauan Layanan tertentu. Untuk informasi lebih lanjut tentang dashboard Knative, lihat Lihat dashboard Knative.

Referensi
Anda dapat menentukan nama domain kustom untuk Layanan Knative. Untuk informasi lebih lanjut, lihat Konfigurasikan nama domain kustom.
Anda dapat mengonfigurasi sertifikat untuk mengakses Layanan Knative melalui HTTPS. Untuk informasi lebih lanjut, lihat Konfigurasikan sertifikat untuk mengakses Layanan melalui HTTPS.
Anda dapat menerapkan Layanan gRPC di Knative untuk meningkatkan efisiensi jaringan. Untuk informasi lebih lanjut, lihat Terapkan Layanan gRPC di Knative.
Anda dapat mengonfigurasi probe untuk memantau status kesehatan dan ketersediaan Layanan Knative. Untuk informasi lebih lanjut, lihat Konfigurasikan probing port di Knative.