Kubernetes Cluster: Internal Networking
Konfigurasi jaringan internal dalam Kubernetes Cluster adalah proses yang sepenuhnya otomatis, yang didasarkan pada K8s Services. Plugin CNI menciptakan dan mengkonfigurasi jaringan overlay, yang memungkinkan semua pod diberikan alamat IP.
Selain itu, Kubernetes mendukung akses langsung ke layanan dengan menggunakan nama mereka, sehingga tidak diperlukan mekanisme penemuan layanan. Misalnya, server aplikasi Anda dapat terhubung ke database menggunakan nama DNS-nya, yang akan diubah menjadi IP internal yang diperlukan. Untuk ini, Anda hanya perlu membuat objek service dengan pemilih yang benar.
Kubernetes Cluster disediakan dengan Hello World deployment, service, dan ingress secara default (kecuali opsi deployment kustom dipilih selama instalasi). Anda dapat memeriksa aplikasi default ini untuk memahami konsep layanan Kubernetes dengan lebih baik.
Platform DNS Name Resolution inside PODs
Cluster Kubernetes menggunakan CoreDNS untuk menyelesaikan nama DNS internal Kubernetes. Ini secara otomatis didefinisikan dalam file /etc/resolv.conf dari setiap pod. Selain itu, CoreDNS memanfaatkan nameservers platform, yang memungkinkan membangun akses langsung antara K8s Cluster dan kontainer lainnya di dalam platform.
Sebagai contoh, jika Anda memiliki lingkungan dengan database di platform dan ingin menghubungkannya dari pod Kubernetes Anda, Anda perlu menggunakan hostname ${nodeId}-${envName}.${platformDomain}
dan port default untuk database Anda (3306 untuk MySQL, 5432 untuk Postgres, dll.).
Namun, Anda perlu membuat endpoint untuk terhubung ke database semacam ini dari luar platform.