Memetakan Domain Kustom

Konfigurasi domain kustom yang akan digunakan untuk mengakses layanan penayangan Knative Anda. Anda dapat memetakan satu atau beberapa domain kustom ke setiap layanan, atau memetakan satu domain ke cluster yang digunakan oleh semua layanan. Pemetaan domain kustom Anda dapat berupa domain dasar seperti your-domain.com, atau subdomain seperti your-subdomain.your-domain.com.

Secara default, layanan yang di-deploy ke cluster penyaluran Knative ditetapkan ke domain dasar nip.io. Hal ini memungkinkan Anda untuk segera menguji layanan pada URL seperti:

http://{SERVICE_NAME}.{NAMESPACE}.kuberun.{EXTERNAL_IP}.nip.io

Pelajari domain pengujian lebih lanjut.

Sebelum memulai

Memetakan domain kustom

Anda dapat menggunakan konsol Google Cloud atau alat command line untuk memetakan domain kustom.

Secara umum, untuk mengonfigurasi domain kustom:

  1. Opsional: Cadangkan alamat IP load balancer Anda.
  2. Petakan layanan atau cluster Anda ke domain kustom di penayangan Knative.
  3. Perbarui data DNS di registrar domain Anda.

Mencadangkan alamat IP load balancer

Saat penayangan Knative diinstal, pengontrol ingress Istio akan membuat load balancer dengan alamat IP yang tersedia.

Bergantung pada cluster GKE, Anda mungkin perlu mencadangkan alamat IP load balancer untuk pengontrol ingress Istio:

Di luar Google Cloud
Lihat dokumentasi untuk lingkungan tempat Anda menjalankan cluster GKE untuk mengetahui cara pengelolaan alamat IP, dan apakah alamat IP load balancer Anda bersifat statis. Lihat juga halaman konfigurasi untuk cluster GKE. Misalnya, bergantung pada cara Anda mengonfigurasi load balancing untuk GKE di VMware, Anda mungkin sudah mencadangkan alamat IP tersebut.
Di Google Cloud

Anda harus mencadangkan alamat IP eksternal load balancer untuk memastikan alamat tersebut tetap sama jika layanan ingress Anda dihapus. Bergantung pada konfigurasi cluster Anda, alamat IP tersedia secara eksternal atau hanya internal, misalnya, cluster pribadi.

Load balancer internal di Google Cloud
Lihat halaman berikut untuk mengetahui detail tentang cara mencadangkan alamat IP load balancer internal Anda: Memesan alamat IP internal statis
Load balancer eksternal di Google Cloud
Untuk mencadangkan alamat IP load balancer eksternal Anda:
  1. Dapatkan alamat IP load balancer:

    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. Jenis layanan adalah Load balancer eksternal, dan Nama adalah istio-ingressgateway.
    4. 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 menyalin 00.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.

  2. Cadangkan alamat IP sebagai IP statis:

    gcloud compute addresses create ADDRESS-NAME --addresses EXTERNAL-IP --region REGION

    Ganti:

    • ADDRESS-NAME dengan nama yang ingin Anda berikan IP statis.
    • EXTERNAL-IP dengan alamat IP eksternal load balancer yang Anda peroleh di langkah sebelumnya.
    • REGION dengan region tempat cluster Anda berada.

Setelah mendapatkan alamat IP load balancer, Anda dapat menggunakannya untuk memetakan domain kustom:

Layanan pemetaan

Pilih salah satu metode berikut untuk memetakan domain kustom Anda ke layanan penayangan Knative. Setiap layanan individu dapat dipetakan ke beberapa domain.

Konsol

  1. Buka halaman pemetaan domain di konsol Google Cloud:

    Buka Pemetaan domain

    Perlu diperhatikan bahwa tampilan jendela Anda terlalu kecil, Tombol Pemetaan Domain Kustom tidak ditampilkan dan Anda harus mengklik ikon elips vertikal 3 titik di sebelah pojok kanan halaman.

  2. Klik Tambahkan Pemetaan, lalu pilih Tambahkan pemetaan domain layanan untuk memetakan domain ke setiap layanan. Anda dapat memetakan beberapa domain ke setiap layanan.

  3. Dari daftar drop-down dalam formulir Add Mapping, pilih layanan yang ingin dipetakan ke domain kustom Anda:

  4. Masukkan nama domain. Misalnya, your-domain.com atau subdomain.your-domain.com. Persyaratan domain:

    • Pemetaan jalur dasar tidak didukung. Istilah jalur dasar mengacu pada nama jalur URL setelah nama domain. Misalnya, users adalah jalur dasar dari your-domain.com/users. Penayangan Knative hanya memungkinkan Anda memetakan domain ke /, bukan ke jalur dasar tertentu. Jadi, setiap perutean jalur harus ditangani menggunakan router di dalam container layanan atau dengan menggunakan Firebase Hosting.
    • Anda tidak dapat memetakan domain ke subdomain yang sama dengan URL layanan Anda. URL ke layanan ditentukan sebagai http://{service}.{namespace}.{your-domain.com}. Oleh karena itu, jika Anda memiliki layanan di test.default.your-domain.com, Anda tidak boleh membuat pemetaan domain ke subdomain yang sama test.default.your-domain.com.

  5. Klik Lanjutkan.

  6. Perbarui data DNS di situs registrar domain Anda menggunakan data DNS yang ditampilkan pada langkah terakhir. Anda dapat menampilkan data kapan saja dengan mengklik Data DNS pada "..." menu tindakan untuk pemetaan domain.

  7. Klik Done.

gcloud

  1. Lakukan pemetaan layanan Anda ke domain kustom:

    gcloud run domain-mappings create --service SERVICE --domain DOMAIN

    Ganti:

    • SERVICE dengan nama layanan Anda.
    • DOMAIN dengan domain kustom Anda. Misalnya, your-domain.com atau subdomain.your-domain.com. Persyaratan domain:
      • Pemetaan jalur dasar tidak didukung. Istilah jalur dasar mengacu pada nama jalur URL setelah nama domain. Misalnya, users adalah jalur dasar dari your-domain.com/users. Penayangan Knative hanya memungkinkan Anda memetakan domain ke /, bukan ke jalur dasar tertentu. Jadi, setiap perutean jalur harus ditangani menggunakan router di dalam container layanan atau dengan menggunakan Firebase Hosting.
      • Anda tidak dapat memetakan domain ke subdomain yang sama dengan URL layanan Anda. URL ke layanan ditentukan sebagai http://{service}.{namespace}.{your-domain.com}. Oleh karena itu, jika Anda memiliki layanan di test.default.your-domain.com, Anda tidak boleh membuat pemetaan domain ke subdomain yang sama test.default.your-domain.com.

Setelah domain kustom Anda dipetakan ke penayangan Knative, Anda harus menambahkan data DNS di registrar domain.

Memetakan cluster

Pilih salah satu metode berikut untuk memetakan domain kustom ke cluster Anda:

Konsol

  1. Buka halaman pemetaan domain di konsol Google Cloud:

    Buka Pemetaan domain

    Perlu diperhatikan bahwa tampilan jendela Anda terlalu kecil, Tombol Pemetaan Domain Kustom tidak ditampilkan dan Anda harus mengklik ikon elips vertikal 3 titik di sebelah pojok kanan halaman.

  2. Klik Add Mapping, lalu pilih Add default domain untuk memetakan domain ke semua layanan di cluster Anda. Secara default, layanan baru yang Anda deploy menggunakan domain yang dipetakan.

  3. Klik kotak centang tersebut untuk menerapkan pemetaan domain baru ke semua layanan yang ada di cluster Anda.

  4. Dari daftar dropdown di formulir Add Mapping, pilih cluster yang ingin dipetakan untuk domain kustom Anda:

  5. Masukkan nama domain. Misalnya, your-domain.com atau subdomain.your-domain.com. Persyaratan domain:

    • Pemetaan jalur dasar tidak didukung. Istilah jalur dasar mengacu pada nama jalur URL setelah nama domain. Misalnya, users adalah jalur dasar dari your-domain.com/users. Penayangan Knative hanya memungkinkan Anda memetakan domain ke /, bukan ke jalur dasar tertentu. Jadi, setiap perutean jalur harus ditangani menggunakan router di dalam container layanan atau dengan menggunakan Firebase Hosting.
    • Anda tidak dapat memetakan domain ke subdomain yang sama dengan URL layanan Anda. URL ke layanan ditentukan sebagai http://{service}.{namespace}.{your-domain.com}. Oleh karena itu, jika Anda memiliki layanan di test.default.your-domain.com, Anda tidak boleh membuat pemetaan domain ke subdomain yang sama test.default.your-domain.com.

  6. Klik Lanjutkan.

  7. Perbarui data DNS di situs registrar domain Anda menggunakan data DNS yang ditampilkan pada langkah terakhir. Anda dapat menampilkan data kapan saja dengan mengklik Data DNS pada "..." menu tindakan untuk pemetaan domain.

  8. Klik Done.

kubectl

  1. Jalankan perintah berikut untuk menghapus domain dasar yang ada dari ConfigMap config-domain dan menggantinya dengan domain kustom Anda:

    kubectl patch configmap config-domain --namespace knative-serving --patch \
    '{"data": {"nip.io": null, "DOMAIN": ""}}'

    Ganti DOMAIN dengan domain kustom Anda. Misalnya, your-domain.com atau subdomain.your-domain.com. Persyaratan domain:

    • Pemetaan jalur dasar tidak didukung. Istilah jalur dasar mengacu pada nama jalur URL setelah nama domain. Misalnya, users adalah jalur dasar dari your-domain.com/users. Penayangan Knative hanya memungkinkan Anda memetakan domain ke /, bukan ke jalur dasar tertentu. Jadi, setiap perutean jalur harus ditangani menggunakan router di dalam container layanan atau dengan menggunakan Firebase Hosting.
    • Anda tidak dapat memetakan domain ke subdomain yang sama dengan URL layanan Anda. URL ke layanan ditentukan sebagai http://{service}.{namespace}.{your-domain.com}. Oleh karena itu, jika Anda memiliki layanan di test.default.your-domain.com, Anda tidak boleh membuat pemetaan domain ke subdomain yang sama test.default.your-domain.com.

Setelah domain kustom Anda dipetakan ke penayangan Knative, Anda harus menambahkan data DNS di registrar domain.

Tambahkan data DNS di registrar domain

Setelah memetakan layanan ke domain kustom di penayangan Knative, Anda harus memperbarui data DNS di registrar domain. Untuk memudahkan, penayangan Knative menghasilkan dan menampilkan data DNS yang perlu Anda masukkan. Anda harus menambahkan data berikut yang mengarah ke layanan penayangan Knative di registrar domain Anda agar pemetaan dapat diterapkan.

Jika Anda menggunakan Cloud DNS sebagai penyedia DNS, lihat Penambahan data.

  1. Ambil informasi data DNS untuk pemetaan domain menggunakan:

    Konsol

    1. Buka halaman pemetaan domain penayangan Knative:

      Buka Pemetaan domain

    2. Klik ikon elips vertikal titik 3 di sebelah kanan layanan Anda, lalu klik DATA DNS untuk menampilkan semua data DNS:

    gcloud

    gcloud run domain-mappings describe --domain DOMAIN

    Ganti DOMAIN dengan domain kustom Anda. Misalnya, your-domain.com atau subdomain.your-domain.com.

    Anda memerlukan semua data yang ditampilkan di bawah judul resourceRecords.

  2. Login ke akun Anda di registrar domain, dan kemudian buka halaman konfigurasi DNS.

  3. Cari bagian data host di halaman konfigurasi domain, lalu tambahkan setiap data resource yang Anda terima saat memetakan domain ke layanan penayangan Knative.

  4. Saat Anda menambahkan setiap data DNS diatas ke akun di penyedia DNS:

    • Pilih jenis yang ditampilkan dalam data DNS di langkah sebelumnya: A, atau AAAA, atau CNAME.
    • Gunakan nama www untuk pemetaan ke www.your-domain.com.
    • Gunakan nama @ untuk memetakan your-domain.com.
    • Gunakan karakter pengganti * untuk memetakan ke *.your-domain.com.
  5. Dalam data , data dari kumpulan data berupa nama domain Umumnya, diperlukan waktu beberapa menit agar perubahan ini diterapkan, tetapi dalam beberapa kasus, diperlukan waktu hingga beberapa jam, bergantung pada registrar dan Time-To-Live (TTL) dari data DNS sebelumnya untuk domain Anda. Anda dapat menggunakan alat dig, seperti versi dig online ini, untuk mengonfirmasi bahwa data DNS telah berhasil diupdate.

  6. Uji kesuksesan dengan menjelajahi layanan Anda di URL barunya, misalnya https://www.your-domain.com. Perhatikan bahwa perlu waktu beberapa menit untuk menerbitkan sertifikat SSL/TLS yang terkelola.

Menambahkan pemilik domain terverifikasi ke pengguna atau akun layanan lain

Saat pengguna memverifikasi domain, domain tersebut hanya diverifikasi ke akun pengguna tersebut. Hal ini berarti bahwa hanya pengguna tersebut yang dapat menambahkan lebih banyak pemetaan domain yang menggunakan domain tersebut. Jadi, untuk memungkinkan pengguna lain untuk menambahkan pemetaan yang menggunakan domain tersebut, Anda harus menambahkan mereka sebagai pemilik verifikasi.

Jika Anda perlu untuk menambahkan pemilik verifikasi domain Anda ke pengguna, atau akun layanan lain, Anda dapat menambahkan perizinan melalui halaman Search Console :

  1. Buka alamat ini di browser web Anda:

    https://search.google.com/search-console/welcome

  2. Di bagian Properties, klik domain yang ingin ditambahkan pengguna atau akun layanan.

  3. Scroll ke bawah ke daftar Pemilik terverifikasi, klik Tambahkan pemilik, lalu masukkan alamat email Akun Google atau ID akun layanan.

    Untuk melihat daftar akun layanan, buka halaman Service Accounts di Google Cloud Console:

    Buka halaman Service Accounts

Mendaftarkan domain dengan Cloud Domains dalam konsol penayangan Knative

Untuk mendaftarkan domain dengan Cloud Domains dari dalam konsol penayangan Knative:

  1. Buka halaman pemetaan domain penayangan Knative:

    Buka Pemetaan domain

  2. Klik Register domain.

  3. Selesaikan proses pendaftaran dengan mengikuti petunjuk untuk Mendaftarkan domain.

  4. Selesaikan langkah-langkah sebelumnya di halaman ini untuk Memetakan domain Anda ke penayangan Knative, lalu menambahkan data DNS di registrar domain.

Pemecahan masalah

Lihat masalah umum di Memecahkan masalah domain kustom dan TLS terkelola.