0
Phần 4 - Scheduling
Sau khi Pod được tạo, Kubernetes Scheduler sẽ chọn Node phù hợp để Pod chạy.
Scheduler dựa trên các yếu tố:
- Tài nguyên còn trống (CPU, Memory).
- Labels và Selectors.
- NodeSelector.
- Affinity / Anti-Affinity.
- Taints / Tolerations.
Scheduler chọn Node, còn Kubelet trên Node đó sẽ tạo và chạy Container.
Các khái niệm chính
- Labels: Gắn nhãn (
key=value) cho tài nguyên. - Selectors: Tìm tài nguyên dựa trên Labels.
- NodeSelector: Chỉ cho Pod chạy trên Node có Label nhất định.
- Affinity: Ưu tiên hoặc bắt buộc Pod chạy gần Node/Pod phù hợp.
- Anti-Affinity: Tránh Pod chạy cùng Node hoặc gần Pod khác để tăng tính sẵn sàng.
- Taints: Node từ chối các Pod không phù hợp.
- Tolerations: Cho phép Pod được chạy trên Node có Taint.
Luồng hoạt động
Pod được tạo
│
▼
Scheduler chọn Node
│
├─ Kiểm tra tài nguyên
├─ Labels / Selectors
├─ NodeSelector
├─ Affinity / Anti-Affinity
└─ Taints / Tolerations
│
▼
Kubelet tạo Container
Ghi nhớ nhanh
- Scheduler → Chọn Node.
- Labels → Đánh dấu.
- Selectors → Tìm kiếm.
- NodeSelector → Chọn Node theo Label.
- Affinity → Muốn chạy cùng.
- Anti-Affinity → Muốn tách ra.
- Taints → Node từ chối Pod.
- Tolerations → Pod được phép vào Node có Taint.
BÌNH LUẬN