Pelajari cara mengakses layanan penayangan Knative di cluster Anda untuk tujuan pengujian sebelum memilih untuk memetakan domain kustom.
Secara default, layanan yang di-deploy ke cluster penyaluran Knative ditetapkan ke domain dasar nip.io
. Oleh karena itu, jika menggunakan nama yang direkomendasikan untuk gateway masuk, Anda dapat langsung menguji layanan dan mengirim permintaan tanpa konfigurasi tambahan. Contoh: http://{SERVICE_NAME}.{NAMESPACE}.kuberun.{EXTERNAL_IP}.nip.io
.
Perlu diperhatikan bahwa mungkin terdapat masalah seputar keandalan permintaan saat menggunakan karakter pengganti DNS, termasuk domain nip.io, yang merupakan layanan karakter pengganti DNS gratis. Sebaliknya, menyiapkan dan menggunakan domain kustom untuk pengujian dapat menawarkan peningkatan keandalan.
Jika ingin, Anda juga dapat mengakses layanan melalui alamat IP eksternal.
Menggunakan domain uji coba nip.io
Untuk mengakses layanan menggunakan domain dasar nip.io
default, Anda dapat menemukan URL dari dalam Konsol Google Cloud atau membuat URL secara manual.
Konsol
Di konsol Google Cloud, buka halaman Knative serving.
Dalam daftar, klik layanan yang URL-nya ingin Anda dapatkan.
Di dekat bagian atas halaman, URL ditampilkan.
Contoh:
http://my-service.default.kuberun.11.111.11.111.nip.io
Dengan my-service adalah nama layanan inferensi Knative, default adalah namespace, dan 11.111.11.111 adalah alamat IP dari load balancer eksternal Anda.
Secara manual
Untuk membuat URL layanan 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 ini:
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 perintah cURL atau dengan mengonfigurasi layanan karakter pengganti DNS alternatif secara manual.
Sebelum memulai
Pastikan alat command line kubectl dan Google Cloud CLI Anda sudah diinstal dan merupakan versi terbaru:
Anda setidaknya harus memiliki peran Kubernetes Engine Developer Identity and Access Management atau izin yang setara.
Mendapatkan alamat IP eksternal
Saat cluster GKE Enterprise Anda dibuat, pengontrol traffic masuk Istio membuat Load Balancer Jaringan Google Cloud dengan alamat IP yang tersedia untuk 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 Konsol Google Cloud:- Buka halaman GKE di Konsol Google Cloud:
Buka GKE - Klik Layanan dan ingress.
- Identifikasi layanan yang merupakan ingress Istio
cluster Anda. Jenis layanan adalah Load balancer eksternal, dan Nama adalah
istio-ingressgateway
. - Setelah menemukan layanan ingress Istio cluster Anda, salin Endpointnya. Ini akan menjadi alamat IP tanpa nomor port. Misalnya, Anda mungkin melihat
00.000.000.000:11
tercantum 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 Anthos Service Mesh berada. Tentukan istio-system
jika Anda
menginstal Anthos Service Mesh menggunakan konfigurasi defaultnya.
Output yang dihasilkan 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 perintah cURL dengan domain dasar nip.io
default untuk mengirim permintaan ke layanan Anda.
Anda menentukan alamat IP eksternal load balancer beserta nama layanan dan namespace di perintah cURL:
curl --header 'Host: SERVICE_NAME.NAMESPACE.kuberun.EXTERNAL_IP.nip.io' EXTERNAL_IP
Ganti:
- SERVICE_NAME dengan nama layanan penayangan 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 penayangan Knative 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 Anda, lalu menggunakan alamat IP tersebut untuk mengonfigurasi layanan karakter pengganti DNS.
Mengonfigurasi domain cluster Anda
Penayangan Knative menggunakan ConfigMap config-domain
untuk menentukan domain dasar yang digunakan oleh semua layanan penayangan Knative yang di-deploy. Anda dapat memperbarui ConfigMap tersebut melalui Konsol Google Cloud atau dengan perintah kubectl
.
Konsol
Untuk mengubah domain dasar default dari nip.io
menjadi salah satu layanan karakter pengganti DNS di Konsol Google Cloud:
Buka halaman Domain mappings yang ditayangkan Knative di Konsol Google Cloud:
Pilih Tambahkan pemetaan > Tambahkan domain default cluster
Pilih kotak centang di samping "Apply this domain mapping to all Knative inferensi services 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
menjadi 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
- EXTERNAL_IP dengan alamat IP eksternal Load Balancer.
- DNS_SERVICE dengan situs DNS karakter pengganti yang Anda gunakan. Contoh:
sslip.io
Layanan Anda kini tersedia di
http://{SERVICE_NAME}.{NAMESPACE}.kuberun.{EXTERNAL_IP}.{DNS_SERVICE}
.