1.19. 배치 규칙을 사용하여 선택하지 않은 로컬 클러스터 문제 해결

관리형 클러스터는 배치 규칙을 사용하여 선택되지만, 관리되는 허브 클러스터인 local-cluster 는 선택되지 않습니다. 배치 규칙 사용자에게 local-cluster 네임스페이스에서 managedcluster 리소스를 가져올 수 있는 권한이 부여되지 않습니다.

1.19.1. 증상: 관리형 클러스터로 선택되지 않은 로컬 클러스터 문제 해결

모든 관리형 클러스터는 배치 규칙을 사용하여 선택되지만 local-cluster 는 선택되지 않습니다. 배치 규칙 사용자에게 local-cluster 네임스페이스에서 managedcluster 리소스를 가져올 수 있는 권한이 부여되지 않습니다.

1.19.2. 문제 해결: 관리형 클러스터로 선택되지 않은 로컬 클러스터 문제 해결

이 문제를 해결하려면 local-cluster 네임스페이스에 managedcluster 관리 권한을 부여해야 합니다. 다음 단계를 완료합니다.

  1. 관리형 클러스터 목록에 로컬 클러스터 목록이 포함되어 있고 배치 규칙 결정 목록에 로컬 클러스터 가 표시되지 않는지 확인합니다. 다음 명령을 실행하고 결과를 봅니다.

    % oc get managedclusters

    로컬 클러스터 가 참여한 샘플 출력에서는 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
  2. YAML 파일에서 역할을 생성하여 local-cluster 네임스페이스에 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
  3. RoleBinding 리소스를 생성하여 local-cluster 네임스페이스에 대한 배치 규칙 사용자에게 액세스 권한을 부여합니다. 다음 예제를 참조하십시오.

    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