Konfigurasi domain kustom untuk digunakan dalam mengakses layanan Knative serving Anda. Anda dapat memetakan satu atau beberapa domain kustom ke layanan individual, atau Anda dapat 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 Anda deploy ke cluster Knative serving ditetapkan ke domain dasar nip.io. Hal ini memungkinkan Anda segera menguji layanan di URL seperti:
http://{SERVICE_NAME}.{NAMESPACE}.kuberun.{EXTERNAL_IP}.nip.io
Pelajari domain pengujian lebih lanjut.
Sebelum memulai
Anda harus memiliki atau membeli domain yang ingin dipetakan ke layanan Anda. Anda dapat menggunakan registrar nama domain, tetapi jika Anda menggunakan Cloud Domains, domain akan otomatis diverifikasi untuk Knative serving, sehingga Anda tidak perlu melalui proses verifikasi domain.
Jika Anda ingin mendaftarkan domain dengan Cloud Domains, lihat Mendaftarkan domain dengan Cloud Domains dalam konsol Knative serving.
Anda harus memiliki setidaknya peran Identity and Access Management Kubernetes Engine Developer atau izin yang setara.
Untuk mengaktifkan HTTPS dengan pemetaan domain kustom, Anda harus menyiapkan sertifikat TLS yang dikelola atau mengonfigurasi sertifikat Anda sendiri.
Untuk memetakan domain kustom ke cluster atau layanan Anda di jaringan internal pribadi, Anda harus menonaktifkan sertifikat TLS yang dikelola.
Memetakan domain kustom
Anda dapat menggunakan Google Cloud konsol atau alat command line untuk memetakan domain kustom.
Umumnya, untuk mengonfigurasi domain kustom:
- Opsional: Cadangkan alamat IP load balancer Anda.
- Petakan layanan atau cluster Anda ke domain kustom di Knative serving.
- Perbarui data DNS di registrar domain Anda.
Mencadangkan alamat IP load balancer
Saat Knative serving diinstal, pengontrol ingress Istio akan membuat load balancer dengan alamat IP yang tersedia.
Bergantung pada cluster GKE Anda, 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 menentukan cara pengelolaan alamat IP dan apakah alamat IP load balancer Anda bersifat statis. Lihat juga halaman konfigurasi untuk cluster GKE Anda. Misalnya, bergantung pada cara Anda mengonfigurasi load balancing untuk Google Distributed Cloud, Anda mungkin telah mencadangkan alamat IP tersebut.
- Di Google Cloud
Anda harus mencadangkan alamat IP eksternal load balancer untuk memastikan alamat IP 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: Mencadangkan alamat IP internal statis
- Load balancer eksternal di Google Cloud
- Untuk mencadangkan alamat IP load balancer eksternal Anda:
Dapatkan alamat IP 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 berupa Load balancer
eksternal, dan **Nama** akan berupa
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-systemjika Anda menginstal Cloud Service Mesh menggunakan konfigurasi default-nya.Output yang dihasilkan akan terlihat mirip dengan yang 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.
- Buka halaman GKE di Google Cloud konsol:
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 ke IP statis Anda.
- EXTERNAL-IP dengan alamat IP eksternal load balancer yang Anda dapatkan pada langkah sebelumnya.
- REGION dengan region tempat cluster Anda berada.
Setelah mendapatkan alamat IP load balancer, Anda dapat menggunakannya untuk memetakan domain kustom Anda:
Memetakan layanan
Pilih salah satu metode berikut untuk memetakan domain kustom Anda ke layanan Knative serving. Setiap layanan individual dapat dipetakan ke beberapa domain.
Konsol
Buka halaman pemetaan domain di Google Cloud konsol:
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.
Klik Tambahkan Pemetaan, lalu pilih Tambahkan pemetaan domain layanan untuk memetakan domain ke layanan individual. Anda dapat memetakan beberapa domain ke setiap layanan.
Dari daftar dropdown di formulir Tambahkan Pemetaan, pilih layanan yang ingin Anda petakan domain kustomnya:
Masukkan nama domain. Misalnya,
your-domain.comatausubdomain.your-domain.com. Persyaratan domain:- Pemetaan jalur dasar tidak didukung. Istilah jalur dasar mengacu pada nama jalur URL yang berada setelah nama domain. Misalnya,
usersadalah jalur dasar dariyour-domain.com/users. Knative serving hanya memungkinkan Anda memetakan domain ke/, bukan ke jalur dasar tertentu. Jadi, semua perutean jalur harus ditangani dengan menggunakan router di dalam container layanan atau dengan menggunakan Firebase Hosting. -
Anda tidak dapat memetakan domain ke subdomain yang cocok dengan URL layanan Anda. URL ke layanan ditentukan sebagai
http://{service}.{namespace}.{your-domain.com}, oleh karena itu, jika Anda memiliki layanan ditest.default.your-domain.com, Anda tidak boleh membuat pemetaan domain ke subdomain yang samatest.default.your-domain.com.
- Pemetaan jalur dasar tidak didukung. Istilah jalur dasar mengacu pada nama jalur URL yang berada setelah nama domain. Misalnya,
Klik Lanjutkan.
Perbarui data DNS di situs web registrar domain menggunakan data DNS yang ditampilkan pada langkah terakhir. Anda dapat menampilkan data kapan saja dengan mengklik Data DNS pada "..." menu tindakan untuk pemetaan domain.
Klik Selesai.
gcloud
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.comatausubdomain.your-domain.com. Persyaratan domain:- Pemetaan jalur dasar tidak didukung. Istilah jalur dasar mengacu pada nama jalur URL yang berada setelah nama domain. Misalnya,
usersadalah jalur dasar dariyour-domain.com/users. Knative serving hanya memungkinkan Anda memetakan domain ke/, bukan ke jalur dasar tertentu. Jadi, semua perutean jalur harus ditangani dengan menggunakan router di dalam container layanan atau dengan menggunakan Firebase Hosting. -
Anda tidak dapat memetakan domain ke subdomain yang cocok dengan URL layanan Anda. URL ke layanan ditentukan sebagai
http://{service}.{namespace}.{your-domain.com}, oleh karena itu, jika Anda memiliki layanan ditest.default.your-domain.com, Anda tidak boleh membuat pemetaan domain ke subdomain yang samatest.default.your-domain.com.
- Pemetaan jalur dasar tidak didukung. Istilah jalur dasar mengacu pada nama jalur URL yang berada setelah nama domain. Misalnya,
Setelah domain kustom Anda dipetakan ke Knative serving, Anda harus menambahkan data DNS di registrar domain Anda.
Memetakan cluster
Pilih salah satu metode berikut untuk memetakan domain kustom Anda ke cluster Anda:
Konsol
Buka halaman pemetaan domain di Google Cloud konsol:
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.
Klik Tambahkan Pemetaan, lalu pilih Tambahkan domain default untuk memetakan domain ke semua layanan di cluster Anda. Secara default, layanan baru yang Anda deploy menggunakan domain yang dipetakan.
Klik kotak centang untuk menerapkan pemetaan domain baru Anda ke semua layanan yang ada di cluster Anda.
Dari daftar dropdown di formulir Tambahkan Pemetaan, pilih cluster yang ingin Anda petakan domain kustomnya:
Masukkan nama domain. Misalnya,
your-domain.comatausubdomain.your-domain.com. Persyaratan domain:- Pemetaan jalur dasar tidak didukung. Istilah jalur dasar mengacu pada nama jalur URL yang berada setelah nama domain. Misalnya,
usersadalah jalur dasar dariyour-domain.com/users. Knative serving hanya memungkinkan Anda memetakan domain ke/, bukan ke jalur dasar tertentu. Jadi, semua perutean jalur harus ditangani dengan menggunakan router di dalam container layanan atau dengan menggunakan Firebase Hosting. -
Anda tidak dapat memetakan domain ke subdomain yang cocok dengan URL layanan Anda. URL ke layanan ditentukan sebagai
http://{service}.{namespace}.{your-domain.com}, oleh karena itu, jika Anda memiliki layanan ditest.default.your-domain.com, Anda tidak boleh membuat pemetaan domain ke subdomain yang samatest.default.your-domain.com.
- Pemetaan jalur dasar tidak didukung. Istilah jalur dasar mengacu pada nama jalur URL yang berada setelah nama domain. Misalnya,
Klik Lanjutkan.
Perbarui data DNS di situs web registrar domain menggunakan data DNS yang ditampilkan pada langkah terakhir. Anda dapat menampilkan data kapan saja dengan mengklik Data DNS pada "..." menu tindakan untuk pemetaan domain.
Klik Selesai.
kubectl
Jalankan perintah berikut untuk menghapus domain dasar yang ada dari
config-domainConfigMap 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.comatausubdomain.your-domain.com. Persyaratan domain:- Pemetaan jalur dasar tidak didukung. Istilah jalur dasar mengacu pada nama jalur URL yang berada setelah nama domain. Misalnya,
usersadalah jalur dasar dariyour-domain.com/users. Knative serving hanya memungkinkan Anda memetakan domain ke/, bukan ke jalur dasar tertentu. Jadi, semua perutean jalur harus ditangani dengan menggunakan router di dalam container layanan atau dengan menggunakan Firebase Hosting. -
Anda tidak dapat memetakan domain ke subdomain yang cocok dengan URL layanan Anda. URL ke layanan ditentukan sebagai
http://{service}.{namespace}.{your-domain.com}, oleh karena itu, jika Anda memiliki layanan ditest.default.your-domain.com, Anda tidak boleh membuat pemetaan domain ke subdomain yang samatest.default.your-domain.com.
- Pemetaan jalur dasar tidak didukung. Istilah jalur dasar mengacu pada nama jalur URL yang berada setelah nama domain. Misalnya,
Setelah domain kustom Anda dipetakan ke Knative serving, Anda harus menambahkan data DNS di registrar domain Anda.
Tambahkan data DNS di registrar domain
Setelah melakukan pemetakan layanan ke domain kustom di Knative serving, Anda harus memperbarui data DNS di registrar domain Anda. Untuk memudahkan, Knative serving membuat dan menampilkan data DNS yang perlu Anda masukkan. Anda harus menambahkan data ini yang mengarah ke layanan Knative serving di registrar domain agar pemetaan dapat dilakukan.
Jika Anda menggunakan Cloud DNS sebagai penyedia DNS, lihat Penambahan data.
Ambil informasi data DNS untuk pemetaan domain menggunakan:
Konsol
Buka halaman pemetaan domain Knative serving:
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.comatausubdomain.your-domain.com.Anda memerlukan semua data yang ditampilkan di bawah judul
resourceRecords.Login ke akun Anda di registrar domain, dan kemudian buka halaman konfigurasi DNS.
Cari bagian data host di halaman konfigurasi domain Anda, dan kemudian tambahkan setiap data resource yang Anda terima saat Anda melakukan pemetaan domain ke layanan Knative serving Anda.
Saat Anda menambahkan setiap data DNS diatas ke akun di penyedia DNS:
- Pilih jenis yang ditampilkan dalam data DNS di langkah sebelumnya:
A, atauAAAA, atauCNAME. - Gunakan nama
wwwuntuk pemetaan kewww.your-domain.com. - Gunakan nama
@untuk pemetaanyour-domain.com. - Gunakan
karakter pengganti
*untuk pemetaan ke*.your-domain.com.
- Pilih jenis yang ditampilkan dalam data DNS di langkah sebelumnya:
Simpan perubahan di halaman konfigurasi DNS untuk akun domain Anda. 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 versidigonline ini, untuk mengonfirmasi bahwa data DNS telah berhasil diupdate.Uji kesuksesan dengan menjelajahi layanan Anda di URL barunya, misalnya
https://www.your-domain.com. Perhatikan bahwa perlu waktu beberapa menit untuk menerbitkan pengelolaan sertifikat SSL/TLS.
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 :
Buka alamat ini di browser web Anda:
Di bagian Properties, klik domain yang ingin ditambahkan pengguna atau akun layanan.
Scroll ke bagian daftar Verified owners, klik Add an owner, lalu masukkan alamat email Akun Google atau ID akun layanan.
Untuk melihat daftar akun layanan, buka halaman Akun Layanan di Google Cloud konsol:
Mendaftarkan domain dengan Cloud Domains dalam konsol Knative serving
Untuk mendaftarkan domain dengan Cloud Domains dari dalam konsol Knative serving:
Buka halaman pemetaan domain Knative serving:
Klik Daftarkan domain.
Selesaikan proses pendaftaran dengan mengikuti petunjuk untuk Mendaftarkan domain.
Selesaikan langkah-langkah sebelumnya di halaman ini untuk Memetakan domain Anda ke Knative serving, lalu tambahkan data DNS di registrar domain Anda.
Pemecahan masalah
Lihat masalah umum di Pemecahan masalah domain kustom dan TLS yang dikelola.