ServiceAccount và Bound Token
DevOpsSecurity

ServiceAccount và Bound Token

Bài 51–52 dùng ServiceAccount mà chưa mổ nó. Bài này đi vào cơ chế: mỗi namespace có một SA default, kubelet tự tiêm vào pod một token ngắn hạn qua projected volume, và token đó bound vào đúng pod lẫn node. Để chứng minh là bound thật, ta lấy token trong một pod đang chạy, gọi API thành công, rồi xóa pod — token cũ lập tức thành 401. Kèm cách tắt auto-mount và đọc các claim trong JWT.

K
KaiMay 24, 2026· 33 views
RBAC: Biến Danh Tính Thành Quyền
DevOpsSecurity

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.

K
KaiMay 24, 2026· 37 views
Authentication và Đường Vào API Server
DevOpsSecurity

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.

K
KaiMay 24, 2026· 23 views
LB IPAM và Traffic Policy
DevOpsNetworking

LB IPAM và Traffic Policy

Bài 48 và 49 đều dừng ở chỗ Service LoadBalancer và Gateway treo external-IP <pending> — cụm tự dựng không có ai cấp địa chỉ. Bài này lấp chỗ đó bằng LB IPAM của Cilium: định nghĩa một dải IP, để Cilium gán cho Service, và Gateway của bài trước chuyển sang Programmed=True. Sau đó là externalTrafficPolicy — Cluster hay Local quyết định địa chỉ nguồn của client còn nguyên hay bị thay. Test thật trên cụm EC2, kèm phần nói rõ ranh giới giữa cấp IP và quảng bá IP.

K
KaiMay 24, 2026· 39 views
Gateway API: Kế Nhiệm Của Ingress
DevOpsNetworking

Gateway API: Kế Nhiệm Của Ingress

Ingress đóng băng ở những tính năng cơ bản. Gateway API là API mới của Kubernetes cho lưu lượng vào, tách vai trò hạ tầng và ứng dụng thành các object riêng, và làm được những thứ Ingress không làm: chia lưu lượng theo trọng số, khớp theo header, định tuyến nhiều giao thức. Bài này bật Gateway API trên Cilium, dựng một Gateway với HTTPRoute định tuyến theo host/path, rồi chia traffic 80/20 giữa hai phiên bản — test thật trên cụm EC2.

K
KaiMay 24, 2026· 25 views
Ingress: Đưa HTTP Từ Ngoài Vào (Bằng Cil...
DevOpsNetworking

Ingress: Đưa HTTP Từ Ngoài Vào (Bằng Cilium)

NetworkPolicy lo lưu lượng pod-với-pod ở trong. Bài này mở mép cluster cho HTTP từ ngoài vào, định tuyến theo host và path tới đúng Service — bằng Ingress controller có sẵn của Cilium, không cài thêm phần mềm. Quan trọng không kém phần kỹ thuật là một quyết định thật: Ingress NGINX đã bị khai tử tháng 3/2026 và API Ingress đã đóng băng, nên ta chọn controller đang được bảo trì và soi cách Cilium dịch một Ingress thành cấu hình Envoy chạy trên eBPF.

K
KaiMay 24, 2026· 21 views
NetworkPolicy: Tường Lửa Theo Nhãn
DevOpsSecurity

NetworkPolicy: Tường Lửa Theo Nhãn

Mặc định mọi pod trong cluster nói chuyện tự do với nhau — phẳng và mở. Bài này dùng NetworkPolicy để khoá lại: chặn hết ingress vào một pod rồi chỉ mở cho đúng nhãn được phép, test thật trên cụm Cilium. Và vì cụm chạy eBPF, ta xem được Hubble in ra verdict DROPPED/FORWARDED cho từng gói, kèm Cilium identity chứng minh policy bám vào nhãn chứ không phải IP.

K
KaiMay 24, 2026· 22 views