第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 でのみリソースを管理する権限があります。
- Argo CD namespace へのアクセス権を持つ Kubernetes ユーザーは Argo CD 管理者であり、Argo CD で設定されているロールベースのアクセス制御 (RBAC) 制限をバイパスできます。管理者以外のユーザーに Argo CD namespace への読み取りまたは書き込みアクセスは付与しないでください。
-
管理者以外のユーザーがアプリケーションを作成する場合、制限がないため、デフォルトの
AppProject
カスタムリソース (CR) にバインドできないようにしてください。それ以外の場合は、Argo CD インスタンスの Kubernetes パーミッションとデフォルトのAppProject
CR を使用すると、あらゆる場所にデプロイできます。このような状況を防ぐには、ユーザーが Argo CD RBAC を誤って設定した場合でも、誰かが誤って使用できないように、デフォルトのAppProject
CR をロックします。
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 の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプションで、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 にログインします。