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
argocdCLI がインストールされている。
手順
ocCLI ツールを使用して 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 TARGETcoreモードでアプリケーションを作成します。$ 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=trueopenshif-gitopsArgo CD インスタンスが管理するspring-petclinic宛先 namespace にラベルを付けます。$ oc label ns spring-petclinic "argocd.argoproj.io/managed-by=openshift-gitops"使用可能なアプリケーションをリスト表示して、アプリケーションが正常に作成されたことを確認します。
$ argocd app list --corecluster-configsの Argo CD アプリケーションはHealthyステータスであっても、sync ポリシーがnoneであるため、自動的に同期されず、OutOfSyncステータスのままになります。