1.7. GitOps CLI を使用したデフォルトモードでのアプリケーションの作成
GitOps argocd
CLI を使用して、default モードでアプリケーションを作成できます。
このサンプルワークフローでは、cluster
ディレクトリーの内容を cluster-configs
アプリケーションに対して再帰的に同期するように Argo CD を設定するプロセスを説明します。このディレクトリーは、OpenShift Container Platform クラスター設定とクラスター上の spring-petclinic
namespace を定義します。
前提条件
- Red Hat OpenShift GitOps Operator が OpenShift Container Platform クラスターにインストールされている。
-
OpenShift CLI (
oc
) がインストールされている。 -
Red Hat OpenShift GitOps
argocd
CLI がインストールされている。 - Argo CD インスタンスにログインしている。
手順
Argo CD サーバーの
admin
アカウントのパスワードを取得します。$ ADMIN_PASSWD=$(oc get secret openshift-gitops-cluster -n openshift-gitops -o jsonpath='{.data.admin\.password}' | base64 -d)
Argo CD サーバーの URL を取得します。
$ SERVER_URL=$(oc get routes openshift-gitops-server -n openshift-gitops -o jsonpath='{.status.ingress[0].host}')
admin
アカウントのパスワードを使用して Argo CD サーバーにログインし、一重引用符で囲みます。重要パスワードを一重引用符で囲むと、
$
などの特殊文字がシェルによって誤って解釈されなくなります。パスワードのリテラル値を囲むには常に一重引用符を使用してください。$ argocd login --username admin --password ${ADMIN_PASSWD} ${SERVER_URL}
例
$ argocd login --username admin --password '<password>' openshift-gitops.openshift-gitops.apps-crc.testing
すべてのアプリケーションを表示して、
argocd
コマンドをデフォルトモードで実行できることを確認します。$ argocd app list
設定が正しい場合は、既存のアプリケーションが次のヘッダーとともにリストされます。
出力例
NAME CLUSTER NAMESPACE PROJECT STATUS HEALTH SYNCPOLICY CONDITIONS REPO PATH TARGET
デフォルトモードでアプリケーションを作成します。
$ argocd app create app-cluster-configs \ --repo https://github.com/redhat-developer/openshift-gitops-getting-started.git \ --path cluster \ --revision main \ --dest-server https://kubernetes.default.svc \ --dest-namespace spring-petclinic \ --directory-recurse \ --sync-policy none \ --sync-option Prune=true \ --sync-option CreateNamespace=true
openshif-gitops
Argo CD インスタンスが管理するspring-petclinic
宛先 namespace にラベルを付けます。$ oc label ns spring-petclinic "argocd.argoproj.io/managed-by=openshift-gitops"
使用可能なアプリケーションをリスト表示して、アプリケーションが正常に作成されたことを確認します。
$ argocd app list
cluster-configs
の Argo CD アプリケーションはHealthy
ステータスであっても、sync ポリシーがnone
であるため、自動的に同期されず、OutOfSync
ステータスのままになります。