L76 — Kubernetes Basics
Ba mô-đun tương tác: quan hệ các đối tượng K8s · rolling update zero-downtime · hành vi probe (liveness vs readiness).
1. Quan hệ các đối tượng (object relationship)
Deployment quản ReplicaSet, ReplicaSet giữ N Pod. Service chọn các Pod qua label và load-balance traffic. Đổi số replica để xem ReplicaSet tự tạo/xóa Pod (self-healing số lượng).
replicas:
3
Deployment go-app → quản →
ReplicaSet (rev-1) → giữ N →
Pods
Service go-app (ClusterIP)
→ selector app=go-app → load-balance →
các Pod ready ở trên
2. Rolling update — zero-downtime
strategy: maxSurge=1, maxUnavailable=0. Tạo Pod v2, ĐỢI nó ready, rồi mới terminate 1 Pod v1. Luôn ≥ 3 Pod ready phục vụ → không downtime. Bật "readiness probe" off để thấy vì sao thiếu probe gây rớt request.
v1 (cũ)
v2 (mới)
Ready phục vụ traffic: 3 / mong muốn 3 | idle
3. Hành vi probe — liveness vs readiness
kubelet hỏi Pod định kỳ. liveness fail → RESTART container. readiness fail → GỠ khỏi Service endpoints (không restart). Bấm để làm fail từng probe và quan sát khác biệt.
Pod
go-app-x9z:
Running
Restart count: 0
liveness: OK readiness: OK
go-app-x9z
Service endpoints (LB)
go-app-x9z ✓ (nhận traffic)