Hướng dẫn tích hợp Argo CD Image Updater
Trong phần này sẽ hướng dẫn người dùng deploy ứng dụng trên ArgoCD sử dụng Image Updater. Để sử dụng tính năng Argo CD Image Updater, người dùng thực hiện enable service thông qua portal, thực hiện cấu hình các thông tin để xác thực cần dùng như secret/secret registry/Container registry.
Chuẩn bị
Bước 1: Chuẩn bị source deployment
Source deployment là Helm chart.
Ví dụ người dùng muốn deploy service nginx với Helm chart tới ArgoCD. Chuẩn bị chart để deploy:
Image deploy được quản lý trên container registry. Trong phần demo này sẽ sử dụng container registry của FPT Cloud.
Argo CD Image Updater hỗ trợ phương thức Git write-back để lưu trữ các tham số deploy ứng dụng. Mặc định Argo CD Image Updater sẽ lưu các tham số trong file name .argocd-source-<app-name>.yaml trong đường dẫn được sử dụng với Application cấu hình trong đường dẫn manifest trên ArgoCD. Điều này cho phép ArgoCD triển khai ứng dụng theo tham số đã được lưu trữ trên Git.
Ví dụ: Tạo file .argocd-source-demo-images-updater.yaml với các thông tin sau:
helm:
parameters:
- name: image.name
value: registry.fke.fptcloud.com/a6762c5a-56d1-4285-b4bc-b61177a171e1/nginx
forcestring: true
- name: image.tag
value: dev-742b0343
forcestring: true
Bước 2: Cấu hình images pullSecret trên Portal
Ví dụ: Người dùng sử dụng Secret Registry để kiểm tra thay đổi trên Container Registry. pullSecret được đặt tên: habor-secret
Secret Registry sẽ được sử dụng trong annotations của Application.
Bước 3: Tạo Application trên ArgoCD
Sau đó sử dụng chức năng Edit as yaml để cấu hình annotations:
Bổ sung annotations để sử dụng Image Updater:
| Annotation | Mô tả |
|---|---|
argocd-image-updater.argoproj.io/demo-images-updater.allow-tags: regexp:^dev-[0-9a-f]{8}$ | Chỉ định những tag name được cho phép để update tới repository. Ví dụ chỉ cho phép cập nhật với các tag khớp biểu thức chính quy "dev-" và chuỗi thập lục phân có 8 chữ số. VD: dev-a5fb3d31 |
argocd-image-updater.argoproj.io/****.pull-secret: pullsecret:argocd-ebwa49tw/habor-secret | pullSecret để Argo CD Image Updater kiểm tra các tag images trên registry. Định dạng: pullsecret:argocd-[argocd-id]/[Secret-registry-name] |
argocd-image-updater.argoproj.io/****.update-strategy: latest | Xác định cách Argo CD Image Updater tìm phiên bản mới của images. Strategy: Semver (phiên bản mới nhất theo ngữ nghĩa), Latest (tag mới nhất push lên gần đây), Digest (theo SHA digest), Name (sắp xếp theo bảng chữ cái) |
argocd-image-updater.argoproj.io/git-branch: master | Nhánh để cập nhật thay đổi trong manifest |
argocd-image-updater.argoproj.io/write-back-method: git | Phương thức để cập nhật thay đổi của image |
argocd-image-updater.argoproj.io/image-list: =registry.fke.fptcloud.com/a6762c5a-56d1-4285-b4bc-b61177a171e1/nginx | Danh sách images để theo dõi cập nhật |
Bước 4: Cấu hình webhook tới git để kiểm tra thay đổi khi update tag images trên Container Registry
- Tạo webhook GitLab trên Portal:
- Cấu hình webhook trong GitLab:
Test push event:
Bước 5: Kiểm tra ứng dụng
Kiểm tra image đang chạy ứng dụng trước khi push một image mới:
Push image mới tới registry:
Argo CD Image Updater sẽ cập nhật image mới tới git:
Webhook GitLab sẽ phát hiện thay đổi và thực hiện deploy image mới:
Kiểm tra push image không đúng định dạng được cho phép tới registry:
Kiểm tra không có sự thay đổi tới ứng dụng:


















