Langsung ke konten utama

Day 91 : Cluster IP dalam kubernetes

ClusterIP adalah salah satu jenis Service yang tersedia di Kubernetes, digunakan untuk memungkinkan komunikasi antar-pod di dalam cluster Kubernetes. Service ini membuat alamat IP virtual (disebut Cluster IP) yang hanya dapat diakses dari dalam cluster. Ini berguna untuk menghubungkan aplikasi atau layanan backend yang berjalan di pod-pod Kubernetes.


Cara Kerja ClusterIP

  1. Mendefinisikan ClusterIP:

    • Ketika Anda membuat Service dengan jenis ClusterIP, Kubernetes akan secara otomatis menetapkan sebuah IP virtual dari range IP yang telah didefinisikan di konfigurasi cluster.
    • Service ini bertindak sebagai load balancer internal yang mendistribusikan lalu lintas ke pod-pod yang cocok dengan selector.
  2. Resolusi DNS:

    • ClusterIP juga terdaftar dalam DNS internal Kubernetes. Anda dapat mengakses Service melalui nama DNS-nya (biasanya dalam format <nama-service>.<namespace>.svc.cluster.local).
  3. Seleksi Pod dengan Label:

    • ClusterIP menggunakan selector untuk menentukan pod mana yang akan dilayani. Misalnya, hanya pod yang memiliki label tertentu yang akan menerima lalu lintas dari Service ini.
  4. Proxy Traffic:

    • Kubernetes menggunakan kube-proxy untuk mengarahkan lalu lintas yang diterima oleh ClusterIP ke pod yang relevan.

Ilustrasi Penggunaan ClusterIP

Misalkan Anda memiliki aplikasi yang terdiri dari frontend dan backend:

  • Frontend ingin berkomunikasi dengan Backend.
  • Anda membuat Service ClusterIP untuk backend, misalnya:
    apiVersion: v1 kind: Service metadata: name: backend-service spec: selector: app: backend ports: - protocol: TCP port: 80 targetPort: 8080
  • Frontend hanya perlu mengakses backend melalui backend-service (nama Service) tanpa perlu mengetahui alamat IP pod backend.

Kelebihan ClusterIP

  1. Isolasi Internal:
    • Hanya dapat diakses dari dalam cluster, sehingga meningkatkan keamanan layanan.
  2. Load Balancing:
    • Secara otomatis mendistribusikan lalu lintas ke beberapa pod yang sesuai.
  3. Simpel dan Otomatis:
    • Tidak perlu mengatur alamat IP atau port secara manual untuk setiap pod.

Kapan Menggunakan ClusterIP?

  • Ketika layanan Anda hanya perlu diakses oleh aplikasi lain di dalam cluster, seperti komunikasi antara microservices.
  • Untuk mengurangi eksposur layanan yang sensitif ke luar cluster.

Komentar

Postingan populer dari blog ini

Day 109 : Akhir dari Perjalanan PKL: Terima Kasih untuk PT Excellent

Hari ini adalah hari terakhir saya menjalani PKL di PT Excellent. Momen ini menjadi penutup dari perjalanan yang luar biasa penuh pembelajaran, pengalaman, dan kenangan yang tak terlupakan. Saya ingin menyampaikan rasa terima kasih yang sebesar-besarnya kepada keluarga besar PT Excellent atas kesempatan, bimbingan, dan kepercayaan yang telah diberikan kepada saya selama saya melaksanakan PKL di sini. Selama PKL, saya mendapatkan banyak pengetahuan baru yang sebelumnya belum pernah saya pelajari. Dari segi teknis, saya belajar banyak tentang teknologi seperti Zimbra, bahasa pemrograman Golang, hingga DevOps hal-hal yang awalnya terasa asing, kini menjadi ilmu yang berharga dan menjadi ilmu baru bagi saya. Namun, pembelajaran saya di PT Excellent tidak hanya terbatas pada aspek teknis. Saya juga belajar tentang kedisiplinan, tanggung jawab, profesionalisme, serta bagaimana pentingnya kolaborasi dalam lingkungan kerja. Terima kasih kepada Mas Ridwan, yang selalu membimbing saya dengan sab...

Day 82 : Membuat image dengan bahasa pemrograman golang

Hari ini, saya melanjutkan perjalanan belajar Docker dengan memanfaatkan Visual Studio Code (VSCode), editor favorit saya. Fokus utama saya adalah memahami cara membuat Docker image menggunakan alur kerja yang terintegrasi dengan VSCode. Proses ini tidak hanya efisien tetapi juga menyenangkan karena VSCode memiliki ekosistem yang kaya, termasuk berbagai ekstensi pendukung yang mempermudah pekerjaan. Mengapa Menggunakan VSCode untuk Docker? VSCode menyediakan lingkungan pengembangan yang lengkap dengan berbagai fitur, seperti: Docker Extension : Mempermudah pengelolaan image, container, dan jaringan Docker langsung dari editor. Terminal Terintegrasi : Menjalankan perintah Docker langsung dari VSCode tanpa perlu beralih aplikasi. Debugging Tools : Membantu melacak masalah aplikasi yang berjalan di dalam container, terutama bagi pengembang Golang. Dengan semua keunggulan ini, VSCode menjadi alat yang sangat mendukung dalam pengembangan berbasis Docker. Langkah-langkah Membuat Docker Image...

Day 64 : Membuat program sederhana go part 7 : Menghitung sistem persamaan dua variabel

Apa itu Sistem Persamaan Linear Dua Variabel (SPLDV)? Sistem persamaan linear dua variabel (SPLDV) adalah kumpulan dua persamaan linear yang melibatkan dua variabel, biasanya dinotasikan dengan x dan y . Tujuan SPLDV adalah mencari nilai x dan y yang memenuhi kedua persamaan tersebut secara bersamaan . Secara umum, bentuk SPLDV adalah: a 1 x + b 1 y = c 1 a_1x + b_1y = c_1 a 1 ​ x + b 1 ​ y = c 1 ​ a 2 x + b 2 y = c 2 a_2x + b_2y = c_2 a 2 ​ x + b 2 ​ y = c 2 ​ Keterangan: a 1 , b 1 , c 1 a_1, b_1, c_1 a 1 ​ , b 1 ​ , c 1 ​ adalah koefisien dan konstanta dari persamaan pertama. a 2 , b 2 , c 2 a_2, b_2, c_2 a 2 ​ , b 2 ​ , c 2 ​ adalah koefisien dan konstanta dari persamaan kedua. x dan y adalah variabel yang dicari solusinya. Contoh SPLDV 2 x + 3 y = 5 2x + 3y = 5 2 x + 3 y = 5 4 x − y = 2 4x - y = 2 4 x − y = 2 Tujuan kita adalah mencari nilai x dan y yang membuat kedua persamaan benar secara bersamaan. Kemungkinan Solusi SPLDV Solusi unik : SPLDV memiliki satu pasangan sol...