2.3. クラスタースコープのインスタンスのパーミッションのカスタマイズ
クラスター管理者は、GitOps コントロールプレーンコンポーネントの新しいクラスターロールとクラスターロールバインディングを作成して、クラスタースコープのインスタンスの権限をカスタマイズする必要があります。
たとえば、以下の手順ではユーザー定義のクラスタースコープのインスタンスのみにフォーカスします。
手順
-
Web コンソールの Administrator パースペクティブを開き、User Management
Roles Create Role に移動します。 以下の
ClusterRoleYAML テンプレートを使用してルールを追加し、追加のパーミッションを指定します。クラスターロール YAML テンプレートの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Create をクリックしてクラスターロールを追加します。
次の手順を実行して、権限をカスタマイズするコントロールプレーンコンポーネントで使用されるサービスアカウントを見つけます。
-
Workloads
Pods に移動します。 - Project リストから、ユーザー定義のクラスタースコープのインスタンスがインストールされているプロジェクトを選択します。
- コントロールプレーンコンポーネントの Pod をクリックし、YAML タブに移動します。
-
spec.ServiceAccountフィールドを見つけ、サービスアカウントをメモします。
-
Workloads
-
User Management
RoleBindings Create binding に移動します。 - Create binding をクリックします。
- Binding type を Cluster-wide role binding (ClusterRoleBinding) として選択します。
- <argocd_name>-<argocd_namespace>-<control_plane_component> 命名規則に従って、RoleBinding name の一意の値を入力します。
- Role name のドロップダウンリストから新たに作成されたクラスターロールを選択します。
Subject を ServiceAccount として選択し、サブジェクトの namespace と 名前 を指定します。
-
Subject namespace:
spring-petclinic Subject name:
example-argocd-application-controller注記Subject name については、設定する値が、権限をカスタマイズするコントロールプレーンコンポーネントの
spec.ServiceAccountフィールドの値と同じであることを確認します。
-
Subject namespace:
Create をクリックします。
コントロールプレーンコンポーネントのサービスアカウントと namespace に必要な権限が作成されました。
ClusterRoleBindingオブジェクトの YAML ファイルは以下の例のようになります。クラスターロールバインディングの YAML ファイルの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow