第1章 Argo CD インスタンスのセットアップ
デフォルトでは、Red Hat OpenShift GitOps は Argo CD のインスタンスを openshift-gitops
namespace にインストールし、特定のクラスタースコープのリソースを管理するための追加のアクセス許可を使用します。このデフォルトの Argo CD インスタンスは、デフォルトのクラスタースコープのインスタンスとも呼ばれます。
デフォルトの Argo CD インスタンスが openshift-gitops
namespace で起動されないようにするには、openshift-gitops-operator
サブスクリプションを使用し、文字列値を "true"
に設定して、そのサブスクリプションで DISABLE_DEFAULT_ARGOCD_INSTANCE
環境変数を設定します。
GitOps バージョン 1.13 以降の場合:
-
ルート TLS 終了は、デフォルトおよびユーザー定義の Argo CD インスタンスの両方の
reencrypt
モードのデフォルトとして設定されています。Argo CD インスタンスへの TLS 接続は、自己署名の Argo CD 証明書ではなく、OpenShift Container Platform で設定されたデフォルトの Ingress 証明書を受け取るようになりました。Argo CD CR の.spec.server.route.tls
フィールドを設定して、ルート TLS 終端ポリシーを変更できます。 -
OpenShift Container Platform 標準への準拠を確保するために、制限付き Pod セキュリティーアドミッション (PSA) ラベルが
openshift-gitops
namespace に適用されます。この namespace でモニタリングやログ記録などの追加のワークロードを実行している場合は、それらが制限された PSA 要件に準拠していることを確認してください。コンプライアンスが実現できない場合は、PSA ラベルが GitOps Operator により適用または制御されない、ユーザー定義のクラスタースコープ Argo CD インスタンスの使用を検討してください。
クラスター設定を管理したり、アプリケーションをデプロイメントしたりするために、新しいユーザー定義の Argo CD インスタンスをインストールしてデプロイメントできます。デフォルトでは、新しいユーザー定義のインスタンスには、デプロイされた namespace でのみリソースを管理する権限があります。
openshift-gitops
namespace 以外の任意の namespace にユーザー定義の Argo CD インスタンスを作成できます。
openshift-gitops
namespace 内にユーザー定義の Argo CD インスタンスを作成する場合は、openshift-gitops-operator
サブスクリプションの DISABLE_DEFAULT_ARGOCD_INSTANCE
フラグ値を "true"
に設定し、インスタンスに openshift-gitops
という名前を付けないでください。
1.1. ユーザー定義の Argo CD インスタンスのインストール
クラスター設定を管理したり、アプリケーションをデプロイメントしたりするために、新しいユーザー定義の Argo CD インスタンスをインストールしてデプロイメントできます。
前提条件
-
cluster-admin
権限でクラスターにアクセスできる。 - Red Hat OpenShift GitOps Operator が OpenShift Container Platform クラスターにインストールされている。
手順
- OpenShift Container Platform Web コンソールにログインします。
-
Web コンソールの Administrator パースペクティブで、Operators
Installed Operators の順にクリックします。 - Project リストからユーザー定義の Argo CD インスタンスをインストールするプロジェクトを作成または選択します。
- インストールされている Operators リストから Red Hat OpenShift GitOps を選択し、Argo CD タブをクリックします。
パラメーターを設定するには、Create ArgoCD をクリックします。
-
インスタンスの Name を入力します。デフォルトでは、Name は
example
に設定されています。 外部 OS ルートを作成して Argo CD サーバーにアクセスします。Server
Route をクリックし、Enabled にチェックを入れます。 ヒントまたは、次の例に示すように、YAML を設定して外部 OS ルートを作成できます。
外部 OS ルートが作成された Argo CD の例
apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example namespace: openshift-gitops spec: server: route: enabled: true
オプションで、Argo CD CR の
.spec.server.route.tls
フィールドを設定して、ルート TLS 終端ポリシーを変更できます。注記Argo CD サーバールートのカスタム TLS 証明書を設定するときは、
.spec.server.route.tls.key
フィールドと.spec.server.route.tls.certificate
フィールドを使用しないでください。代わりに.spec.server.route.tls.externalCertificate
フィールドを使用してください。カスタム TLS 証明書のルートの設定の詳細は、ルートのカスタム TLS 証明書 の例を参照してください。
-
インスタンスの Name を入力します。デフォルトでは、Name は
- Create をクリックします。
-
ユーザー定義の Argo CD インスタンスがインストールされているプロジェクトで、Networking
Routes <instance_name>-server に移動します。 -
Details タブで、Route details
Location の下にある Argo CD Web UI リンクをクリックします。Argo CD Web UI が別のブラウザーウィンドウで開きます。 オプション: OpenShift Container Platform の認証情報でログインするには、
cluster-admins
グループのユーザーであることを確認してから、Argo CD ユーザーインターフェイスでLOG IN VIA OPENSHIFT
オプションを選択します。注記cluster-admins
グループのユーザーになるには、oc adm groups new cluster-admins <user>
コマンドを使用します。この場合の<user>
は、クラスター全体またはローカルでユーザーおよびグループにバインドできるデフォルトのクラスターロールです。ユーザー定義の Argo CD インスタンスのパスワードを取得します。
-
ナビゲーションパネルを使用して、Workloads
Secrets ページに移動します。 - Project リストを使用して、ユーザー定義の Argo CD インスタンスが作成される namespace を選択します。
- パスワードを表示するには、<argo_CD_instance_name>-cluster インスタンスを選択します。
-
Details タブで、Data
admin.password の下にあるパスワードをコピーします。
-
ナビゲーションパネルを使用して、Workloads
-
Username に
admin
を使用し、Password にはコピーしたパスワードを使用して、新しいウィンドウで Argo CD UI にログインします。