Menggunakan domain pengujian

Pelajari cara mengakses layanan penayangan Knative di cluster Anda untuk tujuan pengujian sebelum Anda memilih untuk memetakan domain kustom.

Secara default, layanan yang Anda deploy ke cluster penayangan 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 domain kustom untuk pengujian dapat menawarkan keandalan yang lebih tinggi.

Jika ingin, 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 konsol Google Cloud atau membuat URL secara manual.

Konsol

  1. Di konsol Google Cloud , buka halaman Knative serving.

    Buka Inferensi Knative

  2. Dalam daftar, klik layanan yang URL-nya ingin Anda dapatkan.

  3. 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 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, Anda menggunakan 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 perintah cURL atau dengan mengonfigurasi layanan karakter pengganti DNS alternatif secara manual.

Sebelum memulai

Mendapatkan alamat IP eksternal

Saat cluster GKE Enterprise Anda dibuat, pengontrol ingress Istio akan membuat Google Cloud Network Load Balancer dengan alamat IP yang tersedia secara publik.

Untuk mengonfigurasi akses ke layanan Anda dengan cURL atau layanan DNS, Anda harus mendapatkan alamat IP eksternal dari layanan load balancer terlebih dahulu:

Konsol

Untuk mendapatkan alamat IP eksternal load balancer dari konsol Google Cloud :
  1. Buka halaman GKE di konsol Google Cloud :
    Buka GKE
  2. Klik Layanan dan ingress.
  3. Identifikasi layanan yang merupakan ingress Istio cluster Anda. Type layanan akan menjadi External load balancer, dan Name akan menjadi istio-ingressgateway.
  4. Setelah Anda menemukan layanan ingress Istio cluster, salin Endpoint-nya. Ini akan menjadi alamat IP tanpa nomor port. Misalnya, Anda mungkin melihat 00.000.000.000:11 tercantum sebagai endpoint, tetapi Anda hanya perlu menyalin 00.000.000.000.

kubectl

Untuk mendapatkan IP eksternal 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 defaultnya.

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 penayangan 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 bersama dengan 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 Knative serving 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 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 mendapatkan alamat IP eksternal load balancer terlebih dahulu, lalu menggunakan alamat IP tersebut untuk mengonfigurasi layanan karakter pengganti DNS.

Mengonfigurasi domain cluster Anda

Layanan Knative menggunakan ConfigMap config-domain untuk menentukan domain dasar yang digunakan oleh semua layanan 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 :

  1. Buka halaman Domain mappings Knative serving di konsol Google Cloud :

    Buka Pemetaan domain

  2. Pilih Tambahkan pemetaan > Tambahkan domain default cluster

  3. Centang kotak di samping "Terapkan pemetaan domain ini ke semua layanan penayangan Knative yang di-deploy ke cluster ini".

  4. Pilih cluster Anda dari menu drop-down.

  5. 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 wildcard 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 wildcard yang Anda gunakan. Contoh: sslip.io

Layanan Anda kini tersedia di http://{SERVICE_NAME}.{NAMESPACE}.kuberun.{EXTERNAL_IP}.{DNS_SERVICE}.