검색

1.2. 다중 클러스터 엔진 Operator를 사용하는 클러스터 라이프사이클 정보

download PDF

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

허브 클러스터 및 관리형 클러스터 요구 사항 및 지원에 대한 자세한 내용과 지원 매트릭스 를 참조하십시오.

계속하려면 다중 클러스터 엔진 Operator 개요를 사용하여 클러스터 라이프사이클에서 나머지 클러스터 라이프 사이클 문서를 참조하십시오.

1.2.1. 콘솔 개요

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

참고: 플러그인을 활성화하면 드롭다운 메뉴에서 모든 클러스터를 선택하여 클러스터 전환기에서 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.2. 다중 클러스터 엔진 Operator 역할 기반 액세스 제어

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

1.2.2.1. 역할 개요

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

1.2.2.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 리소스에 대한 관리자 액세스 권한이 있습니다. 또한 사용자는 관리 클러스터 설정 레이블이 cluster.open-cluster-management.io ,clusterclaim.hive.openshift.io, clusterdeployment.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 리소스에 대한 보기 액세스 권한이 있습니다. 또한 사용자는 관리 클러스터 설정 라벨이 cluster.open-cluster-management.io,clusterclaim. hive.openshift.io,clusterdeployment.hive.openshift.ioclusterpool.hive.openshift.io 에 대한 보기 액세스 권한도 있습니다. cluster.open-cluster-management.io , clusterset=<managed_clusterset_name > . 관리 클러스터 세트 리소스를 관리하는 방법에 대한 자세한 내용은 ManagedClusterSet생성을 참조하십시오.

관리자, 편집, 보기

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

중요:

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

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

1.2.2.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 리소스에 대한 읽기 및 쓰기 권한이 있습니다. 이는 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.2.2.1. 클러스터 풀 RBAC

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

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

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

      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 에 부여합니다.

      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 네임스페이스에 대한 보기 권한을 부여합니다.
  • 클러스터 풀이 생성되면 클러스터 풀이 클러스터 배포를 생성합니다. 자세한 내용은 계속 읽으십시오.

    • server-foundation-controllerserver-foundation-team- admin clusterdeployment 네임스페이스에 대한 관리자 권한을 부여합니다.
    • server-foundation-controllerserver-foundation-team-user 에 대한 보기 권한 클러스터 배포 네임스페이스를 부여합니다.

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

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

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

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

클러스터

읽기, 업데이트, 삭제

-

읽기

클러스터 세트

get, update, bind, join

언급되지 않은 편집 역할

get

관리형 클러스터

읽기, 업데이트, 삭제

언급된 편집 역할 없음

get

공급자 연결

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

-

읽기

표 1.2. 클러스터 라이프사이클을 위한 API RBAC 테이블
API관리자editview

managedclusters.cluster.open-cluster-management.io

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

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

읽기, 업데이트

읽기

managedclusters.view.open-cluster-management.io

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

읽기

읽기

읽기

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

업데이트

업데이트

 

managedclusterset.cluster.open-cluster-management.io

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

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

읽기, 업데이트

읽기

managedclustersets.view.open-cluster-management.io

읽기

읽기

읽기

managedclustersetbinding.cluster.open-cluster-management.io

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

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

읽기, 업데이트

읽기

klusterletaddonconfigs.agent.open-cluster-management.io

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

읽기, 업데이트

읽기

managedclusteractions.action.open-cluster-management.io

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

읽기, 업데이트

읽기

managedclusterviews.view.open-cluster-management.io

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

읽기, 업데이트

읽기

managedclusterinfos.internal.open-cluster-management.io

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

읽기, 업데이트

읽기

manifestworks.work.open-cluster-management.io

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

읽기, 업데이트

읽기

submarinerconfigs.submarineraddon.open-cluster-management.io

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

읽기, 업데이트

읽기

placements.cluster.open-cluster-management.io

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

읽기, 업데이트

읽기

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

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

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

1.2.3. 네트워크 구성

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

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

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

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

방향프로토콜연결포트(지정된 경우)

아웃바운드

 

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

6443

OpenShift Container Platform 관리 클러스터에서 허브 클러스터로의 아웃 바운드

TCP

hub 클러스터의 Ironic Python 에이전트와 베어 메탈 Operator 간 통신

6180, 6183, 6385 및 5050

hub 클러스터에서 관리 클러스터의 Ironic Python Agent로의 아웃 바운드

TCP

Ironic Python Agent가 실행 중인 베어 메탈 노드와 Ironic conductor 서비스 간의 통신

9999

아웃바운드 및 인바운드

 

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

443

인바운드

 

관리 클러스터의 Kubernetes Operator 클러스터에 대한 다중 클러스터 엔진의 Kubernetes API 서버

6443

참고: 관리 클러스터는 hub 클러스터 컨트롤 플레인 노드 IP 주소에 연결할 수 있어야 합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.