ArgoCD “auto-sync” mà không ai biết… sync cái gì

Em bật auto-sync cho nhanh, khỏi approve, deploy xong là xong! Mà sao app crash nhỉ?

ArgoCD auto-sync là “trợ thủ đắc lực”, nhưng team bật lên mà không check diff, không approval gate, thế là merge code sai, sync thẳng vào prod, và app crash như drama Netflix.

Khi bật auto-sync ArgoCD mà không check diff!


Thực trạng: Auto-sync thiếu kiểm soát

Thực trạng:  

  • Dev merge PR, ArgoCD auto-sync ngay, không chờ backend hay dependency sẵn sàng.  
  • Không check diff trước sync, nên thay đổi lớn (như xóa resource) lọt qua.  
  • Không notification, team không biết sync gì cho đến khi khách hàng kêu ca.

Hệ quả:  

  • Lỗi runtime: Sync manifest sai, app crashloop hoặc 500 error.  
  • Không trace được: Không biết thay đổi nào gây lỗi, phải lật log ArgoCD.  
  • Production nguy hiểm: Thay đổi lớn sync mà không ai duyệt.


Giải pháp: Manual sync và diff-view

Để sync an toàn:  

  • Tắt auto-sync cho prod: Bật manual sync hoặc yêu cầu approval cho môi trường nhạy cảm.  
  • Check diff: Dùng ArgoCD UI hoặc CLI (argocd app diff) để xem thay đổi trước sync.  
  • Notification: Gửi alert qua Slack/Teams khi sync hoàn tất hoặc fail.

Ví dụ: Tắt auto-sync trong ArgoCD app:

spec:

  syncPolicy:

    automated: {}

    syncOptions:

    - Validate=true

  # Thay bằng manual sync cho prod

  syncPolicy: {}


🎯 Tóm lại: Auto-sync không kiểm soát là “cú đấm” vào prod. Dùng manual sync, check diff, và notification để deploy an toàn, không drama.

Post a Comment

Mới hơn Cũ hơn