Service untuk Akses Jaringan
Buka akses aplikasi Anda di dalam dan di luar cluster menggunakan berbagai jenis Service Kubernetes.
Service untuk Akses Jaringan adalah pelajaran DevOps Bootcamp 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 DevOps Bootcamp, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus DevOps Bootcamp mencakup 4 pelajaran total.
Apa Itu Layanan Kubernetes?
Di Kubernetes, Pod adalah unit terkecil yang dapat di-deploy. Pod dirancang bersifat sementara, artinya Pod dapat dibuat, dihapus, atau diganti kapan saja, dan sering kali menerima alamat IP baru.
Sifat yang dinamis ini menyulitkan aplikasi lain untuk menemukan dan berkomunikasi dengannya secara andal. Di sinilah Layanan berperan!

Menyediakan Akses Jaringan yang Stabil
Layanan Kubernetes bertindak sebagai titik akhir jaringan yang stabil untuk sekumpulan Pod. Anggaplah Layanan sebagai alamat permanen yang tidak berubah, meskipun Pod di belakangnya berubah.
- Layanan menyediakan alamat IP dan nama DNS yang konsisten.
- Layanan dapat menyeimbangkan beban lalu lintas di antara beberapa Pod.
- Layanan memastikan ketersediaan berkelanjutan saat Pod diperbanyak atau dimulai ulang.
Menghubungkan Pod ke Layanan
Bagaimana Layanan mengetahui Pod mana yang harus menerima lalu lintas? Layanan menggunakan label dan pemilih.
Saat membuat Pod, Anda menetapkan label kepadanya (pasangan kunci-nilai seperti app: my-app). Layanan kemudian menentukan pemilih yang cocok dengan label tersebut sehingga terbentuk hubungan dinamis.
Akses Internal dengan ClusterIP
ClusterIP adalah jenis Layanan bawaan dan yang paling umum digunakan. Jenis ini menetapkan alamat IP internal yang stabil di dalam cluster Kubernetes. IP ini hanya dapat dijangkau dari Pod atau Node lain yang berada di dalam cluster.
Jenis ini sangat cocok untuk layanan backend (seperti basis data atau API) yang hanya perlu berkomunikasi dengan layanan lain di dalam aplikasi Anda.
Menentukan Layanan ClusterIP
Berikut definisi YAML sederhana untuk Layanan ClusterIP. Perhatikan selector yang cocok dengan label app: my-backend, serta cara port dipetakan ke targetPort.
apiVersion: v1
kind: Service
metadata:
name: my-backend-service
spec:
selector:
app: my-backend
ports:
- protocol: TCP
port: 80
targetPort: 8080 # Port your application listens on
type: ClusterIPAkses Eksternal dengan NodePort
Layanan NodePort mengekspos aplikasi Anda pada port statis di alamat IP setiap Node. Dengan demikian, layanan Anda dapat diakses dari luar cluster menggunakan IP Node mana pun dan port yang ditentukan.
Nilai nodePort biasanya berada dalam rentang 30000-32767. Jenis ini berguna untuk akses eksternal sederhana atau lingkungan pengembangan.
Menentukan Layanan NodePort
Untuk mengekspos layanan Anda ke luar melalui NodePort, tetapkan type: NodePort. Anda dapat menentukan nodePort secara opsional, atau Kubernetes akan memilihkannya untuk Anda.
apiVersion: v1
kind: Service
metadata:
name: my-frontend-service
spec:
selector:
app: my-frontend
ports:
- protocol: TCP
port: 80
targetPort: 80 # Port your application listens on
nodePort: 30080 # Optional: specific port on the Node
type: NodePortLoad Balancer Cloud
Jenis Layanan LoadBalancer dirancang untuk lingkungan cloud. Saat membuat jenis Layanan ini, penyedia cloud Anda (seperti AWS, GCP, Azure) secara otomatis menyediakan load balancer eksternal.
Load balancer ini memperoleh alamat IP publik dan mengarahkan lalu lintas eksternal langsung ke Pod Anda, sering kali dengan fitur lanjutan seperti terminasi SSL.
Menentukan Layanan LoadBalancer
Untuk aplikasi yang dapat diakses publik di cluster Kubernetes cloud, LoadBalancer adalah pilihan utama. Jenis ini sangat menyederhanakan pengelolaan akses eksternal.
apiVersion: v1
kind: Service
metadata:
name: my-web-app-lb
spec:
selector:
app: my-web-app
ports:
- protocol: TCP
port: 80
targetPort: 80
type: LoadBalancerPilih Layanan yang Tepat
Tim Anda sedang men-deploy aplikasi baru ke Kubernetes. Pertimbangkan skenario berikut:
- API backend yang hanya perlu diakses oleh layanan lain di dalam cluster.
- Server web frontend yang perlu dapat diakses dari internet, dan Anda men-deploy-nya pada penyedia cloud (AWS, GCP, Azure).
Jenis Layanan apa yang paling sesuai untuk server web frontend?
Ringkasan: Layanan untuk Akses Jaringan
Kita telah mempelajari bahwa Layanan Kubernetes menyediakan akses jaringan yang stabil ke Pod yang dinamis. Layanan sangat penting agar aplikasi Anda dapat berkomunikasi dengan andal.
- ClusterIP: Hanya untuk komunikasi internal dalam cluster.
- NodePort: Mengekspos layanan pada port statis di IP setiap Node, sehingga dapat diakses dari luar untuk kasus penggunaan tertentu.
- LoadBalancer: Terintegrasi dengan penyedia cloud untuk menyediakan load balancer eksternal bagi akses publik.
Memilih jenis Layanan yang tepat sangat penting untuk mengendalikan cara aplikasi Anda diekspos.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Service untuk Akses Jaringan” gratis?
Ya — teks lengkap “Service untuk Akses Jaringan” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus DevOps Bootcamp, upgrade ke CoddyKit PRO. Kursus DevOps Bootcamp mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Service untuk Akses Jaringan”?
Buka akses aplikasi Anda di dalam dan di luar cluster menggunakan berbagai jenis Service Kubernetes. Kamu berlatih DevOps Bootcamp 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 DevOps Bootcamp?
Tidak diperlukan pengalaman sebelumnya. DevOps Bootcamp 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 “Service untuk Akses Jaringan” 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 DevOps Bootcamp ini?
Ya. Setiap pelajaran DevOps Bootcamp 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
- Deployment untuk Aplikasi Tanpa Status
- Service untuk Akses Jaringan
- ConfigMaps & Secret
- Ingress dan Perutean Eksternal