Google Kubernetes Engine atau GKE merupakan sebuah platform open-source yang dapat dimanfaatkan untuk mengelola beban kerja dan layanan containerized yang berjalan di lingkungan terkelola sepenuhnya, memanfaatkan infrastruktur Google Cloud. Artikel kali ini akan menjelaskan apa saja jaringan dasar GKE serta cara kerjanya. Mari simak bersama.
IP addressing
Photo Credit: jannoon028 (Freepik)
Beragam komponen jaringan di Kubernetes memanfaatkan alamat dan port IP untuk berkomunikasi. Alamat IP sendiri merupakan alamat unik yang digunakan untuk mengidentifikasi beragam komponen di dalam jaringan.
Komponen-komponen Google Kubernetes Engine
- Container: Komponen terkecil untuk menjalankan proses-proses di dalam aplikasi.
- Pod: Kumpulan container yang secara fisik dikelompokkan bersama.
- Node: Mesin pekerja dalam sebuah klaster yang terdiri dari beberapa pods.
Layanan yang tersedia di Google Kubernetes Engine
- ClusterIP: Menetapkan alamat ke layanan.
- Load balancer: Memuat traffic internal penyeimbang atau traffic eksternal ke node dalam klaster.
- Ingress: Jenis Load balancer khusus yang menangani traffic HTTP(S).
Alamat IP ditetapkan dari berbagai subnet ke komponen dan layanan. Variable length subnet mask (VLSM) digunakan untuk membuat blok CIDR. Jumlah host yang tersedia pada subnet tergantung pada subnet mask yang digunakan. Alur penetapan alamat akan IP terlihat seperti ini:
- Node diberi alamat IP dari klaster jaringan VPC.
- Alamat IP penyeimbang beban internal secara default ditetapkan dari blok Node IPv4. Jika perlu, Anda dapat membuat rentang tertentu untuk penyeimbang beban dan menggunakan opsi loadBalancerIP untuk menentukan alamat dari rentang tersebut.
- Pod diberikan alamat dari berbagai alamat Pod yang berjalan pada node tersebut. Pod maks default per node adalah 110. Untuk mengalokasikan alamat ke nomor ini jumlahnya dikalikan dengan 2 (110*2=220) dan subnet terdekat digunakan yaitu /24. Ini memungkinkan buffer untuk penjadwalan pod. Batas ini dapat disesuaikan pada waktu pembuatan.
- Container berbagi alamat IP dari Pod yang mereka jalankan.
- Alamat layanan (IP cluster) ditetapkan dari kumpulan alamat yang disediakan untuk layanan.
Baca juga: Cost Estimator: Fitur Baru GKE untuk Perkiraan Biaya yang Lebih Akurat
Domain Naming System (DNS)
Photo Credit: Rawpixel
DNS memungkinkan resolusi nama ke alamat IP. Ini memungkinkan entri nama otomatis dibuat untuk layanan. Ada beberapa opsi di GKE, yaitu:
- kube-dns: Layanan add-on asli Kubernetes. Kube-dns berjalan pada penerapan yang diekspos melalui IP cluster. Secara default, pod dalam sebuah klaster menggunakan layanan ini untuk kueri DNS.
- Cloud DNS: Layanan terkelola Google Cloud DNS yang dapat digunakan untuk mengelola klaster DNS.
Load Balancers
Mengontrol akses dan mendistribusikan traffic di seluruh resources yang berantakan. Beberapa opsi di Google Kubernetes Engine adalah Internal Load balancers dan External Load balancers.
Baca juga: Penerapan Keamanan Zero Trust pada Workload dengan GKE, Traffic Director, dan CA Service
Ingress
Photo Credit: Google Cloud Blog
Berfungsi menangani traffic HTTP(S) yang ditujukan ke layanan di klaster Anda. Layanan ini menggunakan resources tipe Ingress. Saat digunakan, ini akan membuat penyeimbang beban HTTP(S) untuk GKE. Saat mengonfigurasi, Anda dapat menetapkan alamat IP statis ke penyeimbang beban, untuk memastikan alamat tidak berubah.
Dengan GKE, Anda dapat menyediakan Ingress eksternal dan internal. GKE juga memungkinkan Anda memanfaatkan load balancing container-native yang mengarahkan traffic langsung ke IP pod menggunakan Network Endpoint Groups (NEGs).
Operations
Di GKE Anda memiliki beberapa cara untuk mendesain jaringan klaster, yaitu:
- Standard: Mode ini memungkinkan admin untuk mengonfigurasi infrastruktur yang mendasari klaster. Mode ini bermanfaat jika Anda membutuhkan tingkat kontrol yang lebih dalam.
- Autopilot: GKE menyediakan dan mengelola infrastruktur dasar klaster. Cara ini telah dikonfigurasi sebelumnya untuk memberi Anda sedikit kebebasan manajemen.
- Private Cluster: Dapat digunakan ketika Anda memerlukan klien untuk memiliki akses ke internet (misalnya untuk pembaruan. Perlu diingat, cara ini hanya mengizinkan koneksi IP internal.
- Private Service Access: Memungkinkan VPC Anda berkomunikasi dengan service producer services melalui alamat IP pribadi.
Baca juga: Memahami Keamanan Infrastruktur Google Cloud
Google Kubernetes Engine menawarkan cara sederhana untuk menyiapkan Cluster Kubernetes. Layanan ini dirancang khusus untuk mendukung penerapan Kubernetes terkelola di Google Cloud, memungkinkan Anda mendapat praktik langsung dalam mengonfigurasi image Docker, container, dan menerapkan aplikasi Kubernetes yang lengkap.
Google Kubernetes Engine telah terintegrasi dengan Google Cloud sehingga memudahkan Anda dalam manajemen klaster melalui komputasi awan. EIKON Technology menyediakan solusi Google Cloud resmi, berlisensi, dan tentunya dapat disesuaikan untuk kebutuhan perusahaan. Untuk informasi selengkapnya, silakan klik di sini.