Setiap kali Anda menerapkan ulang aplikasi SAE, alamat IP instansnya berubah—sehingga memutus panggilan antarlayanan yang bergantung pada alamat IP tersebut. Nama Layanan Kubernetes (K8s) menyediakan nama domain yang stabil untuk aplikasi di dalam kluster SAE, sehingga aplikasi lain dapat mengaksesnya secara andal meskipun terjadi penerapan ulang.
Topik ini menjelaskan cara mengonfigurasi Nama Layanan K8s untuk aplikasi SAE Anda melalui Konsol SAE.
Cara kerja
Akses berbasis Nama Layanan K8s mengandalkan dua mekanisme komplementer:
Service registration (sisi server): Saat instans layanan dimulai, ia mendaftarkan alamat dan metadata-nya ke registri. Klien berlangganan informasi ini melalui registri.
Penemuan layanan (sisi klien): Registri melacak alamat instans yang aktif dan mengeksposnya melalui antarmuka standar. Saat klien perlu memanggil layanan, ia melakukan kueri ke registri untuk mendapatkan alamat terkini.
Bersama-sama, mekanisme ini memungkinkan layanan saling menemukan secara dinamis, bahkan saat instans datang dan pergi selama penerapan.
Batasan
Sebelum mengonfigurasi Nama Layanan K8s, tinjau batasan berikut:
Nama domain hanya berfungsi di dalam aplikasi SAE. Instans dari layanan lain—seperti FC, ACK, atau ECS—tidak dapat menggunakannya untuk mengakses aplikasi SAE Anda. Untuk mengekspos aplikasi Anda ke layanan tersebut, asosiasikan Classic Load Balancer (CLB) dengannya. Untuk detailnya, lihat Konfigurasikan akses layanan aplikasi menggunakan CLB.
Akses NamaLayanan dari kode menggunakan TCP atau UDP. Jangan gunakan
pinguntuk menguji konektivitas melalui NamaLayanan—gunakanpinghanya terhadap alamat IP Pod untuk memverifikasi jangkauan jaringan.Pod tidak dapat mengakses dirinya sendiri melalui NamaLayanan-nya.
Jika dua aplikasi perlu saling memanggil, keduanya harus dikonfigurasi dengan Nama Layanan K8s masing-masing.
Konfigurasikan Nama Layanan K8s
Anda dapat mengonfigurasi Nama Layanan K8s baik saat membuat aplikasi maupun saat menerapkan ulang aplikasi yang sudah ada.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
Akses ke Konsol SAE
Aplikasi SAE, atau rencana untuk membuatnya
Saat pembuatan aplikasi
Masuk ke Konsol SAE. Di panel navigasi kiri, pilih Applications > Applications, lalu pilih Wilayah dan namespace. Setelah itu, klik Create Application.
Pilih versi aplikasi dan klik Create Application.
Pada halaman Basic Information, konfigurasikan pengaturan dan klik Next: Advanced Settings.
Pada halaman Advanced Settings, temukan dan buka bagian Service Registration And Discovery.
Aktifkan sakelar Kubernetes Service-based Service Registry and Discovery.
Konfigurasikan pengaturan layanan seperti yang dijelaskan dalam Referensi konfigurasi di bawah.
Saat penerapan aplikasi
Penerapan ulang aplikasi akan memicu restart. Untuk menghindari gangguan bisnis, lakukan penerapan pada jam sepi.
Masuk ke Konsol SAE. Di panel navigasi kiri, pilih Applications > Applications. Pilih wilayah dan namespace, lalu klik nama aplikasi target.
Pada halaman Basic information, klik Deploy Application.
Pada halaman Deploy Application, temukan dan buka bagian Service Registration and Discovery.
Aktifkan sakelar Kubernetes Service-based Service Registry and Discovery.
Konfigurasikan pengaturan layanan seperti yang dijelaskan dalam Referensi konfigurasi di bawah.
Referensi konfigurasi
| Setting | Description |
|---|---|
| Service Name | Masukkan nama unik untuk layanan ini. Nama harus unik dalam wilayah yang sama untuk akun Anda dan tidak dapat diubah setelah dibuat. Secara default menggunakan nama aplikasi. |
| Port | Masukkan nomor port antara 1 hingga 65535. Anda dapat menambahkan hingga lima konfigurasi port dan protokol. |
| Container Port | Masukkan port kontainer. |
| Protocol | Pilih TCP atau UDP. |
Lihat nama domain
Setelah konfigurasi disimpan, buka halaman Basic information aplikasi dan navigasikan ke bagian Application Access Settings. Klik tab Kubernetes Service Name-based Access untuk melihat nama domain yang tersedia.
Format nama domain bergantung pada apakah pemanggil berada dalam namespace yang sama dengan aplikasi target:
| Scenario | Domain name format | Example |
|---|---|---|
| Same namespace | <service-name> | demo |
| Cross-namespace | <service-name>.<namespace> | demo.nsfoo |
| Cross-namespace (full) | <service-name>.<namespace>.svc.cluster.local | demo.nsfoo.svc.cluster.local |
| Cross-namespace (with region) | <service-name>.<namespace>.svc.cluster.local.<region> | demo.nsfoo.svc.cluster.local.cn-hangzhou |
Akses cross-namespace: Untuk namespace default, gunakan default sebagai ID namespace (misalnya, demo.default).

Langkah berikutnya
Untuk mengekspos aplikasi SAE Anda ke instans di luar kluster, konfigurasikan akses menggunakan CLB.