1.19. 配置ルールでローカルクラスターが選択されていない場合のトラブルシューティング
マネージドクラスターは配置ルールで選択されますが、local-cluster (同じく管理されているハブクラスター) は選択されません。配置ルールユーザーには、local-cluster namespace の managedcluster リソースを取得するためのパーミッションは付与されません。
1.19.1. 現象: ローカルクラスターがマネージドクラスターとして選択されていない問題のトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
すべてのマネージドクラスターは配置ルールで選択されますが、local-cluster は選択されません。配置ルールユーザーには、local-cluster namespace の managedcluster リソースを取得するためのパーミッションは付与されません。
1.19.2. 問題の解決: マネージドクラスターとして選択されていないローカルクラスターのトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
この問題を解決するには、local-cluster namespace に managedcluster 管理パーミッションを付与する必要があります。以下の手順を実行します。
マネージドクラスターの一覧に
local-clusterが含まれていること、配置ルールのdecisionsリストでlocal-clusterが表示されていないことを確認します。以下のコマンドを実行して結果を表示します。% oc get managedclusters出力例を確認すると、
local-clusterが結合されているものの、PlacementRuleの YAML にないことが分かります。NAME HUB ACCEPTED MANAGED CLUSTER URLS JOINED AVAILABLE AGE local-cluster true True True 56d cluster1 true True True 16hapiVersion: apps.open-cluster-management.io/v1 kind: PlacementRule metadata: name: all-ready-clusters namespace: default spec: clusterSelector: {} status: decisions: - clusterName: cluster1 clusterNamespace: cluster1YAML ファイルに
Roleを作成し、local-clusternamespace にmanagedcluster管理パーミッションを付与します。以下の例を参照してください。apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: managedcluster-admin-user-zisis namespace: local-cluster rules: - apiGroups: - cluster.open-cluster-management.io resources: - managedclusters verbs: - getRoleBindingリソースを作成し、配置ルールユーザーにlocal-clusternamespace へのアクセスを許可します。以下の例を参照してください。apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: managedcluster-admin-user-zisis namespace: local-cluster roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: managedcluster-admin-user-zisis namespace: local-cluster subjects: - kind: User name: zisis apiGroup: rbac.authorization.k8s.io