Internal Networking
1 min read
Kubernetes Cluster : Internal Networking #
Konfigurasi jaringan internal di dalam Kubernetes Cluster sepenuhnya dilakukan secara otomatis dan berbasis pada Kubernetes Services. Plugin CNI (Container Network Interface) akan membuat dan mengatur jaringan overlay yang memberikan setiap pod alamat IP-nya masing-masing.
Selain itu, Kubernetes juga mendukung akses langsung ke service berdasarkan nama service tersebut, sehingga Kamu tidak perlu menggunakan mekanisme service discovery tambahan. Misalnya, aplikasimu bisa langsung terhubung ke database dengan menggunakan nama DNS dari service-nya. Nama ini akan otomatis di-resolve menjadi IP internal yang sesuai. Kamu hanya perlu membuat objek service dengan selector yang tepat.
Secara default, Kubernetes Cluster sudah dilengkapi dengan Hello World deployment, service, dan ingress—kecuali jika kamu memilih opsi custom deployment saat instalasi. Kamu bisa mempelajari aplikasi default ini untuk lebih memahami konsep dari Kubernetes service.
Platform DNS Name Resolution inside PODs #
Kubernetes cluster menggunakan CoreDNS untuk resolve nama DNS internal Kubernetes. Ini secara otomatis didefinisikan dalam file /etc/resolv.conf di setiap pod. CoreDNS juga menggunakan nameserver dari platform, yang memungkinkan koneksi langsung antara Cluster Kubernetes dan container lain di dalam platform tersebut.
Sebagai contoh, jika Kamu memiliki environment dengan database di dalam platform dan ingin mengaksesnya dari pod Kubernetes, Kamu perlu menggunakan hostname dalam format : ${nodeId}-${envName}.${platformDomain} dan port default untuk databasemu (3306 untuk MySQL, 5432 untuk Postgres, dll.).
Namun, Kamu juga perlu membuat endpoint untuk terhubung ke database tersebut dari luar platform.
Powered by BetterDocs
