Format nama domain default untuk Knative Service adalah {route}.{namespace}.{default-example.com}, dengan {default-example.com} sebagai akhiran domain default, yang biasanya berupa example.com. ACK mendukung domain kustom untuk konfigurasi rute yang lebih fleksibel.
Anda dapat menyesuaikan domain dengan dua cara:
Menyesuaikan domain secara global untuk semua Knative Service dengan mengubah ConfigMap.
Menggunakan anotasi
knative.aliyun.com/serving-ingressuntuk mengonfigurasi domain kustom secara cepat pada Knative Service tertentu.
Prasyarat
Knative telah dideploy di kluster Anda. Untuk informasi selengkapnya, lihat Deploy and manage Knative components.
Anda telah mendaftarkan nama domain. Untuk informasi selengkapnya, lihat Alibaba Cloud Domains.
Konfigurasi domain kustom global
Untuk menerapkan akhiran domain umum ke semua Knative Service, ikuti langkah-langkah berikut.
Jalankan perintah berikut untuk mengedit objek ConfigMap
config-domaindi namespaceknative-serving.kubectl edit cm config-domain --namespace knative-servingUbah file konfigurasi.
Ganti nama domain default
example.comdalam file konfigurasi dengan domain kustom, lalu simpan konfigurasinya. Dalam contoh ini, domain kustom diatur menjadimydomain.apiVersion: v1 kind: ConfigMap metadata: name: config-domain namespace: knative-serving data: mydomain.com: "" # Ganti example.com dengan mydomain.com. Dalam skenario nyata, ganti ini dengan domain layanan Anda sendiri.Jalankan perintah berikut untuk memverifikasi bahwa domain baru telah diterapkan:
# Ganti helloworld-go dengan nama Knative Service Anda. kubectl get route helloworld-go --output jsonpath="{.status.url}" | awk -F/ '{print $3}'Output yang diharapkan:
helloworld-go.default.mydomain.comOutput ini mengonfirmasi bahwa domain kustom telah diterapkan.
Perbarui rekaman DNS untuk domain Anda agar mengarah ke alamat IP gerbang Knative.
Jalankan perintah berikut untuk mengakses Knative Service melalui domain kustom:
curl http://helloworld-go.default.mydomain.comOutput yang diharapkan:
Hello Knative!Output ini mengonfirmasi bahwa Knative Service dapat diakses melalui domain kustom.
Konfigurasi domain dan path per layanan
Untuk menentukan nama domain dan path tertentu untuk Knative Service, gunakan anotasi knative.aliyun.com/serving-ingress guna langsung menetapkan nama domain dan path kustom. Sebagai contoh, knative.aliyun.com/serving-ingress: cafe.mydomain.com/coffee menetapkan nama domain cafe.mydomain.com dan path /coffee.
Contoh domain kustom
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
name: coffee-mydomain
annotations:
knative.aliyun.com/serving-ingress: cafe.mydomain.com
spec:
template:
spec:
containers:
- image: registry.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go:160e4dc8Contoh domain wildcard
Pisahkan beberapa domain dengan koma.
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
name: coffee-mydomain
annotations:
knative.aliyun.com/serving-ingress: "*.mydomain.com"
spec:
template:
spec:
containers:
- image: registry.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go:160e4dc8Contoh path tunggal
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
name: coffee-mydomain
annotations:
knative.aliyun.com/serving-ingress: cafe.mydomain.com/coffee
spec:
template:
spec:
containers:
- image: registry.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go:160e4dc8Contoh beberapa path
Pisahkan beberapa path dengan koma.
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
name: coffee-mydomain
annotations:
knative.aliyun.com/serving-ingress: cafe.mydomain.com/coffee,cafe.mydomain.com/tea
spec:
template:
spec:
containers:
- image: registry.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go:160e4dc8Menulis ulang path
Gerbang ALB mendukung penulisan ulang path. Anda dapat menulis ulang Path untuk Knative Service dengan mengonfigurasi anotasi alb.ingress.kubernetes.io/rewrite-target:. Berikut ini contoh kodenya.
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
name: coffee-mydomain
annotations:
knative.aliyun.com/serving-ingress: cafe.mydomain.com/api/coffee
alb.ingress.kubernetes.io/rewrite-target: /coffee
spec:
template:
spec:
containers:
- image: registry.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go:160e4dc8Konfigurasi domain wildcard universal
Untuk menentukan domain wildcard untuk Knative Service, atur nilai Anotasi knative.aliyun.com/serving-ingress menjadi /. Sebagai contoh, knative.aliyun.com/serving-ingress: / menunjukkan domain wildcard penuh. Berikut ini contohnya.
Hanya gerbang ALB yang didukung.
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
name: coffee-mydomain
annotations:
knative.aliyun.com/serving-ingress: "/"
spec:
template:
spec:
containers:
- image: registry.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go:160e4dc8Topik terkait
Untuk mengonfigurasi sertifikat HTTPS untuk domain kustom Anda, lihat Configure access over HTTPS with a certificate.
Untuk mendeploy layanan gRPC di Knative dan meningkatkan efisiensi jaringan, lihat Deploy gRPC services in Knative.