Kubernetes Control Plane và Declarative APIs
Phân biệt desired state và thực tế đang chạy.
Nắm bản chất
Kubernetes API Server là cửa vào của cluster. Controllers liên tục reconcile desired state đã lưu trong API với observed state; Scheduler chọn node cho Pods; kubelet trên node tạo/giám sát containers thông qua CRI.
Pod là đơn vị schedule nhỏ nhất, thường chứa một container chính hoặc những containers phối hợp chặt chẽ. Deployment quản lý ReplicaSets và Pods stateless. Tự tạo Pod riêng để phục vụ production thường không có khả năng tự phục hồi như Deployment.
Luồng hoạt động
Hãy tự giải thích mỗi mũi tên: dữ liệu, quyền hoặc tín hiệu nào được truyền qua bước này?
Lệnh & cấu hình mẫu
kubectl get nodes -o wide
kubectl get namespaces
kubectl get deployments -A
kubectl explain deployment.spec.template.spec
kubectl describe pod POD -n NAMESPACE
Lệnh có placeholder hoặc phụ thuộc môi trường thì cần thay thông tin thực tế, kiểm tra quyền và chỉ thực hiện trên tài nguyên được phép.
Bài tập 10–20 phút
Tạo Kind lab Buổi 9. Scale Deployment từ 1 lên 3 replicas và xóa một Pod; quan sát controller tạo Pod thay thế.
Lỗi dễ mắc
kubectl apply thành công chỉ xác nhận API chấp nhận resource;
không đồng nghĩa Pods Healthy, Service có endpoint hay user requests hoạt
động.
Tự kiểm tra
Kubernetes controller có nhiệm vụ gì?Xem đáp án ↗
Liên tục so sánh observed state với desired state rồi thực hiện điều chỉnh theo resource đó.
Học thêm qua lab
Có project thực hành đúng với chương này, kèm README và những giới hạn môi trường cần lưu ý.
↓ Tải mã nguồn thực hành chương 09Đối chiếu tài liệu gốc
Cú pháp và khả năng hỗ trợ có thể thay đổi theo phiên bản. Trước khi dùng Production, hãy kiểm tra tài liệu tương ứng.
Mở tài liệu chính thức ↗