4.4. Git リポジトリーとアプリケーションを再帰的に同期するための Argo CD の設定
4.4.1. クラスター設定を使用したアプリケーションのデプロイによる OpenShift クラスターの設定
Red Hat OpenShift GitOps では、Argo CD を、クラスターのカスタム設定が含まれるアプリケーションと Git ディレクトリーの内容を再帰的に同期するように設定することができます。
前提条件
- Red Hat OpenShift GitOps がクラスターにインストールされている。
4.4.1.1. OpenShift 認証情報を使用した Argo CD インスタンスへのログイン
Red Hat OpenShift GitOps Operator は openshift-gitops
namespace で利用可能なすぐに使用できる Argo CD インスタンスを自動的に作成します。
前提条件
- Red Hat OpenShift GitOps Operator がクラスターにインストールされている。
手順
-
OpenShift Container Platform Web コンソールの Administrator パースペクティブで、Operators
Installed Operators に移動し、Red Hat OpenShift GitOps Operator がインストールされていることを確認します。 -
menu
OpenShift GitOps Cluster Argo CD の順に移動します。Argo CD UI のログインページは、新規ウィンドウに表示されます。 Argo CD インスタンスのパスワードを取得します。
- Web コンソールの Developer パースペクティブに移動します。利用可能なプロジェクトの一覧が表示されます。
-
openshift-gitops
プロジェクトに移動します。 - 左側のナビゲーションパネルを使用して、Secrets ページに移動します。
- openshift-gitops-cluster インスタンスを選択して、パスワードを表示します。
- パスワードをコピーします。
-
このパスワードおよび
admin
をユーザー名として使用し、新しいウィンドウで Argo CD UI にログインします。
4.4.1.2. Argo CD ダッシュボードを使用したアプリケーションの作成
Argo CD は、アプリケーションを作成できるダッシュボードを提供します。
このサンプルワークフローでは cluster
ディレクトリーの内容を cluster-configs
アプリケーションに対して再帰的に同期するために Argo CD を設定するプロセスについて説明します。ディレクトリーは Web コンソールの
メニューで Red Hat Developer Blog - Kubernetes へのリンクを追加する OpenShift Container Platform Web コンソールクラスター設定を定義してクラスターの namespace spring-petclinic
を定義します。
手順
- Argo CD ダッシュボードで、New App をクリックして新規の Argo CD アプリケーションを追加します。
このワークフローでは、以下の設定で cluster-configs アプリケーションを作成します。
- アプリケーション名
-
cluster-configs
- プロジェクト
-
default
- 同期ポリシー
-
Manual
- リポジトリー URL
-
https://github.com/redhat-developer/openshift-gitops-getting-started
- リビジョン
-
HEAD
- パス
-
cluster
- 宛先
-
https://kubernetes.default.svc
- namespace
-
spring-petclinic
- ディレクトリーの再帰処理
-
checked
- Create をクリックしてアプリケーションを作成します。
-
Web コンソールの Administrator パースペクティブで、左側のメニューにある Administration
Namespaces に移動します。 -
namespace を検索、選択してから Label フィールドに
argocd.argoproj.io/managed-by=openshift-gitops
を入力し、openshift-gitops
namespace にある Argo CD インスタンスが namespace を管理できるようにします。
4.4.1.3. oc
ツールを使用したアプリケーションの作成
oc
ツールを使用して、ターミナルで Argo CD アプリケーションを作成できます。
手順
サンプルアプリケーション をダウンロードします。
$ git clone git@github.com:redhat-developer/openshift-gitops-getting-started.git
アプリケーションを作成します。
$ oc create -f openshift-gitops-getting-started/argo/cluster.yaml
oc get
コマンドを実行して、作成されたアプリケーションを確認します。$ oc get application -n openshift-gitops
アプリケーションがデプロイされている namespace にラベルを追加し、
openshift-gitops
namespace の Argo CD インスタンスが管理できるようにします。$ oc label namespace spring-petclinic argocd.argoproj.io/managed-by=openshift-gitops
4.4.1.4. アプリケーションの Git リポジトリーとの同期
手順
- Argo CD ダッシュボードでは、cluster-configs Argo CD アプリケーションに Missing および OutOfSync のステータスがあることに注意してください。アプリケーションは手動の同期ポリシーで設定されているため、Argo CD はこれを自動的に同期しません。
- cluster-configs タイルの 同期 をクリックし、変更を確認してから、Synchronize をクリックします。Argo CD は Git リポジトリーの変更を自動的に検出します。設定が変更されると、Argo CD は cluster-configs のステータスを OutOfSync に変更します。Argo CD の同期ポリシーを変更し、Git リポジトリーからクラスターに変更を自動的に適用できるようにします。
- cluster-configs Argo CD アプリケーションに Healthy および Synced のステータスがあることに注意してください。cluster-configs タイルをクリックし、クラスター上で同期されたリソースおよびそれらのステータスの詳細を確認します。
- OpenShift Container Platform Web コンソールに移動し、 をクリックして Red Hat Developer Blog - Kubernetes へのリンクが表示されることを確認します。
Project ページに移動し、
spring-petclinic
namespace を検索し、これがクラスターに追加されていることを確認します。クラスター設定がクラスターに正常に同期されます。