SAE mendukung pendaftaran dan penemuan layanan untuk aplikasi dalam berbagai bahasa, memungkinkan panggilan antarlayanan menggunakan ServiceName K8s. Anda dapat mengonfigurasi nama domain tetap yang dapat diakses untuk suatu aplikasi dalam kluster SAE, sehingga mengatasi masalah perubahan alamat IP instans setelah setiap penerapan. Topik ini menjelaskan cara menggunakan Konsol SAE untuk mengonfigurasi akses aplikasi melalui ServiceName K8s.
Informasi latar belakang
Dalam kerangka kerja layanan mikro terdistribusi, pendaftaran dan penemuan layanan memungkinkan server dan klien berkomunikasi secara efektif meskipun status daring atau luring layanan berubah.
Pendaftaran layanan: Berlaku untuk server. Instans layanan mendaftarkan informasinya ke registri, yang kemudian dibaca dan dilanggan oleh klien.
Penemuan layanan: Berlaku untuk klien. Registri melakukan probing terhadap alamat instans dan metadata layanan, lalu menyediakan informasi tersebut kepada klien melalui antarmuka yang telah ditentukan. Klien melakukan kueri terhadap registri untuk memperoleh informasi tentang layanan yang dibutuhkan, lalu menggunakan informasi tersebut untuk melakukan panggilan.
Batasan
Nama domain ini hanya dapat digunakan untuk mengakses instans dalam aplikasi SAE. Instans atau kluster dari layanan lain, seperti FC, ACK, atau ECS, tidak dapat menggunakan nama domain ini untuk mengakses aplikasi SAE. Jika aplikasi dari layanan lain perlu mengakses aplikasi SAE, Anda harus mengaitkan Classic Load Balancer (CLB) privat atau publik untuk menyediakan akses. Untuk informasi selengkapnya, lihat Konfigurasi akses layanan aplikasi menggunakan CLB.
Jangan gunakan perintah ping untuk mengakses ServiceName K8s. Sebaliknya, akses ServiceName tersebut dari kode Anda menggunakan TCP atau UDP. Anda dapat menggunakan perintah ping untuk menguji alamat IP pod aplikasi guna memeriksa konektivitas jaringan.
Pod aplikasi tidak dapat mengakses dirinya sendiri menggunakan ServiceName-nya.
Jika aplikasi server dan aplikasi klien perlu saling memanggil, keduanya harus dikonfigurasi dengan ServiceName K8s.
Panduan konfigurasi
Akses fitur tersebut.
Titik masuk konfigurasi saat membuat aplikasi
Masuk ke Konsol SAE. Di panel navigasi sebelah kiri, pilih . Pilih wilayah dan namespace, lalu klik Create Application.
Pilih versi aplikasi dan klik Create Application.
Pada halaman Application Basic Information, konfigurasikan pengaturan dan klik Next: Advanced Settings.
Pada halaman Advanced Settings, temukan dan buka bagian Service Registration And Discovery.
Titik masuk konfigurasi saat menerapkan aplikasi
PeringatanSetelah Anda menerapkan ulang aplikasi, aplikasi akan dimulai ulang. Untuk mencegah kesalahan tak terduga seperti gangguan bisnis, disarankan agar Anda menerapkan aplikasi di luar jam sibuk.
Masuk ke Konsol SAE. Di panel navigasi sebelah kiri, pilih . Pilih wilayah dan namespace, lalu klik nama aplikasi target.
Pada halaman Basic Information aplikasi, klik Deploy Application.
Pada halaman Deploy Application, temukan dan buka bagian Service Registration And Discovery.
Konfigurasikan fitur Service Registration And Discovery Based On K8s Service.
Nyalakan sakelar Service Registration And Discovery Based On K8s Service.
Konfigurasikan Service Name, Port, dan Protocol.
Item Konfigurasi
Deskripsi
Service Name
Masukkan nama layanan kustom. Nama tersebut harus unik dalam wilayah yang sama untuk akun Anda dan tidak dapat diubah setelah dibuat.
CatatanNama layanan default adalah nama aplikasi.
Port
Masukkan nomor Port dari 1 hingga 65535.
CatatanAnda dapat menambahkan maksimal lima konfigurasi port dan protokol.
Container Port
Masukkan port kontainer.
Protocol
Pilih protokol dari daftar drop-down. Protokol berikut didukung:
TCP
UDP
Lihat nama domain akses
Pada halaman Basic Information aplikasi target, arahkan ke bagian Application Access Settings. Klik tab Access Based On K8s Service Name untuk melihat nama domain tersebut.
Empat jenis nama domain berikut didukung:
Untuk mengakses aplikasi dalam namespace yang sama, gunakan nama layanan. Contohnya, `demo`.
Untuk mengakses aplikasi lintas namespace, gunakan salah satu format nama domain berikut.
demo.nsfoo
Dalam contoh ini, `nsfoo` adalah namespace kustom. Jika aplikasi target berada di namespace `default`, gunakan `default` sebagai ID namespace. Contohnya: `demo.default`.
demo.nsfoo.svc.cluster.local
demo.nsfoo.svc.cluster.local.cn-hangzhou
