📖 Konsep Utama Kubernetes
- Cluster: sekumpulan node (server) yang menjalankan container.
- Node: mesin (fisik/VM) tempat container berjalan.
- Pod: unit terkecil, berisi satu atau lebih container.
- Deployment: mendefinisikan bagaimana pod dijalankan & diupdate.
- Service: cara expose pod agar bisa diakses (load balancing, DNS).
- ConfigMap & Secret: menyimpan konfigurasi & data sensitif.
⚙️ Workflow Kubernetes
- Developer menulis file manifest (YAML) untuk mendefinisikan pod/deployment.
- Kubernetes API menerima definisi tersebut.
- Scheduler menempatkan pod ke node yang tersedia.
- Kubelet di node menjalankan container sesuai instruksi.
- Service mengatur akses & load balancing.
🔹 Contoh Deployment YAML
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp-deployment
spec:
replicas: 3
selector:
matchLabels:
app: myapp
template:
metadata:
labels:
app: myapp
spec:
containers:
- name: myapp
image: myuser/myapp:latest
ports:
- containerPort: 3000
🔹 Contoh Service YAML
apiVersion: v1
kind: Service
metadata:
name: myapp-service
spec:
selector:
app: myapp
ports:
- protocol: TCP
port: 80
targetPort: 3000
type: LoadBalancer