1.13. クラスター設定のアクセス許可を追加する
Argo CD インスタンスにアクセス許可を付与して、クラスター設定を管理できます。追加のアクセス許可を持つクラスターロールを作成し、新しいクラスターロールバインディングを作成して、クラスターロールをサービスアカウントに関連付けます。
前提条件
-
cluster-admin
権限で OpenShift Container Platform クラスターにアクセスでき、Web コンソールにログインしている。 - Red Hat OpenShift GitOps Operator が OpenShift Container Platform クラスターにインストールされている。
手順
Web コンソールで、User Management
Roles Create Role を選択します。以下の ClusterRole
YAML テンプレートを使用してルールを追加し、追加のパーミッションを指定します。apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: secrets-cluster-role rules: - apiGroups: [""] resources: ["secrets"] verbs: ["*"]
- Create をクリックしてクラスターロールを追加します。
-
クラスターのロールバインディングを作成するには、User Management
Role Bindings Create Binding を選択します。 - Project リストから All Projects を選択します。
- Create binding をクリックします。
- Binding type を Cluster-wide role binding (ClusterRoleBinding) として選択します。
- RoleBinding name の一意の値を入力します。
- ドロップダウンリストから、新しく作成したクラスターロールまたは既存のクラスターロールを選択します。
Subject を ServiceAccount として選択し、サブジェクトの namespace と 名前 を指定します。
-
サブジェクトの namespace:
openshift-gitops
サブジェクトの名前:
openshift-gitops-argocd-application-controller
注記Subject name の値は、クラスターロールおよびクラスターロールバインディングを作成する GitOps コントロールプレーンのコンポーネントによって異なります。
-
サブジェクトの namespace:
Create をクリックします。
ClusterRoleBinding
オブジェクトの YAML ファイルは以下のとおりです。kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: cluster-role-binding subjects: - kind: ServiceAccount name: openshift-gitops-argocd-application-controller namespace: openshift-gitops roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: secrets-cluster-role