Blog chia sẻ về công nghệ ...
Published on

Cấu trúc repository Kyverno chuẩn GitOps với ArgoCD

Authors

Cấu trúc repository Kyverno chuẩn GitOps với ArgoCD


kyverno-ap-dung-thuc-te-trong-doanh-nghiep

📦 Mục tiêu

  • Tổ chức policies tách biệt giữa base logicmôi trường
  • Hỗ trợ tốt cho Kustomize và GitOps tool như ArgoCD
  • Dễ dàng version, review, rollback

📁 Cấu trúc gợi ý

kyverno-policies/
├── base/
│   ├── kustomization.yaml
│   └── common-policies/
│       ├── require-team-label.yaml
│       ├── image-signing.yaml
│       └── resource-limits.yaml
├── overlays/
│   ├── dev/
│   │   ├── kustomization.yaml
│   │   └── patch-dev-labels.yaml
│   ├── staging/
│   │   ├── kustomization.yaml
│   │   └── audit-only.yaml
│   └── prod/
│       ├── kustomization.yaml
│       └── enforce-all.yaml

🔧 Ví dụ kustomization.yamloverlays/prod

resources:
  - ../../base

patchesStrategicMerge:
  - enforce-all.yaml

🚀 Tích hợp vào ArgoCD Application

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: kyverno-policies-prod
spec:
  destination:
    namespace: kyverno
    server: https://kubernetes.default.svc
  source:
    repoURL: https://github.com/your-org/kyverno-policies.git
    path: overlays/prod
    targetRevision: main
  syncPolicy:
    automated:
      prune: true
      selfHeal: true

✅ Lợi ích

  • Tái sử dụng base cho mọi môi trường
  • Gắn logic riêng theo môi trường thông qua overlay
  • Dễ dàng maintain, CI/CD friendly

💡 Đây là cấu trúc lý tưởng để mở rộng policies cho hàng chục team hoặc môi trường khác nhau, vừa chuẩn hóa, vừa linh hoạt.