ArgoCD Image Updaterを統合する
このガイドでは、Image Updaterを使用してArgoCDでアプリケーションをデプロイする方法を説明します。Argo CD Image Updater機能を使用するには、Portal経由でサービスを有効にし、secret/secret registry/Container registryなどの認証情報を設定します。
準備
ステップ1: デプロイソースを準備する
デプロイソースはHelmチャートです。
例: ArgoCDにHelmチャートでnginxサービスをデプロイします。デプロイするチャートを準備します:
デプロイするimageはcontainer registryで管理されます。このデモではFPT Cloudのcontainer registryを使用します。
Argo CD Image Updaterはアプリケーションデプロイパラメーターを保存するためのGit write-backメソッドをサポートしています。デフォルトでは、Argo CD Image Updaterはパラメーターを .argocd-source-<app-name>.yaml というファイルに保存します。これにより、ArgoCDはGitに保存されたパラメーターに従ってアプリケーションをデプロイできます。
例: .argocd-source-demo-images-updater.yaml ファイルを以下の内容で作成します:
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
ステップ2: PortalでimageのpullSecretを設定する
例: Secret RegistryをContainer Registry上の変更確認に使用します。pullSecretの名前: habor-secret。
Secret RegistryはアプリケーションのannotationsとGitで使用されます。
ステップ3: ArgoCDでApplicationを作成する
次に Edit as yaml 機能を使用してannotationsを設定します:
Image Updaterを使用するためのannotationsを追加します:
| アノテーション | 説明 |
|---|---|
argocd-image-updater.argoproj.io/demo-images-updater.allow-tags: regexp:^dev-[0-9a-f]{8}$ | リポジトリへの更新に許可するタグ名を指定します。例: 「dev-」と8桁の16進数文字列に一致する正規表現のタグのみ許可します。例: dev-a5fb3d31 |
argocd-image-updater.argoproj.io/****.pull-secret: pullsecret:argocd-ebwa49tw/habor-secret | ArgoCD Image UpdaterがレジストリでimageタグをチェックするためのpullSecret。形式: pullsecret:argocd-[argocd-id]/[Secret-registry-name] |
argocd-image-updater.argoproj.io/****.update-strategy: latest | Argo CD Image Updaterがレジストリで更新されたimageの新バージョンを見つける方法。戦略: Semver(セマンティックバージョニングの最新版)、Latest(最近プッシュされたタグ)、Digest(SHA digestを使用した最新バージョン)、Name(アルファベット順) |
argocd-image-updater.argoproj.io/git-branch: master | manifestの変更を更新するブランチ |
argocd-image-updater.argoproj.io/write-back-method: git | imageの変更を更新する方法 |
argocd-image-updater.argoproj.io/image-list: =registry.fke.fptcloud.com/a6762c5a-56d1-4285-b4bc-b61177a171e1/nginx | 更新を追跡するimageのリスト |
ステップ4: Container RegistryでimageタグをアップデートするときにGitへの変更を検出するためのwebhookを設定する
- Portalでgitlab webhookを作成します:
- GitLabでwebhookを設定します:
pushイベントのテスト:
ステップ5: アプリケーションを確認する
新しいimageをpushする前に、アプリケーションで実行中のimageを確認します:
レジストリに新しいimageをpushします:
Argo CD Image UpdaterがGitに新しいimageを更新します:
GitLab webhookが変更を検出して新しいimageをデプロイします:
許可されていない形式のimageをpushした場合は拒否されることを確認します:
アプリケーションに変更がないことを確認します:


















