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 16h
apiVersion: apps.open-cluster-management.io/v1 kind: PlacementRule metadata: name: all-ready-clusters namespace: default spec: clusterSelector: {} status: decisions: - clusterName: cluster1 clusterNamespace: cluster1
YAML ファイルに
Role
を作成し、local-cluster
namespace に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: - get
RoleBinding
リソースを作成し、配置ルールユーザーにlocal-cluster
namespace へのアクセスを許可します。以下の例を参照してください。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