Blog
Thoughts on engineering, design, and building great products.
Admission Policy bằng CEL
Bài 58 dựng admission webhook — một dịch vụ HTTPS riêng có cert, có server phải giữ sống. Từ v1.36, phần lớn nhu cầu đó làm được mà không cần server nào: ValidatingAdmissionPolicy và MutatingAdmissionPolicy viết luật bằng CEL ngay trong API server. Bài này mở Part XIV — các tính năng vừa graduate ở chính v1.36 cụm đang chạy — bằng cách chặn image :latest và tự tiêm label cho pod, hoàn toàn bằng policy object, không một dòng server.
Admission Webhook: Chen Vào Đường Ghi
Bài 54 dùng admission có sẵn (Pod Security). Bài này tự viết một admission của riêng mình: một dịch vụ HTTPS mà API server gọi tới trước khi lưu mỗi object, trả về cho hay không cho. Ta dựng một validating webhook thật bằng Python — tự ký cert cho service, để API server tin qua caBundle, và bắt mọi pod phải có label team. Pod thiếu label bị API server từ chối ngay; pod ở namespace ngoài phạm vi thì không bị đụng.
Pod Security Standards và Admission
RBAC quyết ai được tạo pod, nhưng không xét pod đó xin gì. Một pod chạy privileged hay mượn hostNetwork là cửa thoát ra node. Pod Security Admission chặn ngay từ lúc tạo: gắn một nhãn lên namespace, API server đo pod theo ba mức privileged/baseline/restricted và từ chối pod vi phạm. Bài này bật restricted lên một namespace, xem pod thường bị đá ra với danh sách lỗi, viết một pod tuân thủ cho chạy được, rồi thử chế độ warn chỉ cảnh báo.