1.8. GitOps CLI を使用したコアモードでのアプリケーションの作成
GitOps argocd
CLI を使用して、core
モードでアプリケーションを作成できます。
このサンプルワークフローでは、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 がインストールされている。
手順
oc
CLI ツールを使用して OpenShift Container Platform クラスターにログインします。$ oc login -u <username> -p <password> <server_url>
例
$ oc login -u kubeadmin -p '<password>' https://api.crc.testing:6443
コンテキストが
kubeconfig
ファイルで正しく設定されているかどうかを確認します。$ oc config current-context
現在のコンテキストのデフォルトの namespace を
openshift-gitops
に設定します。$ oc config set-context --current --namespace openshift-gitops
次の環境変数を設定して、Argo CD コンポーネント名をオーバーライドします。
$ export ARGOCD_REPO_SERVER_NAME=openshift-gitops-repo-server
すべてのアプリケーションを一覧表示して、
core
モードでargocd
コマンドを実行できることを確認します。$ argocd app list --core
設定が正しい場合は、既存のアプリケーションが次のヘッダーとともにリストされます。
出力例
NAME CLUSTER NAMESPACE PROJECT STATUS HEALTH SYNCPOLICY CONDITIONS REPO PATH TARGET
core
モードでアプリケーションを作成します。$ argocd app create app-cluster-configs --core \ --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 --core
cluster-configs
の Argo CD アプリケーションはHealthy
ステータスであっても、sync ポリシーがnone
であるため、自動的に同期されず、OutOfSync
ステータスのままになります。