Halaman ini memberikan informasi tentang cara mengonfigurasi Load Balancer Jaringan passthrough eksternal agar otomatis terdaftar di Direktori Layanan.
Saat membuat load balancer, Anda dapat mendaftarkannya sebagai endpoint di namespace Direktori Layanan yang ada dan layanan pilihan Anda. Aplikasi klien kemudian dapat menggunakan Direktori Layanan (menggunakan HTTP atau gRPC) untuk me-resolve alamat layanan Load Balancer Jaringan passthrough eksternal dan terhubung ke layanan tersebut secara langsung.
Batasan
Integrasi Direktori Layanan dengan Load Balancer Jaringan passthrough eksternal memiliki batasan berikut:
- Pendaftaran otomatis hanya mendukung load balancer Lapisan 4 eksternal. Anda dapat mendaftarkan layanan load balancing Google Kubernetes Engine menggunakan integrasi GKE. Anda dapat mendaftarkan load balancer eksternal, load balancer global, serta gateway dan ingress Google Kubernetes Engine lainnya dengan memanggil Service Directory API.
- Anda hanya dapat menggunakan pendaftaran otomatis pada saat pembuatan aturan pengalihan. Pendaftaran otomatis menggunakan update Google Cloud CLI untuk aturan penerusan yang sudah ada tidak tersedia.
- Service Directory tidak menyediakan konektivitas, yang berarti meskipun Service Directory menyimpan alamat IP virtual Load Balancer Jaringan passthrough eksternal, mencari Load Balancer Jaringan passthrough eksternal di Service Directory tidak menjamin bahwa Anda dapat terhubung ke alamat IP virtual.
Sebelum memulai
Petunjuk ini memerlukan hal berikut:
Anda harus sudah memiliki namespace dan layanan Direktori Layanan. Jika tidak, buat namespace dan layanan menggunakan prosedur di Mengonfigurasi Direktori Layanan.
Namespace dan layanan Direktori Layanan harus berada di project dan region yang sama dengan aturan penerusan Load Balancer Jaringan passthrough eksternal yang Anda buat.
Anda harus sudah menyiapkan resource yang diperlukan untuk membuat aturan penerusan Load Balancer Jaringan passthrough eksternal.
Untuk mengetahui informasi tentang cara membuat Load Balancer Jaringan passthrough eksternal, lihat Menyiapkan Load Balancer Jaringan passthrough eksternal.
Menyiapkan aturan penerusan untuk mendaftarkan Load Balancer Jaringan passthrough eksternal di Direktori Layanan
Anda harus menyiapkan aturan penerusan untuk mendaftarkan Load Balancer Jaringan passthrough eksternal di Direktori Layanan. Untuk mendaftarkan Load Balancer Jaringan passthrough eksternal, lihat bagian berikut.
Mendaftarkan Load Balancer Jaringan passthrough eksternal
Untuk mendaftarkan Load Balancer Jaringan passthrough eksternal, jalankan perintah gcloud compute forwarding-rules
create
dan
tetapkan tanda service-directory-registration
:
gcloud beta compute forwarding-rules create FORWARDING_RULE_NAME \ --region=REGION \ --load-balancing-scheme=EXTERNAL \ --address=RESERVED_IP_ADDRESS \ --ip-protocol=PROTOCOL_TYPE \ --ports=PORT_NUMBER \ --backend-service=BACKEND_SERVICE_NAME \ --backend-service-region=REGION \ --service-directory-registration=SD_SERVICE_NAME
Ganti kode berikut:
FORWARDING_RULE_NAME
: nama untuk aturan penerusan yang ingin Anda buatREGION
: region tempat membuat aturan penerusanRESERVED_IP_ADDRESS
: alamat IP yang ditayangkan oleh aturan penerusanPROTOCOL_TYPE
: protokol IP yang akan ditayangkan oleh aturanPORT_NUMBER
: daftar port yang dipisahkan komaBACKEND_SERVICE_NAME
: layanan backend target yang menerima trafficSD_SERVICE_NAME
: nama layanan Direktori Layanan yang sepenuhnya memenuhi syarat tempat Anda ingin mendaftarkan endpoint. Layanan ini harus berada di project dan region yang sama dengan aturan penerusan yang dibuat. Misalnya: projects/PROJECT
/locations/REGION
/namespaces/NAMESPACE_NAME
/services/SERVICE_NAME
.
Memverifikasi endpoint
Endpoint Direktori Layanan yang dibuat saat Anda mendaftarkan Load Balancer Jaringan passthrough eksternal memiliki karakteristik berikut:
- Endpoint memiliki nama yang sama dengan nama aturan penerusan dengan
nomor port yang ditentukan (
<forwarding rule name>-<port>
). Misalnya, jika Anda membuat aturan penerusanRULE
dengan--port=8080
, Anda akan mendapatkan endpoint yang disebutRULE-8080
. Untuk aturan yang sama, jika Anda menentukan dua port--port=8080, 8081
, Anda akan mendapatkan dua endpoint,RULE-8080
danRULE-8081
. Jika Anda menentukan--port=ALL
, endpoint Direktori Layanan akan terdaftar dengan port0
. Jika Anda adalah pemilik Load Balancer Jaringan passthrough eksternal, Anda harus memastikan bahwa pemanggil API mengetahui port yang akan dihubungkan. - Anda tidak dapat mengubah atau menghapus endpoint menggunakan Service Directory API publik. Endpoint hanya akan dihapus secara otomatis saat Anda menghapus aturan penerusan. Artinya, Anda tidak dapat menghapus layanan dan namespace tempat endpoint berada saat aturan penerusan ada.
- Endpoint itu sendiri tidak ditagih, meskipun detail harga normal berlaku untuk panggilan API apa pun ke endpoint.
Untuk mengonfirmasi bahwa endpoint telah dibuat, selesaikan layanan di Direktori Layanan. Anda akan melihat endpoint dengan nama yang sama dengan nama aturan penerusan dengan nomor port yang ditentukan.
Untuk me-resolve layanan di Service Directory, jalankan perintah gcloud service-directory
services resolve
:
gcloud service-directory services resolve SD_SERVICE_NAME \ --namespace=SD_NAMESPACE_NAME \ --location=REGION
Ganti kode berikut:
SD_SERVICE_NAME
: nama layanan Direktori Layanan yang akan di-resolve. Nama ini harus berada di nama namespace Direktori Layanan.SD_NAMESPACE_NAME
: nama yang Anda berikan ke namespace yang berisi layanan Anda.REGION
: region Google Cloud yang berisi namespace. Region ini harus sama dengan region tempat Anda membuat aturan penerusan.
Pembersihan
Untuk menghapus resource yang Anda buat, ikuti langkah-langkah berikut.
Untuk menghapus aturan penerusan, jalankan perintah
gcloud compute forwarding-rules delete
:gcloud compute forwarding-rules delete FORWARDING_RULE_NAME \ --region=REGION
Ganti kode berikut:
FORWARDING_RULE_NAME
: nama aturan penerusan yang Anda buatREGION
: region untuk aturan penerusan
Untuk mengetahui detail selengkapnya, lihat Menghapus aturan pengalihan.
Untuk mengonfirmasi bahwa penghapusan aturan penerusan telah otomatis menghapus endpoint dari Direktori Layanan, jalankan perintah
gcloud service-directory services resolve
yang dijelaskan di bagian Memverifikasi endpoint di layanan Direktori Layanan Anda.Untuk menghapus namespace dan layanan Direktori Layanan, lihat Menghapus resource.
Langkah selanjutnya
- Untuk mendapatkan ringkasan Direktori Layanan, lihat ringkasan Direktori Layanan.
- Untuk menemukan solusi atas masalah umum yang mungkin Anda alami saat menggunakan Service Directory, lihat Pemecahan masalah.