「ArgoCDで複数のクラスターに同じApplicationをデプロイしたいな」 こんな時にはApplication Setが便利です。 概要と試してみたことをブログにします。 Application Setとは Argo CDのApplication Setは、同じ構成を持つ複数のApplicationを自動的に展開するためのカスタムコントローラーです。 同一の構成のApplicationを複数のClusterに展開したいことがあると思います。 (例えば、DEV/STG/PRDのように環境ごとにや、Saasを提供していて利用者ごとにKubernetes Clusterを用意するなど) Application Setを使用することで記述量を抑えつつ、同一構成の複数のApplicationを設定することができます。 Introduction - Argo CD - Declarative G
目標 ApplicationSetを利用して、1つのmanifestで2つのApplicationを管理してみます。 apache nginx ApplicationSetとは 複数のApplicationの管理を自動化してくれるCRD。 大きくgeneratorsとtemplateのフィールドに分けられている。 generators templateに渡すパラメタを生成する。generatorsのは複数種類ある。 List generator Cluster generator Git generator Matrix generator template Application.spec同様にリポジトリ情報などを定義する。 generatorsで生成したパラメタを利用できる。 template: spec: project: default source: repoURL: https
App of apps patternとは Argo CDで複数のapplicationをインストール(デプロイ)したい場合に用いられるパターン(構成)です。 他のapplicationを内包するapplicationを作成する構成です。 何が嬉しいの? Argo CD周りでよくこのApp of apps patternが言及されている印象があるのですが、私はいまいちこの構成のメリットがわかりませんでした。「一個ずつ別々にapplication作ったらええやん」と。というわけでこのApp of apps patternのメリットについて調べてみました。 複数アプリをまとめてインストールできる Argo CD公式ドキュメントでは、以下のような文脈でApp of apps patternを紹介しています。 This guide is for operators who have already
ブルーグリーンデプロイとカナリアリリースを理解したいならOSSの「Argo Rollouts」で実践しよう:Cloud Nativeチートシート(27) Kubernetesやクラウドネイティブをより便利に利用する技術やツールの概要、使い方を凝縮して紹介する連載。今回は、代表的なデプロイ戦略の「ブルーグリーンデプロイ」と「カナリアリリース」について「Argo Rollouts」で実践する。
この記事から得られる知識 この記事を読むと、以下を "完全に理解" できます✌️ ArgoCDのアーキテクチャを構成するコンポーネントの種類について ArgoCDがマニフェストを自動デプロイする仕組みについて この記事から得られる知識 01. はじめに 02. 概要 アーキテクチャ レイヤー コンポーネント 仕組み (1) repo-serverによるクローン取得 (2) application-controllerによるマニフェスト取得 (3) application-controllerによるCluster確認 (4) application-controllerによる処理結果保管 (5) argocd-serverによるキャッシュ取得 (6) 管理者のログイン (7) IDプロバイダーへの認証フェーズ委譲 (8) dex-serverによる認証リクエスト送信 (9) argocd-s
こんにちは、かたいなかです。 Kubernetes内のリソースを管理する際、Argo CDでのGitOpsは優れたGUIを備えていることなどから魅力的です。最近ではArgo CD Image Updaterというコンポーネントもあるため、Kubernetesでデプロイしたアプリケーションのイメージの更新まで自動で行えるようになっています。 今回はそんなArgo CD Image Updaterのv0.12.0から入った機能で、PRによるアプリケーションのイメージの更新が簡単に自動化できるようになっていたため、実際に動かして検証していきます。 目次 目次 Argo CD, Argo CD Image Updaterとは 個人的に使いづらかった点 新機能 実際にやってみた 検証した環境 Argo CDのインストール 書き込みブランチを指定する機能を試す GitHub Actionsと組み合わせ
検証環境 Argo CD - v2.4.0 kubectl - v1.24.2 Kubernetes - v1.23.6 準備 こちらの記事を参考に、 Kubernetes クラスタに Argo CD をインストールします。 Argo CD API サーバーをポートフォワーディングしてアクセスできるようにしておきます。 $ kubectl port-forward svc/argocd-server -n argocd 8080:443 Forwarding from 127.0.0.1:8080 -> 8080 Forwarding from [::1]:8080 -> 8080
はじめに こんにちは。計測プラットフォーム開発本部SREブロックの纐纈です。今年の4月に入社し、ZOZOMATやZOZOGLASSの運用改善に取り組んでいます。また、今年の夏US向けにZOZOFITをリリースしましたが、そちらの機能追加にも今後関わっていく予定です。 計測システムでは最近Argo Rolloutsを導入してカナリアリリース、自動ロールバックを実現しました。本記事では、その具体的な導入方法と効果についてお伝えします。 目次 はじめに 目次 Argo Rollouts導入前のリリースの問題 カナリアリリースの導入 導入後の効果 ツールの選定 Argo Rolloutsについて DeploymentからRolloutへの移行 1. 既存のDeploymentを参照するRolloutリソースを作成して、Podを立ち上げる 2. HPAの対象をDeploymentからRolloutに
こんにちは、かたいなかです。 最近、転職会議のCI/CD基盤をFluxベースのものからArgoCDベースのものに式年遷宮しました。今回の記事では、新しいArgoCDでのCI/CD基盤について、作り直しに至った経緯や改善点をご紹介します。 ArgoCD移行に至った経緯 転職会議では、以前の記事でも紹介したFluxというGitOpsのツールを使用してGitOpsを実現していました。 made.livesense.co.jp しかし、その後FluxからFlux2への移行が公式から推奨されるようになった後も、Flux2やArgoCD Image Updaterへの移行ができない状態が長く続いていました。 また、現行のフローでも以下のような大きな問題点を抱えていました。 ロールバックできない問題 チャットボットが老朽化 Weave Cloudがサービス終了 以下でそれぞれ説明します。 ロールバックで
はじめに こんにちは、計測プラットフォーム開発本部SREブロックの渡辺です。普段はZOZOMATやZOZOGLASSなどの計測技術に関わるシステムの開発、運用に携わっています。 先日私達のチームでは、Argo CDと拡張ツールArgo CD Image Updaterを導入した開発環境のCDリアーキテクトを行いました。本記事では、開発環境のCI/CDリアーキテクト設計とArgo CD Image Updaterの導入手順について紹介します。 目次 はじめに 目次 Argo CDとArgo CD Image Updaterについて Argo CD Image Updater導入前の課題 Argo CD Image Updater導入による開発環境CI/CD設計 導入手順 Argo CD Image UpdaterのECR操作権限設定 IAMRoleの作成とPodへのアタッチ PodのECR認
はじめに こんにちは、計測プラットフォーム開発本部SREブロックの渡辺です。普段はZOZOMATやZOZOGLASSなどの計測技術に関わるシステムの開発、運用に携わっています。 先日私達のチームでは、EKS環境にArgo CDを導入し、デプロイパイプラインのリアーキテクトを行いました。 開発環境では、Argo CD Image Updater(以下、Image Updaterとする)を活用したスピーディなデプロイ設計をしました。詳しくは「EKS環境へArgo CD Image Updaterを導入し、デプロイ時間と管理コストを削減した話」を参照ください。 techblog.zozo.com 本記事では、Argo CD導入による本番環境のリリースフロー設計やタグ更新の仕組みなど工夫した点について紹介します。Argo CDを検討している方に向けて、少しでも参考になれば幸いです。 目次 はじめに
今回はArgoCD CoreというArgoCDの新たなディストリビューションを動かしてみました。 ArgoCD Coreとは ArgoCD Coreを動かす 感想 参考リンク ArgoCD Coreとは ArgoCD Coreは ArgoCDの ver 2.1で導入された、ArgoCD distributionになります。ArgoCDはデフォルトだとSSO / RBAC / ユーザー管理などの機能を搭載しており、1つのArgoCDインスタンスを複数のチームが利用できる、マルチテナントをサポートしています。 一方でArgoCDを利用するユーザーの中には、マルチテナントをサポートする機能が不要であり、ArgoCDの提供するGitOps的な機能だけを使いたい人も大勢います。そういったユーザー向けに登場したのがArgoCD Coreです。 ArgoCD Coreでは、デフォルトのArgoCDディス
Argo CD はキャッシュのために Redis を使っています。 High Availability のページには次のような説明があります。 Redis is only used as a throw-away cache and can be lost. When lost, it will be rebuilt without loss of service. 同じページを読み進めていくと、argocd-repo-server のセクションに manifest をキャッシュしているという記述があります。 Argo CD assumes by default that manifests only change when the repo changes, so it caches generated manifests (for 24h by default). Argo CD がど
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く