1.4.4. Red Hat OpenShift GitOps トークン
OpenShift GitOps Operator と統合すると、配置および ManagedClusterSetBinding カスタムリソースを通じて OpenShift GitOps namespace にバインドされているすべてのマネージドクラスターに対して、ManagedCluster にアクセスするためのトークンを含むシークレットが OpenShift GitOps インスタンスサーバー namespace に作成されます。
OpenShift GitOps コントローラーは、リソースをマネージドクラスターに同期するためにこのシークレットを必要とします。デフォルトでは、サービスアカウント application-manager は、マネージドクラスターのクラスター管理者権限を使用して、OpenShift GitOps インスタンスサーバーの namespace にセキュアな OpenShift GitOps クラスターシークレットを生成します。デフォルトの namespace は openshift-gitops です。
OpenShift GitOps インスタンスサーバーの namespace は、以下の優先順位に基づいてセキュアなクラスターシークレットをレンダリングします。
- クラスタープロキシーサービス
multicluster engine Operator では
cluster-proxyアドオンが必ず有効になっているため、クラスタープロキシーサービスはデフォルトのオプションです。すべての Kubernetes クラスターで、クラスタープロキシーサービスによってレンダリングされたセキュアな Argo CD クラスターシークレットを使用できます。そのシークレットには以下のコンポーネントが含まれています。- サーバー URL: マネージドクラスターのクラスタープロキシー URL。
-
caData: マネージドクラスター namespace 内の
openshift-service-caconfig map にある、Transport Layer Security (TLS) 用のサービス認証局 (CA)。 -
ベアラートークン:
ManagedServiceAccountapplication-managerのトークン。
- マネージドクラスタークライアント設定
クラスタープロキシーが利用できない場合 (たとえば、multicluster engine Operator で
cluster-proxyアドオンが無効になっている場合)、システムはマネージドクラスターの API サーバーエンドポイントと CA を自動的に検出します。マネージドクラスタークライアント設定によってレンダリングされたセキュアな Argo CD クラスターシークレットは、OpenShift Container Platform クラスターでのみ使用できます。そのシークレットには以下のコンポーネントが含まれています。- サーバー URL と caData: マネージドクラスター仕様のクライアント設定から導出されます。
-
ベアラートークン: 同じ
ManagedServiceAccountapplication-managerトークンから導出されます。
このデフォルトが不要な場合は、OpenShift GitOps インスタンスサーバーの namespace で OpenShift GitOps クラスターシークレットを生成するために、カスタマイズされた権限を持つサービスアカウントをマネージドクラスターで作成します。デフォルトの namespace は引き続き openshift-gitops です。詳細は、Argo CD プッシュモデル用のカスタマイズされたサービスアカウントの作成 を参照してください。