3.4. 集約されたクラスターロールの作成を有効にする
クラスタースコープの Argo CD インスタンスの Argo CD Application Controller コンポーネントの集約されたクラスターロールの作成を有効にするには、Argo CD カスタムリソース (CR) の YAML ファイルを編集して、対応するフィールドを設定する必要があります。
手順
Argo CD CR で、
.spec.aggregatedClusterRoles
フィールドの値をtrue
に設定します。Argo CD CR の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
argocd.argoproj.io/example configured
argocd.argoproj.io/example configured
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、クラスタースコープの Argo CD インスタンスの
Status
フィールドにPhase: Available
と表示されていることを確認します。oc describe argocd.argoproj.io/example -n spring-petclinic
$ oc describe argocd.argoproj.io/example -n spring-petclinic
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
Available
ステータスは、クラスタースコープの Argo CD インスタンスが正常で使用可能であることを示します。
注記Red Hat OpenShift GitOps Operator は、次のデフォルトのクラスターロールを作成し、管理します。
-
<argocd_name>-<argocd_namespace>-argocd-application-controller
集約クラスターロール -
<argocd_name>-<argocd_namespace>-argocd-application-controller-view
-
<argocd_name>-<argocd_namespace>-argocd-application-controller-admin
次のコマンドを実行して、Operator が Argo CD Application Controller と Argo CD サーバーコンポーネントのデフォルトのクラスターロールとクラスターロールバインディングを作成したことを確認します。
oc get ClusterRoles -l app.kubernetes.io/part-of=argocd
$ oc get ClusterRoles -l app.kubernetes.io/part-of=argocd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME CREATED AT example-spring-petclinic-argocd-application-controller 2024-08-14T08:20:58Z example-spring-petclinic-argocd-application-controller-admin 2024-08-14T09:08:38Z example-spring-petclinic-argocd-application-controller-view 2024-08-14T09:08:38Z example-spring-petclinic-argocd-server 2024-08-14T08:20:59Z
NAME CREATED AT example-spring-petclinic-argocd-application-controller 2024-08-14T08:20:58Z example-spring-petclinic-argocd-application-controller-admin 2024-08-14T09:08:38Z example-spring-petclinic-argocd-application-controller-view 2024-08-14T09:08:38Z example-spring-petclinic-argocd-server 2024-08-14T08:20:59Z
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get ClusterRoleBindings -l app.kubernetes.io/part-of=argocd
$ oc get ClusterRoleBindings -l app.kubernetes.io/part-of=argocd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME ROLE AGE example-spring-petclinic-argocd-application-controller ClusterRole/example-spring-petclinic-argocd-application-controller 54m example-spring-petclinic-argocd-server ClusterRole/example-spring-petclinic-argocd-server 54m
NAME ROLE AGE example-spring-petclinic-argocd-application-controller ClusterRole/example-spring-petclinic-argocd-application-controller 54m example-spring-petclinic-argocd-server ClusterRole/example-spring-petclinic-argocd-server 54m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow view
およびadmin
クラスターロールのクラスターロールバインディングは作成されません。これは、view
およびadmin
クラスターロールは集約されたクラスターロールに権限を追加するだけで、Argo CD Application Controller への権限を直接設定しないためです。ヒントまたは、OpenShift Container Platform Web コンソールを使用して、Administrator パースペクティブから確認することもできます。User Management
Roles および User Management RoleBindings に移動します。 app.kubernetes.io/part-of:argocd
ラベルの付いたクラスターロールとクラスターロールバインディングを検索できます。次のコマンドを実行して、作成されたロールの出力の権限をチェックして、集約されたクラスターロールが作成されたことを確認します。
oc get ClusterRole/<cluster_role_name> -o yaml
$ oc get ClusterRole/<cluster_role_name> -o yaml
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<cluster_role_name>
は、作成したロールの名前に置き換えます。
集約されたクラスターロールの出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow view
クラスターロールの出力例Copy to Clipboard Copied! Toggle word wrap Toggle overflow admin
クラスターロールの出力例Copy to Clipboard Copied! Toggle word wrap Toggle overflow ヒントまたは、OpenShift Container Platform Web コンソールを使用して、Administrator パースペクティブから確認することもできます。User Management
Roles に移動し、Filter オプションを使用して Cluster-wide Roles を選択し、集約されたクラスターロール、 view
、およびadmin
クラスターロールを検索できます。詳細と設定を確認するには、クラスターロールを作成する必要があります。クラスター管理者は、1 つ以上のユーザー定義のクラスターロールを作成し、Argo CD Application Controller のユーザー定義のアクセス許可を設定できるようになりました。