- Published on
Kiến trúc Kyverno áp dụng thực tế trong doanh nghiệp
- Authors
- Name
- Bạch Đăng Tuấn
- Occupation
- Kỹ sư công nghệ thông tin
- Zalo: 0934.01.07.04
Kiến trúc Kyverno áp dụng thực tế trong doanh nghiệp

📑 Mục Lục
🏗️ Kiến trúc cơ bản
Mô hình triển khai Kyverno tích hợp với hệ thống GitOps và CI/CD:
+---------------------+
| Developer |
+---------------------+
|
v
+---------------------+
| Git Repository |
| (policy-as-code) |
+---------------------+
|
v
+---------------------+
| ArgoCD / FluxCD |
+---------------------+
|
v
+--------------------------------------------------+
| Kubernetes Cluster (Prod / Dev) |
| |
| +-------------------+ +------------------+ |
| | Kyverno Engine |<--->| Kubernetes API | |
| | (Admission Hook) | | Server | |
| +-------------------+ +------------------+ |
| |
| <Policies apply to all incoming objects> |
+--------------------------------------------------+
🧱 Phân tầng chính sách
🔒 Nhóm Security Policies
- Bắt buộc cấu hình
runAsNonRoot
,dropAllCapabilities
. - Cấm mount thư mục
/host
hoặc sử dụnghostPID
,hostNetwork
.
🐳 Nhóm Image Policies
- Chỉ cho phép sử dụng container image từ registry nội bộ.
- Yêu cầu image phải có chữ ký số (tích hợp Sigstore hoặc Cosign).
🏷️ Nhóm Metadata Policies
- Bắt buộc các tài nguyên có labels như
team
,env
,owner
. - Kiểm soát naming convention bằng regex (tên deployment, service,...).
🚦 Nhóm Resource Quota Policies
- Áp dụng
resources.requests
vàresources.limits
. - Cảnh báo hoặc từ chối tài nguyên nếu vượt ngưỡng cho phép.
🧪 Audit Policies
- Chạy ở chế độ
audit
để ghi nhận vi phạm mà không chặn hành vi. - Tích hợp cảnh báo bằng Prometheus AlertManager hoặc dùng Kyverno CLI định kỳ để quét.
🔄 Tích hợp CI/CD và GitOps
✅ Trong CI pipeline
- Sử dụng
kyverno apply
hoặckyverno test
để kiểm tra policy trước khi deploy. - Gán các manifest test để kiểm tra hành vi của policy (test-driven policies).
- Pipeline fail nếu policy không đạt yêu cầu, ngăn merge code không chuẩn.
🌿 GitOps
- Lưu trữ toàn bộ policy dưới dạng code trong Git repository.
- Mỗi môi trường (
dev
,staging
,prod
) dùng folder riêng:policies/dev/
,policies/prod/
,... - Cập nhật thông qua Pull Request – có review, version control và audit trail.
📊 Giám sát và tính sẵn sàng cao
🔁 High Availability
- Deploy Kyverno với tối thiểu 2–3 replicas để đảm bảo HA.
- Sử dụng PodDisruptionBudget và podAntiAffinity để tăng resilience.
- Kyverno là stateless, có thể autoscale nếu cần.
📈 Quan sát
- Export metric ra Prometheus:
kyverno_policy_violation_total
kyverno_policy_changes_total
- Dashboard Grafana gợi ý:
- Tỷ lệ vi phạm theo namespace
- Các policy vi phạm phổ biến
- Tần suất mutate/validate
📌 Tổng kết
Việc triển khai Kyverno trong doanh nghiệp giúp tăng cường bảo mật, chuẩn hóa quy trình vận hành và giảm thiểu lỗi cấu hình.
Với mô hình GitOps, CI/CD và khả năng giám sát chặt chẽ, Kyverno là thành phần không thể thiếu trong hệ sinh thái Kubernetes hiện đại.