Cara Kerja Kubernetes Service Discovery | Service Discovery adalah di mana sebuah service atau layanan menemukan satu sama lain secara dinamis tanpa memerlukan pengkodean keras alamat IP atau konfigurasi titik akhir.
Dalam infrastruktur cloud-native modern seperti Kubernetes, aplikasi dirancang menggunakan layanan mikro. Berbagai komponen perlu berkomunikasi dalam arsitektur layanan mikro agar aplikasi dapat berfungsi, tetapi masing-masing alamat IP dan titik akhir berubah secara dinamis.
Kubernetes Service Discovery menjadi aspek penting dalam mengelola aplikasi terdistribusi dengan memungkinkan komponen untuk menemukan dan berkomunikasi satu sama lain secara dinamis. Kubernetes menawarkan beberapa mekanisme untuk discovery service, termasuk Service Kubernetes, service discovery berbasis DNS, dan Load Balancing menggunakan Ingress.
Baca juga: Docker dan Kubernetes
Kubernetes Service Discovery
Mengutip laman AVI, Kubernetes Service Discovery adalah lapisan abstraksi yang menentukan kumpulan logis pod dan kebijakan untuk mengaksesnya. Service memungkinkan komunikasi antara berbagai mikroservis atau aplikasi yang berjalan di kuster Kubernetes.
Cara Kerja
- Ketika service dibuat di Kubernetes, maka akan diberikan alamat IP dan port unik yang tetap stabil bahkan saat pod ditambahkan atau dihapus.
- Service Kubernetes menggunakan pemilih untuk secara dinamis mengelompokkan pod berdasarkan label. Ketika layanan diakses, Kubernetes meneruskan lalu lintas ke salah satu pod yang cocok dengan pemilih.
- Service mendukung berbagai strategi load balancing, termasuk putaran, afinitas sesi, dan afinitas sesi berdasarkan IP klien.
Manfaat
- Service menyediakan titik akhir stabil untuk mengakses aplikasi, terlepas dari perubahan siklus pod.
- Mereka mengabstraksi infrastruktur pod yang mendasarinya, memungkinkan pod ditambahkan atau dihapus secara dinamis tanpa memengaruhi ketersediaan layanan.
- Service memfasilitasi dekupling antara mikroservis, memungkinkan pengembang untuk memperbesar dan memperbarui komponen secara independen.
Service Discovery Berbasis DNS
Service Discovery berbasis DNS di Kubernetes memungkinkan aplikasi untuk menemukan dan terhubung ke layanan menggunakan nama DNS alih-alih alamat IP yang sudah ditentukan.
Cara kerja
- Kubernetes secara otomatis menetapkan nama DNS ke layanan berdasarkan nama dan namespace mereka. Format nama DNS adalah <nama-layanan>.<namespace>.svc.cluster.local.
- Aplikasi yang berjalan di kuster Kubernetes dapat menggunakan kueri DNS untuk menyelesaikan nama layanan ke alamat IP secara dinamis.
- Service Discovery berbasis DNS memungkinkan aplikasi berkomunikasi dengan layanan menggunakan nama yang mudah dibaca manusia, membuatnya lebih mudah untuk mengelola dan memperbesar aplikasi.
Manfaat
- Penemuan layanan berbasis DNS menyederhanakan konfigurasi aplikasi dengan menghilangkan kebutuhan untuk menentukan alamat IP.
- Ini menyediakan mekanisme yang fleksibel dan skalabel untuk menyelesaikan nama layanan ke alamat IP secara dinamis.
- Service Discovery berbasis DNS memfasilitasi komunikasi layanan dalam lingkungan multi-cloud atau hibrida dengan mengabstraksi detail infrastruktur yang mendasarinya.
Load Balancing With Ingress Controller
Ingress adalah sumber daya Kubernetes yang mengelola akses eksternal ke layanan dalam sebuah kuster, biasanya lalu lintas HTTP dan HTTPS. Ingress Controller bertanggung jawab untuk menerapkan spesifikasi sumber daya Ingress dan mengarahkan lalu lintas ke layanan yang sesuai.
Cara kerja
- Ingress Controller diterapkan sebagai pod di kuster Kubernetes dan bertanggung jawab untuk memantau sumber daya Ingress.
- Sumber daya Ingress menentukan aturan untuk merutekan permintaan masuk berdasarkan nama host, path, atau kriteria lain ke layanan tertentu.
- Ingress Controller menerapkan aturan ini dengan mengonfigurasi load balancing eksternal, proxy terbalik, atau komponen jaringan lainnya untuk merutekan lalu lintas ke layanan yang sesuai.
Manfaat
- Ingress Controller menyediakan mekanisme yang terpusat dan fleksibel untuk mengelola akses eksternal ke Service di Kubernetes Kluster.
- Mereka mendukung fitur penyebaran lalu lintas lanjutan seperti penyebaran berbasis path, terminasi SSL, dan virtual hosting.
- Ingress Controllerberintegrasi dengan load balancing eksternal atau proxy terbalik, memungkinkan penyebaran lalu lintas yang efisien dan skalabel untuk aplikasi.
Kesimpulan
Kesimpulannya, Kubernetes menawarkan beberapa mekanisme Service Discovery, termasuk Service Kubernetes, Service Discovery berbasis DNS, dan Load Balancing With Ingress . Mekanisme ini menyediakan solusi yang fleksibel dan skalabel untuk mengelola komunikasi layanan dan akses eksternal di kluster Kubernetes, memungkinkan pengembang untuk membangun arsitektur mikroservis yang kokoh dan skalabel.
Training Docker & Kubernetes Jogja
Demikian informasi penting Cara Kerja Kubernetes Service Discovery. Segera ikuti Training Docker & Kubernetes Jogja di PITMA.
PITMA sebagai provider training IT jogja juga melayani lebih banyak lagi materi lainnya. Segera ikuti training Mobile Application Developer di PITMA. Untuk informasi pelatihan dan jadwal terbaru silahkan hubungi kami di nomor whatsapp kami.