Kubernetes (K8s) adalah platform open-source untuk otomatisasi deployment, scaling, dan management aplikasi dalam container. Di tahun 2026, Kubernetes telah menjadi standar de facto untuk container orchestration — digunakan oleh 96% perusahaan yang menjalankan container di production.
Apa itu Container Orchestration?
Bayangkan Anda punya 10 microservices yang masing-masing berjalan di container. Anda perlu:
- Memastikan container jalan terus (auto-restart jika crash)
- Menambah jumlah container saat traffic naik (auto-scaling)
- Mendistribusikan traffic ke container yang sehat (load balancing)
- Merollout update tanpa downtime (rolling update)
Container orchestration — dan Kubernetes — melakukan semua ini secara otomatis.
Arsitektur Kubernetes
Control Plane (Master Node):
- kube-apiserver: Gerbang utama untuk semua operasi K8s. Semua komunikasi via API
- etcd: Database key-value yang menyimpan semua konfigurasi dan state cluster
- kube-scheduler: Menentukan di node mana pod baru akan dijalankan
- kube-controller-manager: Menjalankan controller (deployment, replica set, dll)
Worker Nodes:
- kubelet: Agen yang berjalan di setiap node, memastikan container berjalan sesuai spek
- kube-proxy: Menangani networking dan load balancing antar pod
- Container Runtime: Docker, containerd, atau CRI-O yang menjalankan container
Konsep Penting Kubernetes
- Pod: Unit terkecil di K8s — satu atau lebih container yang berbagi network dan storage
- Deployment: Mendeklarasikan jumlah replika pod, strategi update, dan auto-healing
- Service: Abstraksi network yang mengekspos pod ke internal cluster atau eksternal
- Ingress: HTTP/HTTPS routing dari luar cluster ke service internal
- ConfigMap & Secret: Menyimpan konfigurasi dan data sensitif terpisah dari container image
- PersistentVolume: Storage yang tetap ada meski pod dihapus
Cara Install Kubernetes Lokal (Minikube)
# Install Minikube
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
# Start cluster
minikube start --driver=docker
# Cek status
kubectl get nodes
kubectl get pods -A
# Deploy aplikasi pertama
kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=NodePort
kubectl get services
Deploy Aplikasi Sederhana dengan YAML
# deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-app
image: nginx:alpine
ports:
- containerPort: 80
---
# service.yaml
apiVersion: v1
kind: Service
metadata:
name: my-app-service
spec:
selector:
app: my-app
ports:
- port: 80
targetPort: 80
type: LoadBalancer
Baca Juga
Kesimpulan
Kubernetes mungkin terlihat kompleks pada awalnya, tetapi setelah memahami konsep dasar — Pod, Deployment, Service — Anda bisa mulai membangun dan mengelola aplikasi containerized dengan percaya diri. Mulailah dengan Minikube untuk belajar, lalu deploy ke cluster production di cloud (EKS, GKE, AKS).






