2022年12月7日
GitOps
Argo CDは、オープンソースのGitOps継続的デリバリーツールです。 クラスターと、Gitリポジトリーに格納されている宣言的に定義されたインフラを監視し、2つの違いを解決して、アプリケーションのデプロイを効果的に自動化します。
最も単純なArgo CDは、オープンソースのGitOps継続的デリバリーツールです。 クラスターと、Gitリポジトリーに格納されている宣言的に定義されたインフラを監視し、2つの違いを解決して、アプリケーションのデプロイを効果的に自動化します。
Kubernetesコントローラーとして名前を聞いたことがあるかもしれません。Kubernetesはインフラの管理方法を変えるのに役立ちましたが、開発者やシステム管理者にとって複雑さも増しました。 GitOpsの動きがその複雑さの一部をさかのぼり、自動化の層の下に抽象化し始めているため、Argo CD(「CD」はもちろん「continuous delivery(継続的デリバリー)」の省略形です) は、この自動化を可能にする主要なツールの1つです。
Argo CD がなければ、GitOps は「ClickOps」のままです。 CI/CD ツールはインフラの変更をロールアウトできるかもしれませんが、差分を監視することはできないため、インフラはほとんど手動のままです。
この記事では、Argo CD の機能、仕組み、および使用を開始する方法の例について説明します。
Argo CDは、金融ソフトウェア大手Intuitのチームによって構築された、宣言型の GitOps継続的デリバリーツールです。パブリッククラウドに移行した後、コンテナ化ツールとインフラを管理しなければならないことが、クラウドの最大のメリットを実現するというIntuitの目標を妨げていました。IntuitチームはArgo CDを開発し、最大のリリース速度と加速度を実現しました。 彼らは、その手作業の一部を取り除く自動化のペインを適用したかったので、コントローラー(Argo CD)を作成し、それをオープンソース化しました。
Argo CDは現在、Argo Projectの一部としてコミュニティーによって維持されており、Kubernetesネイティブの継続的デプロイの配信ツールとして、おそらく親しみのある多くのGitOpsツールに組み込まれています(Harness独自のGitOpsソリューションは、その上に構築されています)。
Argo CDは、GitOps 継続的デリバリーツールとして、実行中のインフラ(実際の状態) を継続的に監視し、宣言的に定義されたコード (望ましい状態またはターゲットの状態) と比較して、非同期かどうかを判断します。
Argo CDは、新しいコードをターゲット環境に自動的にデプロイします。 Argo CD がどのように動作するように構成されているかに応じて、新しいgitのコミット後に同期していないことが通知されるか、アクションが実行されます。自動的に変更が適用されるように設定していると、不変で格納され、Gitリポジトリーでバージョン管理されている内容で本番構成が上書きされます。 このツールは、複雑なアプリケーションのロールアウトに最適です。
さらに、開発者チームがバージョン管理された環境で作業している場合、Argo CDは不可欠です。 ライフサイクル管理とアプリケーション展開の自動化により、Argo CDはアプリケーションの構成を事前に監視して、本番環境に到達する前に同期の問題がある可能性を調べます。
Argo CD と Kubernetes をセットアップして使用を開始するには、次の作業に精通している必要があります。
上記の内容に精通している場合は、インフラのプロビジョニングに必要な手作業の量を減らすために、コンテナにデプロ イし、それらのデプロイを調整し、コードに抽象化するのが役立つことをご存知でしょう。 これが、宣言型GitOps継続的デリバリーの中核となる前提です。ソース管理と自動化を最大限に活用できるGit リポジトリーに全てを移動するのです。
Argo CDは、Gitで定義されたインフラとコンテナオーケストレーションツール間の実際の監視と同期を提供します。 これに関しては、次の5つの主要コンポーネントがあります。
Argo CDをダウンロードするには、プロジェクトの「Getting Started」ページにアクセスしてください。
Argo CDをインストールし、証明書とクラスターを設定したら、Gitで定義されたバージョンを強制することで、インフラを自動的に「デプロイ」するように設定できます。
例えば次のことが可能になります。
これは逆の場合も機能します。これがKubernetesコントローラーの真の利点です。Kubernetesクラスターリソースが同期されていない場合、Argo CDはそれを検出し、Gitにあるものを適用して変更を調整します。単純にCDツールやJenkinsを使っている場合、同期の問題は検出されず、修復されません。
Argo CD は、(とりわけ)GitOpsを動かすコントローラーです。 Intuitによって開発され、コミュニティーによって維持されているため、宣言的に定義されたインフラと運用クラスターの間の変更を調整するための標準になりつつあります。
この記事では、Argo CDが重要な理由、その機能、主要な概念、Argo CDを使ったアプリケーション展開の例を確認しました。
CI/CD への投資を有効に活用したいと考えていて、インフラをほぼ自動的に管理したい場合は、複雑なアプリケーションのロールアウトのサポートを開始するのに最適な場所です。
Argo CDをお探しですか? Harness GitOps as a Service のデモをリクエストしてください。
この記事はHarness社のウェブサイトで公開されているものをDigital Stacksが日本語に訳したものです。無断複製を禁じます。原文はこちらです。