Argo CD アプリケーション
Argo CD ダッシュボードまたは oc ツールを使用した OpenShift クラスター上でのアプリケーションの作成とデプロイ
概要
第1章 Argo CD を使用した Spring Boot アプリケーションのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
Argo CD を使用すると、Argo CD ダッシュボードまたは oc ツールを使用して、アプリケーションを OpenShift クラスターにデプロイできます。
1.1. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
- Red Hat OpenShift GitOps がクラスターにインストールされている。
- Argo CD インスタンスにログインしている。
1.2. Argo CD ダッシュボードを使用したアプリケーションの作成 リンクのコピーリンクがクリップボードにコピーされました!
Argo CD は、アプリケーションを作成できるダッシュボードを提供します。
手順
- Argo CD ダッシュボードで、New App をクリックして新規の Argo CD アプリケーションを追加します。
このワークフローでは、以下の設定で spring-petclinic アプリケーションを作成します。
- アプリケーション名
-
spring-petclinic - プロジェクト
-
default - 同期ポリシー
-
Automatic - リポジトリー URL
-
https://github.com/redhat-developer/openshift-gitops-getting-started - リビジョン
-
HEAD - パス
-
app - 宛先
-
https://kubernetes.default.svc - Namespace
-
spring-petclinic
- Create をクリックしてアプリケーションを作成します。
- Web コンソールの Administrator パースペクティブで、左側のメニューにある Administration → Namespaces に移動します。
-
namespace を検索、選択してから Label フィールドに
argocd.argoproj.io/managed-by=openshift-gitopsを入力し、openshift-gitopsnamespace にある Argo CD インスタンスが namespace を管理できるようにします。
1.3. oc ツールを使用したアプリケーションの作成 リンクのコピーリンクがクリップボードにコピーされました!
oc ツールを使用して、ターミナルで Argo CD アプリケーションを作成できます。
手順
サンプルアプリケーション をダウンロードします。
git clone git@github.com:redhat-developer/openshift-gitops-getting-started.git
$ git clone git@github.com:redhat-developer/openshift-gitops-getting-started.gitCopy to Clipboard Copied! Toggle word wrap Toggle overflow アプリケーションを作成します。
oc create -f openshift-gitops-getting-started/argo/app.yaml
$ oc create -f openshift-gitops-getting-started/argo/app.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc getコマンドを実行して、作成されたアプリケーションを確認します。oc get application -n openshift-gitops
$ oc get application -n openshift-gitopsCopy to Clipboard Copied! Toggle word wrap Toggle overflow アプリケーションがデプロイされている namespace にラベルを追加し、
openshift-gitopsnamespace の Argo CD インスタンスが管理できるようにします。oc label namespace spring-petclinic argocd.argoproj.io/managed-by=openshift-gitops
$ oc label namespace spring-petclinic argocd.argoproj.io/managed-by=openshift-gitopsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.4. Argo CD の自己修復動作の確認 リンクのコピーリンクがクリップボードにコピーされました!
Argo CD は、デプロイされたアプリケーションの状態を常に監視し、Git の指定されたマニフェストとクラスターのライブの変更の違いを検出し、それらを自動的に修正します。この動作は自己修復として言及されます。
Argo CD で自己修復動作をテストし、確認することができます。
前提条件
-
サンプル
app-spring-petclinicアプリケーションがデプロイされ、設定されている。
手順
-
Argo CD ダッシュボードで、アプリケーションに
Syncedステータスがあることを確認します。 -
Argo CD ダッシュボードの
app-spring-petclinicタイルをクリックし、クラスターにデプロイされたアプリケーションのリソースを表示します。 - OpenShift Container Platform Web コンソールで、Developer パースペクティブに移動します。
Spring PetClinic デプロイメントを変更し、Git リポジトリーの
app/ディレクトリーに変更をコミットします。Argo CD は変更をクラスターに自動的にデプロイします。- OpenShift GitOps 開始のリポジトリー をフォークします。
-
deployment.yamlファイルでfailureThresholdの値を5に変更します。 デプロイメントクラスターで、以下のコマンドを実行し、
failureThresholdフィールドの値を確認します。oc edit deployment spring-petclinic -n spring-petclinic
$ oc edit deployment spring-petclinic -n spring-petclinicCopy to Clipboard Copied! Toggle word wrap Toggle overflow
OpenShift Container Platform Web コンソールでアプリケーションを監視している間に、クラスターでデプロイメントを変更し、これを 2 つの Pod にスケールアップして自己修復動作をテストします。
以下のコマンドを実行してデプロイメントを変更します。
oc scale deployment spring-petclinic --replicas 2 -n spring-petclinic
$ oc scale deployment spring-petclinic --replicas 2 -n spring-petclinicCopy to Clipboard Copied! Toggle word wrap Toggle overflow - OpenShift Container Platform Web コンソールでは、デプロイメントは 2 つの Pod にスケールアップし、すぐに再び 1 つの Pod にスケールダウンすることに注意してください。Argo CD は Git リポジトリーとの差異を検知し、OpenShift Container Platform クラスターでアプリケーションを自動的に修復しました。
- Argo CD ダッシュボードで、app-spring-petclinic タイル → APP DETAILS → EVENTS をクリックします。EVENTS タブには、以下のイベントが表示されます。Argo CD がクラスターのデプロイメントリソースが同期されていないことを検知し、Git リポジトリーを再同期してこれを修正します。