0Pricing
Kubernetes Basics · Pelajaran

Jenis Service: ClusterIP, NodePort, LoadBalancer

Pelajari berbagai cara untuk membuka akses service di dalam dan di luar cluster Kubernetes.

Jenis Service: ClusterIP, NodePort, LoadBalancer adalah pelajaran Kubernetes Basics gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Kubernetes Basics, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Kubernetes Basics mencakup 4 pelajaran total.

Kebutuhan Eksposur Layanan

Di Kubernetes, Pod bersifat sementara dan memiliki alamat IP yang dinamis. Layanan menyediakan akses jaringan yang stabil ke aplikasi Anda. Namun, bagaimana cara mengeksposnya?

Bergantung pada apakah aplikasi Anda perlu diakses dari dalam atau luar klaster, serta cara aksesnya, Kubernetes menyediakan berbagai jenis Layanan. Mari pelajari tiga jenis utamanya!

ClusterIP: Akses Internal

ClusterIP adalah jenis Layanan bawaan. ClusterIP memberikan alamat IP internal yang stabil untuk Layanan Anda, yang hanya dapat diakses dari dalam klaster Kubernetes.

  • Pod dapat menjangkau Pod lain menggunakan ClusterIP dan nama Layanan.
  • Jenis ini sangat cocok untuk Layanan backend yang tidak memerlukan eksposur langsung ke luar.
  • Anggaplah ini sebagai penyeimbang beban internal untuk Pod Anda.

YAML Layanan ClusterIP

Berikut cara mendefinisikan Layanan bertipe ClusterIP. Perhatikan kolom type: ClusterIP, meskipun kolom ini bersifat opsional karena ClusterIP adalah tipe bawaan.

apiVersion: v1
kind: Service
metadata:
  name: my-internal-service
spec:
  selector:
    app: my-app
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  type: ClusterIP

Mengakses Layanan ClusterIP

Setelah diterapkan, Kubernetes secara otomatis menetapkan alamat IP internal unik (ClusterIP) ke Layanan ini. Pod lain kemudian dapat menggunakan nama Layanan (misalnya, my-internal-service) atau alamat IP-nya untuk terhubung.

Layanan DNS Kubernetes menerjemahkan nama Layanan menjadi ClusterIP, sehingga komunikasi internal menjadi mudah dan andal.

NodePort: Akses Eksternal

Bagaimana jika Anda perlu mengakses aplikasi dari luar klaster? Di sinilah NodePort digunakan.

Layanan NodePort mengekspos aplikasi Anda pada porta statis di alamat IP setiap node dalam klaster. Semua lalu lintas yang dikirim ke NodeIP:NodePort akan diarahkan ke Layanan Anda.

  • Berguna untuk pengembangan dan penerapan berskala kecil.
  • NodePort biasanya berada dalam rentang 30000-32767.

YAML Layanan NodePort

Untuk membuat Layanan NodePort, tetapkan type: NodePort secara eksplisit. Jika Anda tidak menentukan porta, Kubernetes akan memilih porta yang tersedia secara otomatis dalam rentang NodePort.

apiVersion: v1
kind: Service
metadata:
  name: my-nodeport-service
spec:
  selector:
    app: my-app
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
      nodePort: 30080 # Optional: K8s picks if omitted
  type: NodePort

Terhubung melalui NodePort

Setelah menerapkan Layanan NodePort, Anda dapat mengakses aplikasi dari luar klaster menggunakan <AnyNodeIP>:<NodePort>.

Misalnya, jika alamat IP sebuah node adalah 192.168.1.100 dan NodePort yang ditetapkan adalah 30080, Anda dapat mengakses aplikasi di http://192.168.1.100:30080.

LoadBalancer: Integrasi Cloud

Untuk lingkungan produksi pada penyedia cloud (AWS, GCP, Azure), jenis Layanan LoadBalancer sering kali lebih disukai. Jenis ini secara otomatis menyediakan penyeimbang beban cloud eksternal.

Penyeimbang beban ini memperoleh alamat IP publik dan mendistribusikan lalu lintas eksternal ke Pod Layanan Anda. Penyeimbang ini menangani semua perutean yang rumit untuk Anda.

YAML Layanan LoadBalancer

Mendefinisikan Layanan LoadBalancer cukup mudah. Penyedia cloud Anda akan menangani proses penyediaan penyeimbang beban eksternal.

apiVersion: v1
kind: Service
metadata:
  name: my-loadbalancer-service
spec:
  selector:
    app: my-app
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  type: LoadBalancer

Akses Eksternal dengan LoadBalancer

Setelah diterapkan, penyedia cloud Anda akan membuat penyeimbang beban khusus dan menetapkan alamat IP eksternal atau nama host. Anda kemudian dapat menggunakan titik akhir publik ini untuk mengakses aplikasi.

Dengan cara ini, Anda memperoleh metode yang tangguh, dapat diskalakan, dan memiliki ketersediaan tinggi untuk mengekspos Layanan ke internet.

Pemeriksaan Singkat: Jenis Layanan

Jenis Layanan Kubernetes mana yang memungkinkan akses eksternal langsung ke aplikasi dari luar klaster?

Ringkasan: Memilih Layanan

Anda telah mempelajari tiga jenis Layanan Kubernetes utama:

  • ClusterIP: Untuk akses internal saja di dalam klaster.
  • NodePort: Mengekspos Layanan pada porta statis di alamat IP setiap node sehingga memungkinkan akses eksternal.
  • LoadBalancer: Terintegrasi dengan penyedia cloud untuk menyediakan penyeimbang beban eksternal dengan IP publik.

Pilih jenis yang tepat berdasarkan kebutuhan eksposur aplikasi dan lingkungan penerapan Anda!

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Jenis Service: ClusterIP, NodePort, LoadBalancer” gratis?

Ya — teks lengkap “Jenis Service: ClusterIP, NodePort, LoadBalancer” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Kubernetes Basics, upgrade ke CoddyKit PRO. Kursus Kubernetes Basics mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Jenis Service: ClusterIP, NodePort, LoadBalancer”?

Pelajari berbagai cara untuk membuka akses service di dalam dan di luar cluster Kubernetes. Kamu berlatih Kubernetes Basics dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Kubernetes Basics?

Tidak diperlukan pengalaman sebelumnya. Kubernetes Basics di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Jenis Service: ClusterIP, NodePort, LoadBalancer” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Kubernetes Basics ini?

Ya. Setiap pelajaran Kubernetes Basics menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Membuka Akses Aplikasi dengan Service
  2. Jenis Service: ClusterIP, NodePort, LoadBalancer
  3. Ingress untuk Akses Eksternal
  4. DNS dan Penemuan Layanan
← Kembali ke Kubernetes Basics