1.2. 멀티 클러스터 엔진 Operator를 사용한 클러스터 라이프사이클 정보


Kubernetes Operator용 멀티 클러스터 엔진은 Red Hat OpenShift Container Platform 및 Red Hat Advanced Cluster Management Hub 클러스터에 클러스터 관리 기능을 제공하는 클러스터 라이프사이클 Operator입니다. Red Hat Advanced Cluster Management를 설치한 경우 자동으로 설치되므로 다중 클러스터 엔진 Operator를 설치할 필요가 없습니다.

지원 정보는 Kubernetes Operator 2.2 지원 매트릭스를 위한 멀티 클러스터 엔진과 다음 설명서를 참조하십시오.

계속하려면 다중 클러스터 엔진 Operator 개요가 있는 클러스터 라이프사이클의 나머지 클러스터 라이프 사이클 설명서를 참조하십시오.

1.2.1. 요구 사항 및 권장 사항

다중 클러스터 엔진 Operator를 설치하기 전에 다음 시스템 구성 요구 사항 및 설정을 검토하십시오.

중요: 2.5 이전의 Kubernetes용 Red Hat Advanced Cluster Management가 없는 클러스터에 다중 클러스터 엔진 Operator를 설치해야 합니다. Red Hat Advanced Cluster Management 버전 2.5 이상을 사용하는 경우 Kubernetes용 다중 클러스터 엔진이 클러스터에 이미 설치되어 있습니다.

1.2.1.1. 지원되는 브라우저 및 플랫폼

The multicluster engine for Kubernetes operator 2.2 지원 매트릭스 에서 지원되는 브라우저 및 기능에 대한 중요한 정보를 참조하십시오.

1.2.1.2. 네트워크 구성

중요: 신뢰할 수 있는 CA 번들은 다중 클러스터 엔진 Operator 네임스페이스에서 사용할 수 있지만 개선 사항을 적용하려면 네트워크를 변경해야 합니다. 신뢰할 수 있는 CA 번들 ConfigMap은 trusted-ca-bundle 의 기본 이름을 사용합니다. TRUSTED_CA_BUNDLE 이라는 환경 변수에서 이 이름을 operator에 제공하여 이름을 변경할 수 있습니다. 자세한 내용은 Red Hat OpenShift Container Platform의 네트워킹 섹션에서 클러스터 전체 프록시 구성을 참조하십시오.

참고: 관리형 클러스터의 등록 에이전트 및 작업 에이전트는 프록시를 통과할 수 없는 mTLS 연결을 설정하여 허브 클러스터에서 apiserver 와 통신하기 때문에 프록시 설정을 지원하지 않습니다.

다음 섹션에서 연결을 허용하도록 네트워크 설정을 구성합니다.

1.2.1.2.1. 멀티 클러스터 엔진 Operator 네트워킹 요구 사항

다중 클러스터 엔진 Operator 클러스터 네트워킹 요구 사항은 다음 표를 참조하십시오.

direction연결포트(지정된 경우)

outbound

프로비저닝된 관리 클러스터의 Kubernetes API 서버

6443

아웃바운드 및 인바운드

관리 클러스터의 WorkManager 서비스 경로

443

인바운드

관리 클러스터에서 Kubernetes 클러스터에 대한 멀티 클러스터 엔진의 Kubernetes API 서버

6443

1.2.2. 콘솔 개요

OpenShift Container Platform 콘솔 플러그인은 OpenShift Container Platform 4.10 웹 콘솔에서 사용할 수 있으며 통합할 수 있습니다. 이 기능을 사용하려면 콘솔 플러그인이 활성화된 상태를 유지해야 합니다. 멀티 클러스터 엔진 Operator는 인프라인증 정보 탐색 항목에서 특정 콘솔 기능을 표시합니다. Red Hat Advanced Cluster Management를 설치하는 경우 더 많은 콘솔 기능이 표시됩니다.

참고: 플러그인이 활성화된 OpenShift Container Platform 4.10의 경우 드롭다운 메뉴에서 모든 클러스터를 선택하여 OpenShift Container Platform 콘솔 내에서 Red Hat Advanced Cluster Management에 액세스할 수 있습니다.

  1. 플러그인을 비활성화하려면 OpenShift Container Platform 콘솔의 관리자 화면에 있어야 합니다.
  2. 탐색 메뉴에서 Administration 을 찾아 Cluster Settings 을 클릭한 다음 Configuration 탭을 클릭합니다.
  3. 구성 리소스 목록에서 웹 콘솔에 대한 클러스터 전체 구성이 포함된 operator.openshift.io API 그룹이 있는 Console 리소스를 클릭합니다.
  4. 콘솔 플러그인 탭을 클릭합니다. mce 플러그인이 나열됩니다. 참고: Red Hat Advanced Cluster Management가 설치되어 있으면 acm 로도 나열됩니다.
  5. 표에서 플러그인 상태를 수정합니다. 잠시 후에 콘솔을 새로 고침하라는 메시지가 표시됩니다.

1.2.3. 다중 클러스터 엔진 Operator 역할 기반 액세스 제어

RBAC는 콘솔 수준 및 API 수준에서 검증됩니다. 사용자 액세스 역할 권한에 따라 콘솔의 작업을 활성화하거나 비활성화할 수 있습니다. 제품의 특정 라이프사이클에 대한 RBAC에 대한 자세한 내용은 다음 섹션을 참조하십시오.

1.2.3.1. 역할 개요

일부 제품 리소스는 클러스터 전체이며 일부는 네임스페이스 범위입니다. 일관된 액세스 제어를 위해 사용자에게 클러스터 역할 바인딩 및 네임스페이스 역할 바인딩을 적용해야 합니다. 지원되는 다음 역할 정의의 표 목록을 확인합니다.

1.2.3.1.1. 역할 정의 테이블
Role정의

cluster-admin

이는 OpenShift Container Platform 기본 역할입니다. cluster-admin 역할에 클러스터 바인딩이 있는 사용자는 모든 액세스 권한이 있는 OpenShift Container Platform 슈퍼 사용자입니다.

open-cluster-management:cluster-manager-admin

open-cluster-management:cluster-manager-admin 역할에 클러스터 바인딩이 있는 사용자는 모든 액세스 권한이 있는 슈퍼 사용자입니다. 이 역할을 사용하면 ManagedCluster 리소스를 생성할 수 있습니다.

open-cluster-management:admin:<managed_cluster_name>

open-cluster-management:admin:<managed_cluster_name> 역할에 클러스터 바인딩이 있는 사용자는 < managed_cluster_name >이라는 ManagedCluster 리소스에 대한 관리자 액세스 권한이 있습니다. 사용자가 관리형 클러스터가 있으면 이 역할이 자동으로 생성됩니다.

open-cluster-management:view:<managed_cluster_name>

open-cluster-management:view:<managed_cluster_name> 역할에 클러스터 바인딩이 있는 사용자는 < managed_cluster_name >이라는 ManagedCluster 리소스에 대한 보기 액세스 권한이 있습니다.

open-cluster-management:managedclusterset:admin:<managed_clusterset_name>

open-cluster-management:managedclusterset:admin:<managed_clusterset_name> 역할에 클러스터 바인딩이 있는 사용자는 <managed_ clusterset_ name >이라는 ManagedCluster 리소스에 대한 관리자 액세스 권한이 있습니다. 또한 사용자는 managedcluster. cluster.open-cluster-management.io ,clusterclaim.hive.openshift.io,clusterdeployment.hive.openshift.io, 관리형 클러스터 설정 레이블이 있는 cluster.hive.openshift.io 및 clusterset=< managed_clusterset_name >에 대한 관리자 액세스 권한이 있습니다. 클러스터 세트를 사용하는 경우 역할 바인딩이 자동으로 생성됩니다. 리소스를 관리하는 방법을 알아보려면 ManagedClusterSet생성을 참조하십시오.

open-cluster-management:managedclusterset:view:<managed_clusterset_name>

open-cluster-management:managedclusterset:view:<managed_clusterset_name> 역할에 클러스터 바인딩이 있는 사용자는 <managed_clusterset_name>'이라는 ManagedCluster 리소스에 대한 보기 액세스 권한이 있습니다. 또한 사용자는 managedcluster.cluster.open-cluster-management.io,clusterclaim.hive.openshift.io,clusterdeployment.hive.openshift.io, 관리형 클러스터 세트 라벨이 있는 cluster.hive.openshift.io 리소스에 대한 보기 액세스 권한을 갖습니다. cluster.open-cluster-management.io,clusterset=<managed_clusterset_name > . 관리형 클러스터 세트 리소스를 관리하는 방법에 대한 자세한 내용은 ManagedClusterSet생성을 참조하십시오.

admin, edit, view

admin, edit, view는 OpenShift Container Platform 기본 역할입니다. 이러한 역할에 대한 네임스페이스 범위 바인딩이 있는 사용자는 특정 네임스페이스의 open-cluster-management 리소스에 액세스할 수 있는 반면, 동일한 역할에 클러스터 전체 바인딩을 사용하면 클러스터 전체에서 모든 오픈 클러스터 관리 리소스에 액세스할 수 있습니다.

중요:

  • 모든 사용자는 OpenShift Container Platform에서 프로젝트를 생성할 수 있으므로 네임스페이스에 대한 관리자 역할 권한을 제공합니다.
  • 사용자에게 클러스터에 대한 역할 액세스 권한이 없는 경우 클러스터 이름이 표시되지 않습니다. 클러스터 이름은 다음 기호 - 를 사용하여 표시됩니다.

RBAC는 콘솔 수준 및 API 수준에서 검증됩니다. 사용자 액세스 역할 권한에 따라 콘솔의 작업을 활성화하거나 비활성화할 수 있습니다. 제품의 특정 라이프사이클에 대한 RBAC에 대한 자세한 내용은 다음 섹션을 참조하십시오.

1.2.3.2. 클러스터 라이프사이클 RBAC

다음 클러스터 라이프사이클 RBAC 작업을 확인합니다.

  • 모든 관리 클러스터에 대한 클러스터 역할 바인딩을 생성하고 관리합니다. 예를 들어 다음 명령을 입력하여 클러스터 역할 open-cluster-management:cluster-manager-admin 에 대한 클러스터 역할 바인딩을 생성합니다.

    oc create clusterrolebinding <role-binding-name> --clusterrole=open-cluster-management:cluster-manager-admin --user=<username>

    이 역할은 모든 리소스 및 작업에 액세스할 수 있는 슈퍼 유저입니다. 클러스터 범위의 관리 클러스터 리소스, 관리 클러스터를 관리하는 리소스의 네임스페이스 및 이 역할이 있는 네임스페이스를 생성할 수 있습니다. 권한 오류를 방지하기 위해 역할 연결이 필요한 ID의 사용자 이름을 추가해야 할 수 있습니다.

  • 다음 명령을 실행하여 cluster-name 이라는 관리 클러스터에 대한 클러스터 역할 바인딩을 관리합니다.

    oc create clusterrolebinding (role-binding-name) --clusterrole=open-cluster-management:admin:<cluster-name> --user=<username>

    이 역할에는 클러스터 범위의 관리 클러스터 리소스에 대한 읽기 및 쓰기 액세스 권한이 있습니다. 이는 managedcluster 가 네임스페이스 범위 리소스가 아닌 클러스터 범위 리소스이므로 필요합니다.

    • 다음 명령을 입력하여 클러스터 역할 admin 에 네임스페이스 역할 바인딩을 생성합니다.

      oc create rolebinding <role-binding-name> -n <cluster-name> --clusterrole=admin --user=<username>

      이 역할에는 관리 클러스터의 네임스페이스에 있는 리소스에 대한 읽기 및 쓰기 권한이 있습니다.

  • open-cluster-management:view:<cluster-name > 클러스터 역할에 대한 클러스터 역할 바인딩을 생성하여 cluster-name 이라는 관리 클러스터를 확인합니다.

    oc create clusterrolebinding <role-binding-name> --clusterrole=open-cluster-management:view:<cluster-name> --user=<username>

    이 역할에는 클러스터 범위의 managedcluster 리소스에 대한 읽기 액세스 권한이 있습니다. 이는 managedcluster 가 클러스터 범위 리소스이므로 필요합니다.

  • 다음 명령을 입력하여 클러스터 역할 보기에 네임스페이스 역할 바인딩을 생성합니다.

    oc create rolebinding <role-binding-name> -n <cluster-name> --clusterrole=view --user=<username>

    이 역할에는 관리 클러스터의 네임스페이스에 있는 리소스에 대한 읽기 전용 액세스 권한이 있습니다.

  • 다음 명령을 입력하여 액세스할 수 있는 관리형 클러스터 목록을 확인합니다.

    oc get managedclusters.clusterview.open-cluster-management.io

    이 명령은 클러스터 관리자 권한이 없는 관리자와 사용자가 사용합니다.

  • 다음 명령을 입력하여 액세스할 수 있는 관리형 클러스터 세트 목록을 확인합니다.

    oc get managedclustersets.clusterview.open-cluster-management.io

    이 명령은 클러스터 관리자 권한이 없는 관리자와 사용자가 사용합니다.

1.2.3.2.1. 클러스터 풀 RBAC

다음 클러스터 풀 RBAC 작업을 확인합니다.

  • 클러스터 관리자는 관리형 클러스터를 생성하여 클러스터 풀 프로비저닝 클러스터를 사용하고 그룹에 역할을 추가하여 관리자 권한을 부여합니다. 다음 예제를 참조하십시오.

    • 다음 명령을 사용하여 server-foundation-clusterset 관리 클러스터에 admin 권한을 부여합니다.

      oc adm policy add-cluster-role-to-group open-cluster-management:clusterset-admin:server-foundation-clusterset
      server-foundation-team-admin
    • 다음 명령을 사용하여 server-foundation-clusterset 관리 클러스터에 보기 권한을 부여합니다.

      oc adm policy add-cluster-role-to-group open-cluster-management:clusterset-view:server-foundation-clusterset server-foundation-team-user
  • 클러스터 풀의 네임스페이스인 server-foundation-clusterpool 을 생성합니다. 역할 권한을 부여하려면 다음 예제를 확인합니다.

    • 다음 명령을 실행하여 server-foundation-team- admin server-foundation-clusterpool 에 admin 권한을 부여합니다.

      oc adm new-project server-foundation-clusterpool
      
      oc adm policy add-role-to-group admin server-foundation-team-admin --namespace  server-foundation-clusterpool
  • 팀 관리자로 클러스터 세트 레이블 cluster.open-cluster-management.io/clusterset=server-foundation-clusterset 를 클러스터 풀 네임스페이스에서 ocp46-aws-clusterpool 이라는 클러스터 풀을 생성합니다.

    • server-foundation-webhook 는 클러스터 풀에 클러스터 세트 레이블이 있는지, 사용자에게 클러스터 세트를 생성할 수 있는 권한이 있는지 확인합니다.
    • server-foundation-controllerserver-foundation-team-userserver-foundation-clusterpool 네임스페이스에 보기 권한을 부여합니다.
  • 클러스터 풀이 생성되면 클러스터 풀이 clusterdeployment 을 생성합니다. 자세한 내용은 계속 읽기:

    • server-foundation-controllerserver-foundation-team- admin clusterdeployment 네임스페이스에 admin 권한을 부여합니다.
    • server-foundation-controllerserver-foundation-team-user 에 대해 view 권한 clusterdeployment 네임스페이스를 부여합니다.

      참고: team-adminteam-userclusterpool,clusterdeploymentclusterclaim 에 대한 관리자 권한이 있습니다.

1.2.3.2.2. 클러스터 라이프사이클을 위한 콘솔 및 API RBAC 테이블

클러스터 라이프사이클에 대한 다음 콘솔 및 API RBAC 테이블을 확인합니다.

표 1.1. 클러스터 라이프사이클에 대한 콘솔 RBAC 테이블
리소스admineditview

클러스터

읽기, 업데이트, 삭제

-

read

클러스터 세트

get, update, bind, join

언급되지 않은 edit 역할

get

관리형 클러스터

읽기, 업데이트, 삭제

언급된 편집 역할 없음

get

공급자 연결

생성, 읽기, 업데이트 및 삭제

-

read

표 1.2. 클러스터 라이프사이클에 대한 API RBAC 테이블
APIadmineditview

managedclusters.cluster.open-cluster-management.io

이 API의 명령에 mcl (singular) 또는 mcls (plural)를 사용할 수 있습니다.

만들기, 읽기, 업데이트, 삭제

읽기, 업데이트

read

managedclusters.view.open-cluster-management.io

이 API의 명령에 mcv (singular) 또는 mc v(plural)를 사용할 수 있습니다.

read

read

read

managedclusters.register.open-cluster-management.io/accept

업데이트

업데이트

 

managedclusterset.cluster.open-cluster-management.io

이 API의 명령에 mclset (singular) 또는 mclsets (plural)를 사용할 수 있습니다.

만들기, 읽기, 업데이트, 삭제

읽기, 업데이트

read

managedclustersets.view.open-cluster-management.io

read

read

read

managedclustersetbinding.cluster.open-cluster-management.io

이 API에 대한 명령에 mclsetbinding (singular) 또는 mclsetbindings (plural)를 사용할 수 있습니다.

만들기, 읽기, 업데이트, 삭제

읽기, 업데이트

read

klusterletaddonconfigs.agent.open-cluster-management.io

만들기, 읽기, 업데이트, 삭제

읽기, 업데이트

read

managedclusteractions.action.open-cluster-management.io

만들기, 읽기, 업데이트, 삭제

읽기, 업데이트

read

managedclusterviews.view.open-cluster-management.io

만들기, 읽기, 업데이트, 삭제

읽기, 업데이트

read

managedclusterinfos.internal.open-cluster-management.io

만들기, 읽기, 업데이트, 삭제

읽기, 업데이트

read

manifestworks.work.open-cluster-management.io

만들기, 읽기, 업데이트, 삭제

읽기, 업데이트

read

submarinerconfigs.submarineraddon.open-cluster-management.io

만들기, 읽기, 업데이트, 삭제

읽기, 업데이트

read

placements.cluster.open-cluster-management.io

만들기, 읽기, 업데이트, 삭제

읽기, 업데이트

read

1.2.3.2.3. 인증 정보 역할 기반 액세스 제어

자격 증명에 대한 액세스는 Kubernetes에서 제어합니다. 인증 정보는 Kubernetes 시크릿으로 저장되고 보호됩니다. 다음 권한은 Red Hat Advanced Cluster Management for Kubernetes에서 시크릿에 액세스하는 데 적용됩니다.

  • 네임스페이스에서 보안을 생성할 수 있는 액세스 권한이 있는 사용자는 인증 정보를 생성할 수 있습니다.
  • 네임스페이스의 읽기 보안에 액세스할 수 있는 사용자는 인증 정보를 볼 수도 있습니다.
  • adminedit 의 Kubernetes 클러스터 역할이 있는 사용자는 시크릿을 생성하고 편집할 수 있습니다.
  • Kubernetes 클러스터 역할이 있는 사용자는 시크릿 내용을 읽고 서비스 계정 자격 증명에 액세스할 수 있으므로 시크릿을 볼 수 없습니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.