Blog
Thoughts on engineering, design, and building great products.
RBAC: Biến Danh Tính Thành Quyền
Bài 51 dừng ở chỗ API server biết bạn là ai. RBAC trả lời câu còn lại: bạn được làm gì. Bài này dựng một ServiceAccount chỉ đọc được pod trong một namespace, kiểm chứng bằng kubectl auth can-i lẫn token thật — thấy nó list pod được nhưng đọc secret hay tạo pod thì bị 403. Rồi xem cách một RoleBinding trỏ vào ClusterRole có sẵn để cấp quyền gói gọn trong một namespace, và vì sao ClusterRole view cố tình không cho đọc secret.
Authentication và Đường Vào API Server
Mỗi lệnh kubectl là một request HTTPS tới API server, và trước khi chạm được dữ liệu nó phải qua ba chặng: authentication, authorization, admission. Bài này mở Part XI bằng chặng đầu — API server nhận ra bạn là ai. Ta soi ba cách cụm tự dựng chứng thực một request: client certificate (cái admin.kubeconfig đang dùng), token của ServiceAccount, và request ẩn danh — bằng kubectl auth whoami và lệnh thật trên cụm.
HAProxy Gom Ba API Server và kubectl Từ Xa
Ba api-server đang chạy nhưng client phải biết gọi cái nào. Bài này dựng HAProxy trên lb-0 để gom chúng thành một địa chỉ duy nhất ở chế độ TCP passthrough — giữ nguyên mTLS đầu-cuối, rồi cấu hình kubectl trên laptop trỏ qua Elastic IP và thiết lập RBAC để api-server gọi được xuống kubelet.