2.3. クラスタースコープのインスタンスのパーミッションのカスタマイズ


クラスター管理者は、GitOps コントロールプレーンコンポーネントの新しいクラスターロールとクラスターロールバインディングを作成して、クラスタースコープのインスタンスの権限をカスタマイズする必要があります。

たとえば、以下の手順ではユーザー定義のクラスタースコープのインスタンスのみにフォーカスします。

手順

  1. Web コンソールの Administrator パースペクティブを開き、User Management Roles Create Role に移動します。
  2. 以下の ClusterRole YAML テンプレートを使用してルールを追加し、追加のパーミッションを指定します。

    クラスターロール YAML テンプレートの例

    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRole
    metadata:
      name: example-spring-petclinic-argocd-application-controller 
    1
    
    rules:
      - verbs:
          - get
          - list
          - watch
        apiGroups:
          - '*'
        resources:
          - '*'
      - verbs:
          - '*'
        apiGroups:
          - ''
        resources: 
    2
    
          - namespaces
          - persistentvolumes
    Copy to Clipboard Toggle word wrap

    1
    <argocd_name>-<argocd_namespace>-<control_plane_component> の命名規則に従ったクラスターロールの名前。
    2
    クラスターレベルでパーミッションを付与するリソース。
  3. Create をクリックしてクラスターロールを追加します。
  4. 次の手順を実行して、権限をカスタマイズするコントロールプレーンコンポーネントで使用されるサービスアカウントを見つけます。

    1. Workloads Pods に移動します。
    2. Project リストから、ユーザー定義のクラスタースコープのインスタンスがインストールされているプロジェクトを選択します。
    3. コントロールプレーンコンポーネントの Pod をクリックし、YAML タブに移動します。
    4. spec.ServiceAccount フィールドを見つけ、サービスアカウントをメモします。
  5. User Management RoleBindings Create binding に移動します。
  6. Create binding をクリックします。
  7. Binding typeCluster-wide role binding (ClusterRoleBinding) として選択します。
  8. <argocd_name>-<argocd_namespace>-<control_plane_component> 命名規則に従って、RoleBinding name の一意の値を入力します。
  9. Role name のドロップダウンリストから新たに作成されたクラスターロールを選択します。
  10. SubjectServiceAccount として選択し、サブジェクトの namespace名前 を指定します。

    1. Subject namespace: spring-petclinic
    2. Subject name: example-argocd-application-controller

      注記

      Subject name については、設定する値が、権限をカスタマイズするコントロールプレーンコンポーネントの spec.ServiceAccount フィールドの値と同じであることを確認します。

  11. Create をクリックします。

    コントロールプレーンコンポーネントのサービスアカウントと namespace に必要な権限が作成されました。ClusterRoleBinding オブジェクトの YAML ファイルは以下の例のようになります。

    クラスターロールバインディングの YAML ファイルの例

    kind: ClusterRoleBinding
    apiVersion: rbac.authorization.k8s.io/v1
    metadata:
      name: example-spring-petclinic-argocd-application-controller
    subjects:
      - kind: ServiceAccount
        name: example-argocd-application-controller
        namespace: spring-petclinic
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: ClusterRole
      name: example-spring-petclinic-argocd-application-controller
    Copy to Clipboard Toggle word wrap

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat