Bagikan :
clip icon

Mengupas Tuntas Kubernetes: Pods, Services, dan Deployments untuk Orang Awam

AI Morfo
foto : Morfogenesis Teknologi Indonesia Creative Team
Kubernetes telah menjadi standar de facto dalam mengelola aplikasi berbasis kontainer di era cloud native. Bagi banyak pengembang dan operator infrastruktur, memahami tiga komponen dasar—Pod, Service, serta Deployment—merupakan kunci pertama untuk membangun sistem yang skalabel, andal, dan mudah dirawat. Artikel ini akan membahas konsep-konsep inti tersebut secara runtut, lengkap dengan contoh praktis sehingga pembaca dapat langsung mencoba di klaster lokal seperti minikube atau kind.

1. Pod: Unit Komputasi Terkecil
Pod adalah objek paling sederhana dalam Kubernetes yang merepresentasikan satu atau beberapa kontainer yang saling berbagi sumber daya—jaringan, penyimpanan, serta parameter keamanan—di dalam satu node. Setiap Pod diberikan alamat IP unik dan siklus hidupnya dikelola oleh kubelet. Jika sebuah kontainer di dalam Pod mengalami kegagalan, Pod tersebut tidak akan diperbaiki secara otomatis; sebaliknya, kubelet akan membuat ulang Pod sesuai strategi restartPolicy yang ditentukan. Contoh manifest Pod sederhana:
apiVersion: v1
kind: Pod
metadata:
name: nginx-pod
spec:
containers:
- name: nginx
image: nginx:1.25
ports:
- containerPort: 80

2. Service: Abstraksi Jaringan untuk Akses Stabil
Seiring waktu, Pod dapat dihancurkan dan dibuat ulang, menyebabkan alamat IP-nya berubah. Service menyelesaikan masalah ini dengan menyediakan virtual IP dan DNS yang tetap. Kubernetes menawarkan empat tipe Service: ClusterIP (hanya di dalam klaster), NodePort (menggunakan port node), LoadBalancer (integrasi dengan cloud provider), dan ExternalName (alias DNS). Contoh Service tipe ClusterIP:
apiVersion: v1
kind: Service
metadata:
name: nginx-svc
spec:
selector:
app: nginx
ports:
- port: 80
targetPort: 80
type: ClusterIP

3. Deployment: Manajemen Replicas dan Rollout
Deployment adalah objek yang paling sering digunakan untuk mengelola aplikasi stateless. Ia menjamin jumlah replika Pod sesuai dengan yang diinginkan, mendukung rolling update, serta menyediakan kemampuan rollback ke revisi sebelumnya. Strategi rollingUpdate memungkinkan nol-downtime deployment dengan parameter maxUnavailable dan maxSurge. Contoh Deployment:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deploy
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.25
ports:
- containerPort: 80

4. Alur Kerja Praktis: Menyambungkan Ketiga Komponen
Untuk mempublish aplikasi, langkah umumnya adalah: a) membuat Deployment untuk menjalankan replika Pod, b) membuat Service yang menunjuk Pod berdasarkan label selector, c) mengekspos Service melalui Ingress jika akses eksternal dibutuhkan. Dengan pendekatan GitOps, seluruh manifest dapat disimpan di repositori dan diterapkan secara otomatis melalui Continuous Delivery tools seperti Argo CD. Selain itu, kita dapat memanfaatkan livenessProbe dan readinessProbe untuk memastikan Pod benar-benar sehat sebelum menerima trafik.

5. Best Practice Produksi
1. Selalu tetapkan resource requests dan limits agar kube-scheduler dapat menempatkan Pod secara optimal.
2. Gunakan horizontalPodAutoscaler untuk menskalakan replika berdasarkan CPU atau metrik khusus.
3. Terapkan networkPolicy untuk membatasi komunikasi antar Pod sesuai kebutuhan keamanan.
4. Backup objek-objek Kubernetes secara berkala dengan Velero atau dukungan managed service dari cloud provider.
5. Amankan image dengan memindai kerentanan dan gunakan image dari registry privat yang divalidasi.

6. Kesimpulan
Memahami Pod, Service, dan Deployment membuka jalan untuk eksplorasi lebih dalam ke konsep seperti StatefulSet, DaemonSet, Job, serta CronJob. Dengan penguasaan dasar ini, tim DevOps dapat merancang arsitektur mikrolayan yang elastis dan siap hadapi lonjakan trafik. Ingatlah bahwa Kubernetes bukan sekadar orkestrator, melainkan platform ekosistem yang terus berkembang; oleh karena itu, belajar secara berkelanjutan adalah suatu keniscayaan.

Ingin fokus pada logika bisnis tanpa pusing mengurus infrastruktur? Morfotech.id menyediakan jasa development aplikasi berbasis Kubernetes yang siap pakai, mulai dari konsep hingga produksi. Diskusikan kebutuhan Anda melalui WhatsApp +62 811-2288-8001 atau kunjungi https://morfotech.id untuk melihat portofolio dan layanan kami.
Sumber:
AI Morfotech - Morfogenesis Teknologi Indonesia AI Team
Rabu, September 24, 2025 3:04 PM
Logo Mogi