Pelajari cara mengakses layanan inferensi Knative di cluster Anda untuk tujuan pengujian sebelum Anda memilih untuk memetakan domain kustom.
Secara default, layanan yang Anda deploy ke cluster inferensi Knative ditetapkan ke domain dasar nip.io. Oleh karena itu, jika Anda menggunakan nama yang direkomendasikan untuk gateway ingress, Anda dapat langsung menguji layanan dan mengirim permintaan tanpa konfigurasi tambahan. Contoh: http://{SERVICE_NAME}.{NAMESPACE}.kuberun.{EXTERNAL_IP}.nip.io.
Perhatikan bahwa mungkin ada masalah terkait keandalan permintaan saat menggunakan karakter pengganti DNS, termasuk domain nip.io, yang merupakan layanan karakter pengganti DNS gratis. Sebaliknya, menyiapkan dan menggunakan a domain kustom untuk pengujian dapat menawarkan peningkatan keandalan.
Secara opsional, Anda juga dapat mengakses layanan melalui alamat IP eksternal.
Menggunakan domain pengujian nip.io
Untuk mengakses layanan menggunakan domain dasar nip.io default, Anda dapat menemukan
URL dari dalam Google Cloud konsol atau membuat URL secara manual.
Konsol
Di Google Cloud konsol, buka halaman Inferensi Knative.
Dalam daftar, klik layanan yang URL-nya ingin Anda dapatkan.
URL akan ditampilkan di dekat bagian atas halaman.
Contoh:
http://my-service.default.kuberun.11.111.11.111.nip.ioDengan my-service adalah nama layanan inferensi Knative, default adalah namespace, dan 11.111.11.111 adalah alamat IP load balancer eksternal Anda.
Secara manual
Untuk membuat URL ke layanan Anda secara manual, gunakan nama layanan, namespace tempat layanan tersebut berjalan, dan alamat IP load balancer Anda:
http://SERVICE.NAMESPACE.kuberun.EXTERNAL_IP.nip.io
Ganti:
- SERVICE_NAME dengan nama layanan Anda.
- NAMESPACE dengan namespace tempat Anda men-deploy layanan. Secara default, layanan di-deploy ke namespace
default. - EXTERNAL_IP dengan alamat IP eksternal load balancer Anda.
Misalnya, jika Anda memiliki layanan bernama hello di namespace default dan alamat IP eksternal Anda adalah 12.345.67.890, URL-nya mungkin terlihat seperti:
http://hello.default.kuberun.12.345.67.890.nip.io
Menggunakan alamat IP eksternal
Secara opsional, Anda dapat menggunakan alamat IP eksternal load balancer untuk mengakses layanan melalui cURL atau dengan mengonfigurasi layanan karakter pengganti DNS alternatif secara manual.
Sebelum memulai
Pastikan alat command line Google Cloud CLI dan kubectl Anda telah diinstal dan terbaru:
Anda harus memiliki setidaknya peran Identity and Access Management Kubernetes Engine Developer atau izin yang setara.
Mendapatkan alamat IP eksternal
Saat cluster GKE Enterprise Anda dibuat, pengontrol ingress Istio akan membuat Google Cloud Load Balancer Jaringan dengan alamat IP yang tersedia secara publik.
Untuk mengonfigurasi akses ke layanan Anda dengan cURL atau layanan DNS, Anda harus terlebih dahulu mendapatkan alamat IP eksternal layanan load balancer:
Konsol
Untuk mendapatkan alamat IP eksternal load balancer dari Google Cloud konsol:- Buka halaman GKE di Google Cloud konsol:
Buka GKE - Klik Layanan dan ingress.
- Identifikasi layanan yang merupakan ingress Istio
cluster Anda. **Jenis** layanan akan menjadi **Load balancer eksternal** , dan **Nama** akan menjadi
istio-ingressgateway. - Setelah menemukan layanan ingress Istio cluster Anda, salin
Endpoint-nya. Ini akan menjadi alamat IP tanpa nomor port
nomor. Misalnya, Anda mungkin melihat
00.000.000.000:11tercantum sebagai endpoint, tetapi Anda hanya perlu menyalin00.000.000.000.
kubectl
Untuk mendapatkan IP eksternal untuk Load Balancer, jalankan perintah berikut:
kubectl get svc istio-ingressgateway -n ASM-INGRESS-NAMESPACE
Ganti ASM-INGRESS-NAMESPACE dengan namespace tempat
ingress Cloud Service Mesh Anda berada. Tentukan istio-system jika Anda menginstal Cloud Service Mesh menggunakan konfigurasi default-nya.
Output yang dihasilkan akan terlihat mirip dengan berikut ini:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) istio-ingressgateway LoadBalancer XX.XX.XXX.XX pending 80:32380/TCP,443:32390/TCP,32400:32400/TCP
dengan nilai EXTERNAL-IP adalah alamat IP eksternal Load Balancer Anda.
Setelah mendapatkan alamat IP eksternal load balancer, Anda dapat menggunakannya dalam perintah cURL atau dengan layanan karakter pengganti DNS untuk mengakses layanan inferensi Knative.
Menggunakan cURL
Anda dapat menggunakan cURL
dengan domain dasar nip.io default untuk mengirim permintaan ke
layanan Anda.
Anda menentukan alamat IP eksternal load balancer bersama dengan nama layanan dan namespace dalam perintah cURL:
curl --header 'Host: SERVICE_NAME.NAMESPACE.kuberun.EXTERNAL_IP.nip.io' EXTERNAL_IP
Ganti:
- SERVICE_NAME dengan nama layanan inferensi Knative Anda.
- NAMESPACE dengan namespace tempat layanan Anda berjalan.
- EXTERNAL_IP dengan alamat IP eksternal load balancer Anda.
Contoh:
curl --header 'Host: my-service.default.kuberun.12.345.67.890.nip.io' http://12.345.67.890
Menggunakan layanan karakter pengganti DNS lainnya
Secara default, layanan inferensi Knative Anda menggunakan layanan karakter pengganti DNS nip.io. Namun, Anda dapat memilih untuk menggunakan layanan lain seperti sslip.io. Untuk mengonfigurasi layanan karakter pengganti DNS lainnya Anda harus terlebih dahulu mendapatkan alamat IP eksternal load balancer, lalu menggunakan alamat IP tersebut untuk mengonfigurasi layanan karakter pengganti DNS.
Mengonfigurasi domain cluster Anda
Inferensi Knative menggunakan ConfigMap config-domain untuk menentukan domain dasar yang digunakan oleh semua layanan inferensi Knative yang di-deploy. Anda dapat
memperbarui ConfigMap tersebut melalui Google Cloud konsol atau dengan kubectl perintah.
Konsol
Untuk mengubah domain dasar default dari nip.io ke salah satu layanan karakter pengganti DNS
di Google Cloud konsol:
Buka halaman Pemetaan domain inferensi Knative di Google Cloud konsol:
Pilih Tambahkan pemetaan > Tambahkan domain default cluster
Centang kotak di samping "Terapkan pemetaan domain ini ke semua layanan inferensi Knative yang di-deploy ke cluster ini".
Pilih cluster Anda dari menu drop-down.
Di kolom Domain, masukkan situs DNS karakter pengganti yang ingin Anda gunakan. Contoh:
sslip.io
kubectl
Untuk mengubah domain dasar default dari nip.io ke salah satu situs karakter pengganti DNS, gunakan perintah:
kubectl patch configmap config-domain --namespace knative-serving --patch \ '{"data": {"kuberun.EXTERNAL_IP.nip.io": null, "DNS_SERVICE": ""}}'
Ganti
Layanan Anda kini tersedia di http://{SERVICE_NAME}.{NAMESPACE}.kuberun.{EXTERNAL_IP}.{DNS_SERVICE}.