Secara default, nama domain Knative Service menggunakan format '{route}.{namespace}.{default-example.com}', dengan '{default-example.com}' sebagai akhiran default, biasanya example.com. Topik ini menjelaskan cara menggunakan nama domain kustom untuk mengaktifkan routing yang lebih fleksibel. ACS Knative memungkinkan Anda menetapkan domain kustom global untuk semua Knative Service melalui ConfigMap atau memetakan domain unik ke satu Knative Service tertentu menggunakan DomainMapping.
Prasyarat
-
Anda telah menerapkan Knative di kluster ACS.
-
Anda telah mendaftarkan nama domain. Untuk informasi selengkapnya, lihat Alibaba Cloud Domains.
-
Anda telah terhubung ke kluster Kubernetes menggunakan kubectl.
Konfigurasikan domain kustom global
Untuk menggunakan akhiran domain yang sama untuk semua Knative Service di ACS Knative, ikuti langkah-langkah berikut.
Konfigurasikan domain kustom untuk satu layanan
Untuk menetapkan nama domain tertentu untuk Knative Service, gunakan salah satu metode berikut.
Konsol
-
Masuk ke Konsol ACS. Di panel navigasi kiri, klik Clusters.
-
Pada halaman Clusters, klik nama kluster target. Di panel navigasi kiri, pilih .
-
Pada halaman Knative, klik tab Services, lalu temukan dan klik nama layanan Anda.
-
Pada halaman detail layanan, klik Access Control di pojok kanan atas dan konfigurasikan nama domain kustom untuk layanan tersebut sesuai petunjuk.
Kubectl
Gunakan DomainMapping untuk menetapkan domain tertentu ke suatu layanan dan aktifkan routing fleksibel dengan pengontrol Ingress.
-
Jalankan perintah berikut untuk membuat file bernama
helloworld.knative.top.yaml:vi helloworld.knative.top.yaml -
Tambahkan konten YAML berikut ke dalam file tersebut, lalu simpan dan tutup editor:
apiVersion: serving.knative.dev/v1beta1 kind: DomainMapping metadata: name: helloworld.knative.top.mydomain.com # Tetapkan nama domain. Di lingkungan produksi, ganti ini dengan domain Anda. namespace: default # Tetapkan namespace. Harus sama dengan namespace layanan Anda. spec: ref: name: helloworld-go # Nama layanan target. kind: Service apiVersion: serving.knative.dev/v1 -
Jalankan perintah berikut untuk menerapkan file
helloworld.knative.top.yaml:kubectl apply -f helloworld.knative.top.yamlOutput yang diharapkan:
domainmapping.serving.knative.dev/helloworld.knative.top created -
Jalankan perintah berikut untuk memverifikasi DomainMapping:
kubectl get domainmapping helloworld.knative.topOutput yang diharapkan:
NAME URL READY REASON helloworld.knative.top http://helloworld.knative.top TrueOutput tersebut menunjukkan bahwa domain kustom telah berlaku.
-
Tambahkan rekaman DNS yang memetakan domain kustom Anda ke alamat IP gerbang Knative. Untuk informasi selengkapnya, lihat Add a DNS record.
-
Jalankan perintah berikut untuk mengakses Knative Service menggunakan nama domain kustom:
curl http://helloworld.knative.top.mydomain.comOutput ini menunjukkan bahwa domain kustom telah dikonfigurasi dengan benar dan Knative Service merespons permintaan.
Langkah selanjutnya
-
Untuk menyajikan traffic melalui HTTPS, konfigurasikan Sertifikat TLS untuk nama domain kustom Anda. Untuk informasi selengkapnya, lihat Configure a certificate to access Knative Services over HTTPS.
-
Anda dapat menerapkan layanan gRPC di Knative untuk meningkatkan efisiensi jaringan. Untuk informasi selengkapnya, lihat Deploy a gRPC service in Knative.