외부 모드에서 OpenShift Data Foundation 배포

Red Hat OpenShift Data Foundation 4.9

외부 Red Hat Ceph Storage 클러스터 또는 IBM FlashSystem을 사용하기 위해 OpenShift Data Foundation을 배포하는 방법

초록

외부 Red Hat Ceph Storage 클러스터를 사용하기 위해 Red Hat OpenShift Data Foundation을 설치하는 방법에 대한 자세한 내용은 이 문서를 참조하십시오.

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

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 용어를 교체하기 위해 최선을 다하고 있습니다. 먼저 마스터(master), 슬레이브(slave), 블랙리스트(blacklist), 화이트리스트(whitelist) 등 네 가지 용어를 교체하고 있습니다. 이러한 변경 작업은 작업 범위가 크므로 향후 여러 릴리스에 걸쳐 점차 구현할 예정입니다. 자세한 내용은 CTO Chris Wright의 메시지를 참조하십시오.

Red Hat 문서에 관한 피드백 제공

문서 개선을 위한 의견을 보내 주십시오. 어떻게 하면 더 잘할 수 있는지 알려주십시오. 피드백을 제공하려면 다음을 수행합니다.

  • 특정 문구에 대한 간단한 의견 작성 방법은 다음과 같습니다.

    1. 문서가 Multi-page HTML 형식으로 표시되는지 확인합니다. 또한 문서 오른쪽 상단에 피드백 버튼이 있는지 확인합니다.
    2. 마우스 커서를 사용하여 주석 처리하려는 텍스트 부분을 강조 표시합니다.
    3. 강조 표시된 텍스트 아래에 표시되는 피드백 추가 팝업을 클릭합니다.
    4. 표시된 지침을 따릅니다.
  • 보다 상세하게 피드백을 제출하려면 다음과 같이 Bugzilla 티켓을 생성하십시오.

    1. Bugzilla 웹 사이트로 이동하십시오.
    2. 구성 요소 섹션에서 설명서를 선택합니다.
    3. 설명 필드에 문서 개선을 위한 제안 사항을 기입하십시오. 관련된 문서의 해당 부분 링크를 알려주십시오.
    4. 버그 제출을 클릭합니다.

1장. 외부 모드에서 배포 개요

Red Hat OpenShift Data Foundation은 외부 Red Hat Ceph Storage 클러스터에서 서비스를 제공하거나 다음 플랫폼에서 실행되는 OpenShift Container Platform 클러스터를 통해 사용 가능한 IBM FlashSystem을 사용할 수 있습니다.

  • VMware vSphere
  • 베어 메탈
  • Red Hat OpenStack Platform (기술 프리뷰)

자세한 내용은 배포 계획을 참조하십시오.

RHCS 4 클러스터 설치 방법에 대한 자세한 내용은 설치 가이드 를 참조하십시오.

다음 단계에 따라 OpenShift Data Foundation을 외부 모드로 배포합니다.

  1. 작업자 노드에 Red Hat Enterprise Linux 호스트를 사용하는 경우 컨테이너에 파일 시스템 액세스를 사용하도록 설정합니다.

    RHCOS(Red Hat Enterprise Linux CoreOS) 호스트를 사용하는 경우 이 단계를 건너뜁니다.

  2. 다음 중 하나를 배포합니다.

regional-DR 요구 사항 [Developer Preview]

Red Hat OpenShift Data Foundation에서 지원하는 재해 복구 기능에는 재해 복구 솔루션을 성공적으로 구현하기 위해 다음과 같은 사전 요구 사항이 모두 필요합니다.

  • 유효한 Red Hat OpenShift Data Foundation Advanced 서브스크립션
  • 유효한 Red Hat Advanced Cluster Management for Kubernetes 서브스크립션

    자세한 요구 사항은 Region -DR 요구 사항RHACM 요구 사항을 참조하십시오.

2장. Red Hat Enterprise Linux 기반 노드에서 컨테이너에 파일 시스템 액세스 활성화

사용자 프로비저닝 인프라(UPI)에서 Red Hat Enterprise Linux 기반의 작업자 노드가 있는 OpenShift Container Platform에 OpenShift Data Foundation을 배포하면 기본 Ceph 파일 시스템에 대한 컨테이너 액세스 권한을 자동으로 제공하지 않습니다.

참고

RHCOS(Red Hat Enterprise Linux CoreOS)를 기반으로 하는 호스트의 이 단계를 건너뜁니다.

절차

  1. Red Hat Enterprise Linux 기반 노드에 로그인하고 터미널을 엽니다.
  2. 클러스터의 각 노드에 대해 다음을 수행합니다.

    1. 노드에 rhel-7-server-extras-rpms 리포지토리에 액세스할 수 있는지 확인합니다.

      # subscription-manager repos --list-enabled | grep rhel-7-server

      출력에 rhel-7-server-rpmsrhel-7-server-extras-rpms 가 모두 표시되지 않거나 출력이 없는 경우 다음 명령을 실행하여 각 리포지토리를 활성화합니다.

      # subscription-manager repos --enable=rhel-7-server-rpms
      # subscription-manager repos --enable=rhel-7-server-extras-rpms
    2. 필요한 패키지를 설치합니다.

      # yum install -y policycoreutils container-selinux
    3. SELinux에서 Ceph 파일 시스템의 컨테이너 사용을 영구적으로 활성화합니다.

      # setsebool -P container_use_cephfs on

3장. Red Hat Ceph 스토리지를 사용하여 OpenShift Data Foundation 배포

Red Hat OpenShift Data Foundation은 OpenShift Container Platform 클러스터를 통해 사용할 수 있도록 외부 Red Hat Ceph Storage 클러스터의 서비스를 제공할 수 있습니다. OpenShift Data Foundation Operator를 설치한 다음 외부 Ceph 스토리지 시스템을 위한 OpenShift Data Foundation 클러스터를 생성해야 합니다.

3.1. Red Hat OpenShift Data Foundation Operator 설치

Red Hat OpenShift Container Platform Operator Hub를 사용하여 Red Hat OpenShift Data Foundation Operator를 설치할 수 있습니다.

사전 요구 사항

  • cluster-admin 및 Operator 설치 권한이 있는 계정을 사용하여 OpenShift Container Platform 클러스터에 액세스할 수 있습니다.
  • 추가 리소스 요구 사항은 배포 계획 가이드를 참조하십시오.
중요
  • OpenShift Data Foundation의 클러스터 수준 기본 노드 선택기를 재정의해야 하는 경우 명령줄 인터페이스에서 다음 명령을 사용하여 openshift-storage 네임스페이스에 대한 빈 노드 선택기를 지정할 수 있습니다(이 경우 openshift-storage 네임스페이스 생성).

    $ oc annotate namespace openshift-storage openshift.io/node-selector=

절차

  1. OpenShift 웹 콘솔에 로그인합니다.
  2. Operators → OperatorHub 를 클릭합니다.
  3. OpenShift Data Foundation키워드로 필터링 상자에 스크롤하여 OpenShift Data Foundation Operator를 찾습니다.
  4. 설치를 클릭합니다.
  5. Operator 설치 페이지에서 다음 옵션을 설정합니다.

    1. Channel을 stable-4.9 로 업데이트합니다.
    2. 클러스터의 특정 네임스페이스 로 설치 모드.
    3. 설치된 Namespace를 Operator 권장 네임스페이스 openshift-storage. 네임스페이스 openshift-storage 가 없으면 Operator 설치 중에 생성됩니다.
    4. 승인 전략을 자동 또는 수동으로 선택합니다.

      자동 업데이트를 선택하면 OLM(Operator Lifecycle Manager)은 개입 없이 Operator의 실행 중인 인스턴스를 자동으로 업그레이드합니다.

      수동 업데이트를 선택하면 OLM에서 업데이트 요청을 생성합니다. 클러스터 관리자는 Operator를 최신 버전으로 업데이트하기 위해 해당 업데이트 요청을 수동으로 승인해야 합니다.

    5. Console 플러그인에 대해 Enable 옵션이 선택되어 있는지 확인합니다.
    6. 설치를 클릭합니다.
참고

모든 기본 설정을 사용하는 것이 좋습니다. 이를 변경하면 예기치 않은 동작이 발생할 수 있습니다. 결과를 알고 있는 경우에만 변경합니다.

검증 단계

  • OpenShift Data Foundation Operator에 성공적으로 설치를 나타내는 녹색 눈금이 표시되는지 확인합니다.
  • Operator가 성공적으로 설치되면 메시지가 포함된 팝업 이 사용자 인터페이스에 웹 콘솔 업데이트가 표시됩니다. 콘솔 변경 사항을 반영하려면 이 팝업 창에서 웹 콘솔 새로 고침 을 클릭합니다.

    • 웹 콘솔에서 Operator로 이동하여 OpenShift Data Foundation 을 사용할 수 있는지 확인합니다.
중요

OpenShift Data Foundation Operator를 설치한 후 콘솔 플러그인 옵션이 자동으로 활성화되지 않은 경우 이를 활성화해야 합니다.

콘솔 플러그인을 활성화하는 방법에 대한 자세한 내용은 Red Hat OpenShift Data Foundation 콘솔 플러그인 활성화를 참조하십시오.

3.2. 외부 Ceph 스토리지 시스템을 위한 OpenShift Data Foundation 클러스터 생성

VMware vSphere에 배포된 OpenShift Container Platform 또는 사용자 프로비저닝 베어 메탈 인프라에 OpenShift Data Foundation Operator를 설치한 후 새 OpenShift Data Foundation 클러스터를 생성해야 합니다.

사전 요구 사항

  • OpenShift Data Foundation 4.9를 배포하기 전에 OpenShift Container Platform 버전이 4.9 이상인지 확인합니다.
  • OpenShift Data Foundation Operator가 설치되어 있어야 합니다. 자세한 내용은 Operator Hub를 사용하여 OpenShift Data Foundation Operator 설치를 참조하십시오.
  • 외부 클러스터에 Red Hat Ceph Storage 버전 4.2z1 이상이 필요합니다. 자세한 내용은 Red Hat Ceph Storage 릴리스 및 해당 Ceph 패키지 버전에 대한 지식 베이스 문서를 참조하십시오.

    4.1.1 미만 버전에서 Red Hat Ceph Storage 클러스터를 최신 릴리스로 업데이트하고 새로 배포된 클러스터가 아닌 경우, 외부 모드에서 CephFS PVC 생성을 활성화하려면 Red Hat Ceph Storage 클러스터에서 CephFS 풀의 애플리케이션 유형을 수동으로 설정해야 합니다.

    자세한 내용은 외부 모드에서 CephFS PVC 생성 문제 해결을 참조하십시오.

  • Red Hat Ceph Storage에는 Ceph 대시보드가 설치되어 구성되어 있어야 합니다. 자세한 내용은 Ceph 대시보드 설치 및 액세스를 참조하십시오.
  • 외부 Red Hat Ceph Storage 클러스터에 PG Autoscaler가 활성화된 것이 좋습니다. 자세한 내용은 Red Hat Ceph Storage 문서 의 배치 그룹 자동 스케일러 섹션을 참조하십시오.
  • 외부 Ceph 클러스터에는 사용하도록 사전 구성된 기존 RBD 풀이 있어야 합니다. 존재하지 않는 경우 OpenShift Data Foundation 배포를 수행하기 전에 Red Hat Ceph Storage 관리자에게 문의하십시오. Red Hat은 각 OpenShift Data Foundation 클러스터에 별도의 풀을 사용하는 것이 좋습니다.
  • 선택 사항: 기본 영역 그룹과 별도로 생성된 zonegroup이 있는 경우 이 호스트 이름을 사용하여 해당 호스트 이름 rook-ceph-rgw-ocs-external-storagecluster-cephobjectstore.openshift-storage.svc 를 zonegroup에 추가해야 OpenShift Data Foundation은 이 호스트 이름을 사용하여 S3 요청을 RADOS Object Gateways(RGW)에 전송합니다. 자세한 내용은 Red Hat Knowledgebase 솔루션 Ceph - RGW 영역 그룹에 호스트 이름을 추가하는 방법을 참조하십시오.

절차

  1. Operator → 설치된 Operator를 클릭하여 설치된 모든 Operator를 확인합니다.

    선택한 프로젝트openshift-storage 인지 확인합니다.

  2. OpenShift Data Foundation 을 클릭한 다음 스토리지 시스템 생성을 클릭합니다.
  3. 백업 스토리지 페이지에서 다음 옵션을 선택합니다.

    1. 사용 가능한 옵션에서 외부 스토리지 플랫폼 연결을 선택합니다.
    2. Red Hat Ceph Storage for Storage 플랫폼을 선택합니다.
    3. 다음을 클릭합니다.
  4. 연결 세부 정보 페이지에서 필요한 정보를 제공합니다.

    1. 다운로드 스크립트 링크를 클릭하여 Ceph 클러스터 세부 정보를 추출하기 위해 python 스크립트를 다운로드합니다.
    2. RHCS(Red Hat Ceph Storage) 클러스터 세부 정보를 추출하려면 RHCS 관리자에게 관리자 키가 있는 Red Hat Ceph Storage 노드에서 다운로드한 python 스크립트를 실행하십시오.

      1. RHCS 노드에서 다음 명령을 실행하여 사용 가능한 인수 목록을 확인합니다.

        # python3 ceph-external-cluster-details-exporter.py --help
        중요

        Red Hat Ceph Storage 4.x 클러스터가 Red Hat Enterprise Linux 7.x(RHEL 7.x) 클러스터에 배포된 경우 python 3 대신 python을 사용합니다.

        참고

        MON 컨테이너(컨테이너화된 배포) 또는 MON 노드(rpm 배포) 내부에서 스크립트를 실행할 수도 있습니다.

      2. RHCS 클러스터에서 외부 클러스터 세부 정보를 검색하려면 다음 명령을 실행합니다.

        # python3 ceph-external-cluster-details-exporter.py \
        --rbd-data-pool-name <rbd block pool name>  [optional arguments]

        예를 들면 다음과 같습니다.

        # python3 ceph-external-cluster-details-exporter.py --rbd-data-pool-name ceph-rbd --monitoring-endpoint xxx.xxx.xxx.xxx --monitoring-endpoint-port xxxx --rgw-endpoint xxx.xxx.xxx.xxx:xxxx --run-as-user client.ocs

        이 예에서, In this example,

        --rbd-data-pool-name
        OpenShift Data Foundation에서 블록 스토리지를 제공하는 데 사용되는 필수 매개 변수입니다.
        --rgw-endpoint
        선택적 매개변수: OpenShift Data Foundation용 Ceph Rados Gateway를 통해 오브젝트 스토리지를 프로비저닝해야 하는 경우에만 제공해야 합니다. 다음과 같은 형식으로 끝점을 제공합니다. <ip_address>:<port>
        --monitoring-endpoint
        은 선택 사항입니다. OpenShift Container Platform 클러스터에서 연결할 수 있는 활성 및 대기 mgrs의 쉼표로 구분된 IP 주소 목록을 허용합니다. 제공되지 않으면 값이 자동으로 채워집니다.
        --monitoring-endpoint-port
        이는 선택 사항입니다. --monitoring-endpoint 에서 지정한 ceph-mgr Prometheus 내보내기와 연결된 포트입니다. 제공되지 않으면 값이 자동으로 채워집니다.
        --run-as-user

        이는 스크립트에서 생성된 Ceph 사용자의 이름을 제공하는 데 사용되는 선택적 매개 변수입니다. 이 매개변수를 지정하지 않으면 기본 사용자 이름 client.healthchecker 가 생성됩니다. 새 사용자에 대한 권한은 다음과 같이 설정됩니다.

        • caps: [mgr] allow command config
        • caps: [mon] allow r, allow command quorum_status, allow command version
        • caps: [osd] allow rwx pool=RGW_POOL_PREFIX_PREFIX.rgw. root, allow rw pool= .rgw.root , allow rw pool=RGW_POOL_PREFIX.rgw.control.log.log. allow x pool=RGW_POOL_PREFIX.rgw.buckets.index

          python 스크립트를 사용하여 생성된 JSON 출력 예:

          [{"name": "rook-ceph-mon-endpoints", "kind": "ConfigMap", "data": {"data": "xxx.xxx.xxx.xxx:xxxx", "maxMonId": "0", "mapping": "{}"}}, {"name": "rook-ceph-mon", "kind": "Secret", "data": {"admin-secret": "admin-secret", "fsid": "<fs-id>", "mon-secret": "mon-secret"}}, {"name": "rook-ceph-operator-creds", "kind": "Secret", "data": {"userID": "<user-id>", "userKey": "<user-key>"}}, {"name": "rook-csi-rbd-node", "kind": "Secret", "data": {"userID": "csi-rbd-node", "userKey": "<user-key>"}}, {"name": "ceph-rbd", "kind": "StorageClass", "data": {"pool": "<pool>"}}, {"name": "monitoring-endpoint", "kind": "CephCluster", "data": {"MonitoringEndpoint": "xxx.xxx.xxx.xxx", "MonitoringPort": "xxxx"}}, {"name": "rook-ceph-dashboard-link", "kind": "Secret", "data": {"userID": "ceph-dashboard-link", "userKey": "<user-key>"}}, {"name": "rook-csi-rbd-provisioner", "kind": "Secret", "data": {"userID": "csi-rbd-provisioner", "userKey": "<user-key>"}}, {"name": "rook-csi-cephfs-provisioner", "kind": "Secret", "data": {"adminID": "csi-cephfs-provisioner", "adminKey": "<admin-key>"}}, {"name": "rook-csi-cephfs-node", "kind": "Secret", "data": {"adminID": "csi-cephfs-node", "adminKey": "<admin-key>"}}, {"name": "cephfs", "kind": "StorageClass", "data": {"fsName": "cephfs", "pool": "cephfs_data"}}, {"name": "ceph-rgw", "kind": "StorageClass", "data": {"endpoint": "xxx.xxx.xxx.xxx:xxxx", "poolPrefix": "default"}}, {"name": "rgw-admin-ops-user", "kind": "Secret", "data": {"accessKey": "<access-key>", "secretKey": "<secret-key>"}}]

      3. .json 확장자를 사용하여 JSON 출력을 파일에 저장합니다.

        참고

        OpenShift Data Foundation이 원활하게 작동하려면 JSON 파일을 사용하여 업로드할 매개 변수(RGW 끝점, CephFS 세부 정보, RBD 풀 등)가 스토리지 클러스터 생성 후 RHCS 외부 클러스터에서 변경되지 않은 상태로 남아 있는지 확인합니다.

    3. 찾아보기 를 클릭하여 JSON 파일을 선택하고 업로드합니다.

      JSON 파일의 내용은 텍스트 상자에 채워져 표시됩니다.

    4. 다음을클릭합니다.

      다음 버튼은 .json 파일을 업로드한 후에만 활성화됩니다.

  5. 검토 및 생성 페이지에서 모든 세부 정보가 올바른지 확인합니다.

    • 구성 설정을 수정하려면 뒤로 이동하여 이전 구성 페이지로 돌아갑니다.
  6. Create StorageSystem 을 클릭합니다.

검증 단계

설치된 스토리지 클러스터의 최종 상태를 확인하려면 다음을 수행합니다.

  1. OpenShift 웹 콘솔에서 설치된 OperatorOpenShift Data Foundation스토리지 시스템ocs-external-storagecluster-storagesystemResources 로 이동합니다.
  2. Status of StorageClusterReady 이고 녹색 눈금이 있는지 확인합니다.
  3. OpenShift Data Foundation, pods 및 StorageClass가 성공적으로 설치되었는지 확인하려면 외부 Ceph 스토리지 시스템의 외부 모드 OpenShift Data Foundation 설치 확인 을 참조하십시오.

3.3. 외부 Ceph 스토리지 시스템을 위한 OpenShift Data Foundation 설치 확인

이 섹션을 사용하여 OpenShift Data Foundation이 올바르게 배포되었는지 확인합니다.

3.3.1. Pod 상태 확인

  1. OpenShift 웹 콘솔의 왼쪽 창에서 워크로드 → 포드 를 클릭합니다.
  2. 프로젝트 드롭다운 목록에서 openshift-storage 를 선택합니다.

    참고

    Show default projects (기본 프로젝트 표시) 옵션이 비활성화된 경우 토글 버튼을 사용하여 모든 기본 프로젝트를 나열합니다.

    각 구성 요소에 대해 예상되는 Pod 수와 노드 수에 따라 달라지는 방법에 대한 자세한 내용은 다음을 참조하십시오. 표 3.1. “OpenShift Data Foundation 구성 요소에 해당하는 Pod”

  3. 다음 Pod가 실행 중인지 확인합니다.

    표 3.1. OpenShift Data Foundation 구성 요소에 해당하는 Pod

    구성 요소해당 Pod

    OpenShift Data Foundation Operator

    • OCS-operator-* 작업자 노드의 Pod 1
    • OCS-metrics-exporter-* (작업자 노드에서 Pod)
    • ODF-operator-controller-manager-* (1개의 작업자 노드에서 Pod)
    • ODF-console-* (작업자 노드의 Pod)

    rook-ceph Operator

    rook-ceph-operator-*

    (모든 작업자 노드의 Pod)

    Multicloud Object Gateway

    • NooBaa-operator-* (작업자 노드에서 Pod)
    • NooBaa-core-* (작업자 노드에서 Pod)
    • NooBaa-db-pg-* (1개의 작업자 노드의 pod)
    • NooBaa-endpoint-* (모든 작업자 노드에서 Pod)

    CSI

    • CephFS

      • CSI-cephfsplugin-* (각 작업자 노드의 Pod)
      • CSI-cephfsplugin-provisioner-* (2개 작업자 노드에 분산된 Pod)
    참고

    MDS가 외부 클러스터에 배포되지 않으면 csi-cephfsplugin Pod가 생성되지 않습니다.

    • rbd

      • CSI-rbdplugin-* (각 작업자 노드의 Pod)
      • CSI-rbdplugin-provisioner-* (2 작업자 노드에 분산된 Pod)

3.3.2. OpenShift Data Foundation 클러스터가 정상인지 확인

  1. OpenShift 웹 콘솔에서 스토리지OpenShift Data Foundation 을 클릭합니다.
  2. 개요 탭의 상태 카드에서 스토리지 시스템을 클릭한 다음 해당 팝업에서 스토리지 시스템 링크를 클릭합니다.
  3. 블록 및 파일 탭의 상태 카드에서 스토리지 클러스터에 녹색 눈금 이 있는지 확인합니다.
  4. 세부 정보 카드에서 클러스터 정보가 표시되는지 확인합니다.

블록 및 파일 대시보드를 사용하는 OpenShift Data Foundation 클러스터의 상태에 대한 자세한 내용은 Monitoring OpenShift Data Foundation 을 참조하십시오.

3.3.3. Multicloud Object Gateway가 정상인지 확인

  1. OpenShift 웹 콘솔에서 스토리지OpenShift Data Foundation 을 클릭합니다.
  2. 개요 탭의 상태 카드에서 스토리지 시스템을 클릭한 다음 해당 팝업에서 스토리지 시스템 링크를 클릭합니다.

    1. Object 탭의 상태 카드에서 Object ServiceData Resiliency 모두 녹색 눈금이 있는지 확인합니다.
    2. 세부 정보 카드에서 MCG(Multicloud Object Gateway) 정보가 표시되는지 확인합니다.
참고

RADOS 오브젝트 게이트웨이는 OpenShift Data Foundation을 외부 모드에 배포하는 동안 RADOS 오브젝트 게이트웨이 세부 정보가 포함된 경우에만 나열됩니다.

오브젝트 대시보드를 사용하는 OpenShift Data Foundation 클러스터의 상태에 대한 자세한 내용은 Monitoring OpenShift Data Foundation 을 참조하십시오.

3.3.4. 스토리지 클래스가 생성되고 나열되는지 확인

  1. OpenShift 웹 콘솔의 왼쪽 창에서 스토리지 → 스토리지 클래스 를 클릭합니다.
  2. OpenShift Data Foundation 클러스터 생성으로 다음 스토리지 클래스가 생성되었는지 확인합니다.

    • ocs-external-storagecluster-ceph-rbd
    • ocs-external-storagecluster-ceph-rgw
    • ocs-external-storagecluster-cephfs
    • openshift-storage.noobaa.io
참고
  • MDS가 외부 클러스터에 배포되지 않으면 ocs-external-storagecluster-cephfs 스토리지 클래스가 생성되지 않습니다.
  • RGW가 외부 클러스터에 배포되지 않으면 ocs-external-storagecluster-ceph-rgw 스토리지 클래스가 생성되지 않습니다.

MDS 및 RGW에 대한 자세한 내용은 Red Hat Ceph Storage 문서를 참조하십시오.

3.3.5. Ceph 클러스터가 연결되어 있는지 확인

다음 명령을 실행하여 OpenShift Data Foundation 클러스터가 외부 Red Hat Ceph Storage 클러스터에 연결되어 있는지 확인합니다.

$ oc get cephcluster -n openshift-storage
NAME                                      DATADIRHOSTPATH   MONCOUNT   AGE   PHASE       MESSAGE                          HEALTH      EXTERNAL
ocs-external-storagecluster-cephcluster                                30m   Connected   Cluster connected successfully   HEALTH_OK   true

3.3.6. 스토리지 클러스터가 준비되었는지 확인

다음 명령을 실행하여 스토리지 클러스터가 준비되고 External 옵션이 true 로 설정되어 있는지 확인합니다.

$ oc get storagecluster -n openshift-storage
NAME                          AGE   PHASE   EXTERNAL   CREATED AT             VERSION
ocs-external-storagecluster   30m   Ready   true       2021-11-17T09:09:52Z   4.9.0

4장. IBM FlashSystem을 사용하여 OpenShift Data Foundation 배포

OpenShift Data Foundation은 OpenShift Container Platform 클러스터를 통해 사용할 수 있는 IBM FlashSystem 스토리지를 사용할 수 있습니다. OpenShift Data Foundation Operator를 설치한 다음 IBM FlashSystem 스토리지에 대한 OpenShift Data Foundation 클러스터를 생성해야 합니다.

4.1. Red Hat OpenShift Data Foundation Operator 설치

Red Hat OpenShift Container Platform Operator Hub를 사용하여 Red Hat OpenShift Data Foundation Operator를 설치할 수 있습니다.

사전 요구 사항

  • cluster-admin 및 Operator 설치 권한이 있는 계정을 사용하여 OpenShift Container Platform 클러스터에 액세스할 수 있습니다.
  • 추가 리소스 요구 사항은 배포 계획 가이드를 참조하십시오.
중요
  • OpenShift Data Foundation의 클러스터 수준 기본 노드 선택기를 재정의해야 하는 경우 명령줄 인터페이스에서 다음 명령을 사용하여 openshift-storage 네임스페이스에 대한 빈 노드 선택기를 지정할 수 있습니다(이 경우 openshift-storage 네임스페이스 생성).

    $ oc annotate namespace openshift-storage openshift.io/node-selector=

절차

  1. OpenShift 웹 콘솔에 로그인합니다.
  2. Operators → OperatorHub 를 클릭합니다.
  3. OpenShift Data Foundation키워드로 필터링 상자에 스크롤하여 OpenShift Data Foundation Operator를 찾습니다.
  4. 설치를 클릭합니다.
  5. Operator 설치 페이지에서 다음 옵션을 설정합니다.

    1. Channel을 stable-4.9 로 업데이트합니다.
    2. 클러스터의 특정 네임스페이스 로 설치 모드.
    3. 설치된 Namespace를 Operator 권장 네임스페이스 openshift-storage. 네임스페이스 openshift-storage 가 없으면 Operator 설치 중에 생성됩니다.
    4. 승인 전략을 자동 또는 수동으로 선택합니다.

      자동 업데이트를 선택하면 OLM(Operator Lifecycle Manager)은 개입 없이 Operator의 실행 중인 인스턴스를 자동으로 업그레이드합니다.

      수동 업데이트를 선택하면 OLM에서 업데이트 요청을 생성합니다. 클러스터 관리자는 Operator를 최신 버전으로 업데이트하기 위해 해당 업데이트 요청을 수동으로 승인해야 합니다.

    5. Console 플러그인에 대해 Enable 옵션이 선택되어 있는지 확인합니다.
    6. 설치를 클릭합니다.
참고

모든 기본 설정을 사용하는 것이 좋습니다. 이를 변경하면 예기치 않은 동작이 발생할 수 있습니다. 결과를 알고 있는 경우에만 변경합니다.

검증 단계

  • OpenShift Data Foundation Operator에 성공적으로 설치를 나타내는 녹색 눈금이 표시되는지 확인합니다.
  • Operator가 성공적으로 설치되면 메시지가 포함된 팝업 이 사용자 인터페이스에 웹 콘솔 업데이트가 표시됩니다. 콘솔 변경 사항을 반영하려면 이 팝업 창에서 웹 콘솔 새로 고침 을 클릭합니다.

    • 웹 콘솔에서 Operator로 이동하여 OpenShift Data Foundation 을 사용할 수 있는지 확인합니다.
중요

OpenShift Data Foundation Operator를 설치한 후 콘솔 플러그인 옵션이 자동으로 활성화되지 않은 경우 이를 활성화해야 합니다.

콘솔 플러그인을 활성화하는 방법에 대한 자세한 내용은 Red Hat OpenShift Data Foundation 콘솔 플러그인 활성화를 참조하십시오.

4.2. 외부 IBM FlashSystem 스토리지를 위한 OpenShift Data Foundation 클러스터 생성

OpenShift Container Platform에 OpenShift Data Foundation Operator를 설치한 후 새 OpenShift Data Foundation 클러스터를 생성해야 합니다.

사전 요구 사항

  • Red Hat Enterprise Linux® 운영 체제의 경우 iSCSI 연결이 있는지 확인한 다음 호스트에서 Linux 다중 경로 장치를 구성합니다.
  • Red Hat Enterprise Linux CoreOS 또는 패키지가 이미 설치되어 있는 경우 호스트에서 Linux 다중 경로 장치를 구성합니다.
  • 스토리지 시스템 지침에 따라 스토리지 연결을 사용하여 각 작업자를 구성하십시오. 지원되는 최신 FlashSystem 제품 및 버전은 IBM 문서 의 Spectrum Virtualize 제품군 설명서의 설치 섹션을 참조하십시오.

절차

  1. OpenShift 웹 콘솔에서 Operator → 설치된 Operator를 클릭하여 설치된 모든 Operator 를 확인합니다.

    선택한 프로젝트openshift-storage 인지 확인합니다.

  2. OpenShift Data Foundation을 클릭한 다음 스토리지 시스템 생성을 클릭합니다.
  3. 백업 스토리지 페이지에서 다음 옵션을 선택합니다.

    1. 사용 가능한 옵션에서 외부 스토리지 플랫폼 연결을 선택합니다.
    2. 스토리지 플랫폼 목록에서 IBM FlashSystem Storage 를 선택합니다.
    3. 다음을 클릭합니다.
  4. 스토리지 클래스 생성 페이지에서 다음 정보를 제공합니다.

    1. 스토리지 클래스의 이름을 입력합니다.

      블록 스토리지 영구 볼륨을 생성할 때 최상의 성능을 위해 스토리지 클래스 <storage_class_name>을 선택합니다. 스토리지 클래스는 FlashSystem에 대한 직접 I/O 경로를 허용합니다.

    2. IBM FlashSystem 연결에 대한 다음 세부 정보를 입력합니다.

      • IP 주소
      • 사용자 이름
      • 암호
      • 풀 이름
    3. 볼륨 모드두께 또는 thin 을 선택합니다.
    4. 다음을 클릭합니다.
  5. 용량 및 노드 페이지에서 필요한 세부 정보를 제공합니다.

    1. 요청된 용량 값을 선택합니다.

      사용 가능한 옵션은 0.5TiB TiB,2 TiB 및 4TiB 입니다. 요청된 용량이 인프라 스토리지 클래스에 동적으로 할당됩니다.

    2. 세 개 이상의 영역에서 노드를 세 개 이상 선택합니다.

      노드당 14개 이상의 CPU 및 34GiB RAM으로 시작하는 것이 좋습니다. 선택한 노드가 집계된 30 개의 CPU 및 72GiB RAM의 OpenShift Data Foundation 클러스터 요구 사항과 일치하지 않으면 최소 클러스터가 배포됩니다. 최소 노드 요구 사항은 계획 가이드의 리소스 요구 사항 섹션을 참조하십시오.

    3. 다음을 클릭합니다.
  6. 선택 사항: 보안 및 네트워크 페이지에서 필요한 세부 정보를 제공합니다.

    1. 암호화를 활성화하려면 블록 및 파일 스토리지에 데이터 암호화 사용을 선택합니다.
    2. 하나 또는 둘 다 암호화 수준을 선택합니다.

      • 전체 클러스터 (블록 및 파일)를 암호화 하는 클러스터 전체 암호화
      • 암호화가 활성화된 스토리지 클래스를 사용하여 암호화된 영구 볼륨(블록만 해당)을 생성하는 StorageClass 암호화입니다.
    3. 외부 키 관리 서비스에 연결 확인란을 선택합니다. 이는 클러스터 전체 암호화의 경우 선택 사항입니다.

      1. Key Management Service Provider는 기본적으로 Vault로 설정됩니다.
      2. Vault 서비스 이름, Vault 서버 호스트 주소('https://<hostname 또는 ip>), 포트 번호 및 토큰을 입력합니다.
    4. 고급 설정을 확장하여 Vault 구성에 따라 추가 설정 및 인증서 세부 정보를 입력합니다.

      1. OpenShift Data Foundation 전용 및 고유한 백엔드 경로에 키 값 시크릿 경로를 입력합니다.
      2. 선택 사항: TLS 서버 이름 및 Vault Enterprise Namespace를 입력합니다.
      3. 각 PEM 인코딩 인증서 파일을 업로드하여 CA 인증서, 클라이언트 인증서 및 클라이언트 개인 키를 제공합니다.
    5. 저장을 클릭합니다.
    6. 여러 네트워크 인터페이스를 사용하는 경우 단일 네트워크 또는 사용자 지정(Multus) 을 사용하는 경우 Default(SDN) 를 선택합니다.

      1. 드롭다운에서 공용 네트워크 인터페이스를 선택합니다.
      2. 드롭다운에서 Cluster Network Interface를 선택합니다. 알림: 추가 네트워크 인터페이스를 하나만 사용하는 경우 단일 NetworkAttachementDefinition, 즉 공용 네트워크 인터페이스인 ocs-public-cluster 를 선택하고 Cluster Network Interface를 비워 둡니다.
    7. 다음을 클릭합니다.
  7. 검토 및 생성 페이지에서 모든 세부 정보가 올바른지 확인합니다.

    • 구성 설정을 수정하려면 뒤로 이동하여 이전 구성 페이지로 돌아갑니다.
  8. Create StorageSystem 을 클릭합니다.

검증 단계

Pod 상태 확인
  1. OpenShift 웹 콘솔의 왼쪽 창에서 워크로드포드 를 클릭합니다.
  2. 프로젝트 드롭다운 목록에서 openshift-storage 를 선택합니다.

    참고

    Show default projects (기본 프로젝트 표시) 옵션이 비활성화된 경우 토글 버튼을 사용하여 모든 기본 프로젝트를 나열합니다.

    표 4.1. OpenShift Data Foundation 구성 요소에 해당하는 Pod

    구성 요소해당 Pod

    OpenShift Data Foundation Operator

    • OCS-operator-* 작업자 노드의 Pod 1
    • OCS-metrics-exporter-* (작업자 노드에서 Pod)
    • ODF-operator-controller-manager-* (1개의 작업자 노드에서 Pod)
    • ODF-console-* (작업자 노드의 Pod)

    ibm-storage-odf-operator

    • IBM-storage-odf-operator-* (2개의 작업자 노드의 Pod)
    • ibm-odf-console-*

    ibm-flashsystem-storage

    ibm-flashsystem-storage-* (1개의 작업자 노드에서 Pod)

    rook-ceph Operator

    rook-ceph-operator-* (모든 작업자 노드에서 Pod)

    Multicloud Object Gateway

    • NooBaa-operator-* (작업자 노드에서 Pod)
    • NooBaa-core-* (작업자 노드에서 Pod)
    • NooBaa-db-pg-* (1개의 작업자 노드의 pod)
    • NooBaa-endpoint-* (모든 작업자 노드에서 Pod)

    CSI

    • ibm-block-csi-* (모든 작업자 노드의 Pod)
OpenShift Data Foundation 클러스터가 정상인지 확인
  1. 웹 콘솔에서 스토리지OpenShift Data Foundation 을 클릭합니다.
  2. 개요 탭의 상태 카드에서 Storage System 에 녹색 눈금이 있는지 확인합니다.
  3. 세부 정보 카드에서 클러스터 정보가 표시되는지 확인합니다.

블록 및 파일 대시보드를 사용하는 OpenShift Data Foundation 클러스터의 상태에 대한 자세한 내용은 Monitoring OpenShift Data Foundation 을 참조하십시오.

Multicloud Object Gateway가 정상인지 확인
  1. 웹 콘솔에서 스토리지OpenShift Data Foundation 을 클릭합니다.
  2. 개요 탭의 상태 카드에서 스토리지 시스템을 클릭한 다음 팝업에서 스토리지 시스템 링크를 클릭합니다.
  3. Object 탭의 상태 카드에서 Object ServiceData Resiliency 모두 녹색 눈금이 있는지 확인합니다.
  4. 세부 정보 카드에 MCG 정보가 표시되는지 확인합니다.

오브젝트 대시보드를 사용하는 OpenShift Data Foundation 클러스터의 상태에 대한 자세한 내용은 Monitoring OpenShift Data Foundation 을 참조하십시오.

IBM FlashSystem이 연결되고 스토리지 클러스터가 준비되었는지 확인
  • 다음 명령을 실행하여 OpenShift Data Foundation 클러스터가 외부 IBM FlashSystem에 연결되어 있는지 확인합니다.
$ oc get flashsystemclusters.odf.ibm.com
NAME                     AGE   PHASE   CREATED AT
ibm-flashsystemcluster   35s           2021-09-23T07:44:52Z
스토리지의 스토리지 시스템 확인
  • 다음 명령을 실행하여 IBM FlashSystem 스토리지 클러스터의 스토리지 시스템을 확인합니다.
$ oc get storagesystems.odf.openshift.io
NAME                                   STORAGE-SYSTEM-KIND                       STORAGE-SYSTEM-NAME
ibm-flashsystemcluster-storagesystem   flashsystemcluster.odf.ibm.com/v1alpha1   ibm-flashsystemcluster
ocs-storagecluster-storagesystem       storagecluster.ocs.openshift.io/v1        ocs-storagecluster
IBM Operator 서브스크립션 확인
  • 다음 명령을 실행하여 서브스크립션을 확인합니다.
$ oc get subscriptions.operators.coreos.com
NAME                                                                      PACKAGE                    SOURCE                CHANNEL
ibm-block-csi-operator-stable-certified-operators-openshift-marketplace   ibm-block-csi-operator     certified-operators   stable
ibm-storage-odf-operator                                                  ibm-storage-odf-operator   odf-catalogsource     stable-v1
noobaa-operator-alpha-odf-catalogsource-openshift-storage                 noobaa-operator            odf-catalogsource     alpha
ocs-operator-alpha-odf-catalogsource-openshift-storage                    ocs-operator               odf-catalogsource     alpha
odf-operator                                                              odf-operator               odf-catalogsource     alpha
CSV 확인
  • 다음 명령을 실행하여 CSV가 성공했는지 확인합니다.
$ oc get csv
NAME                              DISPLAY                                     VERSION   REPLACES                        PHASE
ibm-block-csi-operator.v1.6.0     Operator for IBM block storage CSI driver   1.6.0     ibm-block-csi-operator.v1.5.0   Succeeded
ibm-storage-odf-operator.v0.2.1   IBM Storage ODF operator                    0.2.1                                     Installing
noobaa-operator.v5.9.0            NooBaa Operator                             5.9.0                                     Succeeded
ocs-operator.v4.9.0               OpenShift Container Storage                 4.9.0                                     Succeeded
odf-operator.v4.9.0               OpenShift Data Foundation                   4.9.0                                     Succeeded
IBM Operator 및 CSI Pod 확인
  • 다음 명령을 실행하여 IBM Operator 및 CSI Pod를 확인합니다.
$ oc get pods
NAME                                                              READY   STATUS              RESTARTS   AGE
5cb2b16ec2b11bf63dbe691d44a63535dc026bb5315d5075dc6c398b3c58l94   0/1     Completed           0          10m
7c806f6568f85cf10d72508261a2535c220429b54dbcf87349b9b4b9838fctg   0/1     Completed           0          8m47s
c4b05566c04876677a22d39fc9c02512401d0962109610e85c8fb900d3jd7k2   0/1     Completed           0          10m
c5d1376974666727b02bf25b3a4828241612186744ef417a668b4bc1759rzts   0/1     Completed           0          10m
ibm-block-csi-operator-7b656d6cc8-bqnwp                           1/1     Running             0          8m3s
ibm-odf-console-97cb7c84c-r52dq                                   0/1     ContainerCreating   0          8m4s
ibm-storage-odf-operator-57b8bc47df-mgkc7                         1/2     ImagePullBackOff    0          94s
noobaa-operator-7698579d56-x2zqs                                  1/1     Running             0          9m37s
ocs-metrics-exporter-94b57d764-zq2g2                              1/1     Running             0          9m32s
ocs-operator-5d96d778f6-vxlq5                                     1/1     Running             0          9m33s
odf-catalogsource-j7q72                                           1/1     Running             0          10m
odf-console-8987868cd-m7v29                                       1/1     Running             0          9m35s
odf-operator-controller-manager-5dbf785564-rwsgq                  2/2     Running             0          9m35s
rook-ceph-operator-68b4b976d8-dlc6w                               1/1     Running             0          9m32s

5장. 외부 스토리지 시스템에서 OpenShift Data Foundation 설치 제거

이 섹션의 단계를 사용하여 OpenShift Data Foundation을 설치 제거합니다. OpenShift Data Foundation을 설치 제거해도 외부 클러스터에서 RBD 풀이 제거되지 않거나 외부 Red Hat Ceph Storage 클러스터를 설치 제거합니다.

주석 제거

스토리지 클러스터의 주석은 제거 프로세스의 동작을 변경하는 데 사용됩니다. 제거 동작을 정의하기 위해 스토리지 클러스터에 다음 두 개의 주석이 도입되었습니다.

  • uninstall.ocs.openshift.io/cleanup-policy: delete
  • uninstall.ocs.openshift.io/mode: normal
참고

uninstall.ocs.openshift.io/cleanup-policy 는 외부 모드에 적용되지 않습니다.

아래 표는 이러한 주석과 함께 사용할 수 있는 다양한 값에 대한 정보를 제공합니다.

표 5.1. uninstall.ocs.openshift.io 제거 주석 설명

주석기본값동작

cleanup-policy

delete

있음

rook은 물리적 드라이브와 DataDirHostPath를 정리합니다.

cleanup-policy

유지

없음

rook은 물리적 드라이브와 DataDirHostPath를 정리 하지 않습니다.

mode

정상

있음

Rook 및 NooBaa는 PVC와 OBC가 관리자/사용자가 제거될 때까지 제거 프로세스를 일시 중지합니다.

mode

강제

없음

rook 및 NooBaa는 Rook 및 NooBaa를 사용하여 프로비저닝된 PVC/OBC가 각각 존재하는 경우에도 제거 작업을 진행합니다.

다음 명령을 사용하여 주석의 값을 편집하여 제거 모드를 변경할 수 있습니다.

$ oc annotate storagecluster ocs-external-storagecluster -n openshift-storage uninstall.ocs.openshift.io/mode="forced" --overwrite
storagecluster.ocs.openshift.io/ocs-external-storagecluster annotated

사전 요구 사항

  • OpenShift Data Foundation 클러스터가 정상 상태인지 확인합니다. 리소스 또는 노드가 부족하여 일부 Pod가 종료되지 않으면 설치 제거 프로세스가 실패할 수 있습니다. 클러스터가 비정상 상태인 경우 OpenShift Data Foundation을 제거하기 전에 Red Hat 고객 지원에 문의하십시오.
  • 애플리케이션이 OpenShift Data Foundation에서 제공하는 스토리지 클래스를 사용하여 애플리케이션이 PVC(영구 볼륨 클레임) 또는 오브젝트 버킷 클레임(OBC)을 사용하지 않는지 확인합니다.

절차

  1. OpenShift Data Foundation을 사용하는 볼륨 스냅샷을 삭제합니다.

    1. 모든 네임스페이스의 볼륨 스냅샷 나열

      $ oc get volumesnapshot --all-namespaces
    2. 이전 명령의 출력에서 OpenShift Data Foundation을 사용하는 볼륨 스냅샷을 식별하고 삭제합니다.

      $ oc delete volumesnapshot <VOLUME-SNAPSHOT-NAME> -n <NAMESPACE>
  2. OpenShift Data Foundation을 사용하는 PVC 및 OBC를 삭제합니다.

    기본 제거 모드(graceful)에서 제거 프로그램은 OpenShift Data Foundation을 사용하는 모든 PVC 및 OBC가 삭제될 때까지 기다립니다.

    PVC를 미리 삭제하지 않고 Storage Cluster를 삭제하려면 제거 모드 주석을 "forced"로 설정하고 이 단계를 건너뛸 수 있습니다. 이렇게 하면 시스템의 PVC 및 OBC가 생성됩니다.

    1. OpenShift Data Foundation을 사용하여 OpenShift Container Platform 모니터링 스택 PVC를 삭제합니다.

      OpenShift Data Foundation에서 모니터링 스택 제거를참조하십시오.

    2. OpenShift Data Foundation을 사용하여 OpenShift Container Platform 레지스트리 PVC를 삭제합니다.

      OpenShift Data Foundation에서 OpenShift Container Platform 레지스트리 제거

    3. OpenShift Data Foundation을 사용하여 OpenShift Container Platform 로깅 PVC를 삭제합니다.

      OpenShift Data Foundation에서 클러스터 로깅 Operator 제거

    4. OpenShift Data Foundation을 사용하여 프로비저닝된 다른 PVC 및 OBC를 삭제합니다.

      • 아래는 OpenShift Data Foundation을 사용하여 프로비저닝된 PVC 및 OBC를 식별하는 샘플 스크립트입니다. 이 스크립트는 OpenShift Data Foundation에서 내부적으로 사용하는 PVC 및 OBC를 무시합니다.

        #!/bin/bash
        
        RBD_PROVISIONER="openshift-storage.rbd.csi.ceph.com"
        CEPHFS_PROVISIONER="openshift-storage.cephfs.csi.ceph.com"
        NOOBAA_PROVISIONER="openshift-storage.noobaa.io/obc"
        RGW_PROVISIONER="openshift-storage.ceph.rook.io/bucket"
        
        NOOBAA_DB_PVC="noobaa-db"
        NOOBAA_BACKINGSTORE_PVC="noobaa-default-backing-store-noobaa-pvc"
        
        # Find all the OCS StorageClasses
        OCS_STORAGECLASSES=$(oc get storageclasses | grep -e "$RBD_PROVISIONER" -e "$CEPHFS_PROVISIONER" -e "$NOOBAA_PROVISIONER" -e "$RGW_PROVISIONER" | awk '{print $1}')
        
        # List PVCs in each of the StorageClasses
        for SC in $OCS_STORAGECLASSES
        do
                echo "======================================================================"
                echo "$SC StorageClass PVCs and OBCs"
                echo "======================================================================"
                oc get pvc  --all-namespaces --no-headers 2>/dev/null | grep $SC | grep -v -e "$NOOBAA_DB_PVC" -e "$NOOBAA_BACKINGSTORE_PVC"
                oc get obc  --all-namespaces --no-headers 2>/dev/null | grep $SC
                echo
        done
      • OBC를 삭제합니다.

        $ oc delete obc <obc name> -n <project name>
      • PVC를 삭제합니다.

        $ oc delete pvc <pvc name> -n <project-name>

        클러스터에서 생성된 사용자 정의 백업 저장소, 버킷 클래스 등을 제거했는지 확인합니다.

  3. Storage Cluster 오브젝트를 삭제하고 관련 리소스가 제거될 때까지 기다립니다.

    $ oc delete -n openshift-storage storagesystem --all --wait=true
  4. 네임스페이스를 삭제하고 삭제가 완료될 때까지 기다립니다. openshift-storage 가 활성 프로젝트인 경우 다른 프로젝트로 전환해야 합니다.

    예를 들면 다음과 같습니다.

    $ oc project default
    $ oc delete project openshift-storage --wait=true --timeout=5m

    다음 명령에서 NotFound 오류를 반환하는 경우 프로젝트가 삭제됩니다.

    $ oc get project openshift-storage
    참고

    OpenShift Data Foundation 설치 제거 중 네임스페이스가 완전히 삭제되지 않고 상태가 종료 인 경우 Uninstall 중 남은 리소스를 삭제하고 나머지 리소스를 삭제하여 네임스페이스가 종료되지 않는 오브젝트를 식별합니다.

  5. OpenShift Data Foundation을 사용하여 프로비저닝된 모든 PV가 삭제되었는지 확인합니다. Released 상태에 PV가 남아 있으면 삭제합니다.

    $ oc get pv
    $ oc delete pv <pv name>
  6. CustomResourceDefinitions 를 제거합니다.

    $ oc delete crd backingstores.noobaa.io bucketclasses.noobaa.io cephblockpools.ceph.rook.io cephclusters.ceph.rook.io cephfilesystems.ceph.rook.io cephnfses.ceph.rook.io cephobjectstores.ceph.rook.io cephobjectstoreusers.ceph.rook.io noobaas.noobaa.io ocsinitializations.ocs.openshift.io storageclusters.ocs.openshift.io cephclients.ceph.rook.io cephobjectrealms.ceph.rook.io cephobjectzonegroups.ceph.rook.io cephobjectzones.ceph.rook.io cephrbdmirrors.ceph.rook.io storagesystems.odf.openshift.io --wait=true --timeout=5m
  7. OpenShift Data Foundation이 완전히 제거되도록 하려면 다음을 수행합니다.

    1. OpenShift Container Platform 웹 콘솔에서 스토리지를 클릭합니다.
    2. OpenShift Data Foundation 이 더 이상 Storage에 표시되지 않는지 확인합니다.

5.1. OpenShift Data Foundation에서 모니터링 스택 제거

이 섹션을 사용하여 OpenShift Data Foundation에서 모니터링 스택을 정리합니다.

모니터링 스택 구성의 일부로 생성된 PVC는 openshift-monitoring 네임스페이스에 있습니다.

사전 요구 사항

  • OpenShift Container Platform 모니터링 스택을 사용하도록 PVC가 구성됩니다.

    자세한 내용은 모니터링 스택 구성을 참조하십시오.

절차

  1. openshift-monitoring 네임스페이스에서 현재 실행 중인 Pod 및 PVC를 나열합니다.

    $ oc get pod,pvc -n openshift-monitoring
    NAME                           READY   STATUS    RESTARTS   AGE
    pod/alertmanager-main-0         3/3     Running   0          8d
    pod/alertmanager-main-1         3/3     Running   0          8d
    pod/alertmanager-main-2         3/3     Running   0          8d
    pod/cluster-monitoring-
    operator-84457656d-pkrxm        1/1     Running   0          8d
    pod/grafana-79ccf6689f-2ll28    2/2     Running   0          8d
    pod/kube-state-metrics-
    7d86fb966-rvd9w                 3/3     Running   0          8d
    pod/node-exporter-25894         2/2     Running   0          8d
    pod/node-exporter-4dsd7         2/2     Running   0          8d
    pod/node-exporter-6p4zc         2/2     Running   0          8d
    pod/node-exporter-jbjvg         2/2     Running   0          8d
    pod/node-exporter-jj4t5         2/2     Running   0          6d18h
    pod/node-exporter-k856s         2/2     Running   0          6d18h
    pod/node-exporter-rf8gn         2/2     Running   0          8d
    pod/node-exporter-rmb5m         2/2     Running   0          6d18h
    pod/node-exporter-zj7kx         2/2     Running   0          8d
    pod/openshift-state-metrics-
    59dbd4f654-4clng                3/3     Running   0          8d
    pod/prometheus-adapter-
    5df5865596-k8dzn                1/1     Running   0          7d23h
    pod/prometheus-adapter-
    5df5865596-n2gj9                1/1     Running   0          7d23h
    pod/prometheus-k8s-0            6/6     Running   1          8d
    pod/prometheus-k8s-1            6/6     Running   1          8d
    pod/prometheus-operator-
    55cfb858c9-c4zd9                1/1     Running   0          6d21h
    pod/telemeter-client-
    78fc8fc97d-2rgfp                3/3     Running   0          8d
    
    NAME                                                              STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS                  AGE
    persistentvolumeclaim/my-alertmanager-claim-alertmanager-main-0   Bound    pvc-0d519c4f-15a5-11ea-baa0-026d231574aa   40Gi       RWO            ocs-external-storagecluster-ceph-rbd   8d
    persistentvolumeclaim/my-alertmanager-claim-alertmanager-main-1   Bound    pvc-0d5a9825-15a5-11ea-baa0-026d231574aa   40Gi       RWO            ocs-external-storagecluster-ceph-rbd   8d
    persistentvolumeclaim/my-alertmanager-claim-alertmanager-main-2   Bound    pvc-0d6413dc-15a5-11ea-baa0-026d231574aa   40Gi       RWO            ocs-external-storagecluster-ceph-rbd   8d
    persistentvolumeclaim/my-prometheus-claim-prometheus-k8s-0        Bound    pvc-0b7c19b0-15a5-11ea-baa0-026d231574aa   40Gi       RWO            ocs-external-storagecluster-ceph-rbd   8d
    persistentvolumeclaim/my-prometheus-claim-prometheus-k8s-1        Bound    pvc-0b8aed3f-15a5-11ea-baa0-026d231574aa   40Gi       RWO            ocs-external-storagecluster-ceph-rbd   8d
  2. 모니터링 구성 맵을 편집합니다.

    $ oc -n openshift-monitoring edit configmap cluster-monitoring-config

    다음 예제에 표시된 대로 OpenShift Data Foundation 스토리지 클래스를 참조하는 config 섹션을 제거하고 저장합니다.

    편집 전

    .
    .
    .
    apiVersion: v1
    data:
      config.yaml: |
        alertmanagerMain:
          volumeClaimTemplate:
            metadata:
              name: my-alertmanager-claim
            spec:
              resources:
                requests:
                  storage: 40Gi
              storageClassName: ocs-external-storagecluster-ceph-rbd
        prometheusK8s:
          volumeClaimTemplate:
            metadata:
              name: my-prometheus-claim
            spec:
              resources:
                requests:
                  storage: 40Gi
              storageClassName: ocs-external-storagecluster-ceph-rbd
    kind: ConfigMap
    metadata:
      creationTimestamp: "2019-12-02T07:47:29Z"
      name: cluster-monitoring-config
      namespace: openshift-monitoring
      resourceVersion: "22110"
      selfLink: /api/v1/namespaces/openshift-monitoring/configmaps/cluster-monitoring-config
      uid: fd6d988b-14d7-11ea-84ff-066035b9efa8
    
    
    .
    .
    .

    편집 후

    .
    .
    .
    apiVersion: v1
    data:
      config.yaml: |
    kind: ConfigMap
    metadata:
      creationTimestamp: "2019-11-21T13:07:05Z"
      name: cluster-monitoring-config
      namespace: openshift-monitoring
      resourceVersion: "404352"
      selfLink: /api/v1/namespaces/openshift-monitoring/configmaps/cluster-monitoring-config
      uid: d12c796a-0c5f-11ea-9832-063cd735b81c
    .
    .
    .

    이 예에서는 alertmanagerMainprometheusK8s 모니터링 구성 요소가 OpenShift Data Foundation PVC를 사용하고 있습니다.

  3. PVC를 사용하는 Pod를 나열합니다.

    이 예에서 PVC를 사용하는 alertmanagerMainprometheusK8s Pod는 Terminating 상태입니다. 이러한 Pod가 더 이상 OpenShift Data Foundation PVC를 사용하지 않으면 PVC를 삭제할 수 있습니다.

    $ oc get pod,pvc -n openshift-monitoring
    NAME                                               READY   STATUS      RESTARTS AGE
    pod/alertmanager-main-0                            3/3     Terminating   0      10h
    pod/alertmanager-main-1                            3/3     Terminating   0      10h
    pod/alertmanager-main-2                            3/3     Terminating   0      10h
    pod/cluster-monitoring-operator-84cd9df668-zhjfn   1/1     Running       0      18h
    pod/grafana-5db6fd97f8-pmtbf                       2/2     Running       0      10h
    pod/kube-state-metrics-895899678-z2r9q             3/3     Running       0      10h
    pod/node-exporter-4njxv                            2/2     Running       0      18h
    pod/node-exporter-b8ckz                            2/2     Running       0      11h
    pod/node-exporter-c2vp5                            2/2     Running       0      18h
    pod/node-exporter-cq65n                            2/2     Running       0      18h
    pod/node-exporter-f5sm7                            2/2     Running       0      11h
    pod/node-exporter-f852c                            2/2     Running       0      18h
    pod/node-exporter-l9zn7                            2/2     Running       0      11h
    pod/node-exporter-ngbs8                            2/2     Running       0      18h
    pod/node-exporter-rv4v9                            2/2     Running       0      18h
    pod/openshift-state-metrics-77d5f699d8-69q5x       3/3     Running       0      10h
    pod/prometheus-adapter-765465b56-4tbxx             1/1     Running       0      10h
    pod/prometheus-adapter-765465b56-s2qg2             1/1     Running       0      10h
    pod/prometheus-k8s-0                               6/6     Terminating   1      9m47s
    pod/prometheus-k8s-1                               6/6     Terminating   1      9m47s
    pod/prometheus-operator-cbfd89f9-ldnwc             1/1     Running       0      43m
    pod/telemeter-client-7b5ddb4489-2xfpz              3/3     Running       0      10h
    
    NAME                                                      STATUS  VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS                  AGE
    persistentvolumeclaim/ocs-alertmanager-claim-alertmanager-main-0   Bound    pvc-2eb79797-1fed-11ea-93e1-0a88476a6a64   40Gi       RWO            ocs-external-storagecluster-ceph-rbd   19h
    persistentvolumeclaim/ocs-alertmanager-claim-alertmanager-main-1   Bound    pvc-2ebeee54-1fed-11ea-93e1-0a88476a6a64   40Gi       RWO            ocs-external-storagecluster-ceph-rbd   19h
    persistentvolumeclaim/ocs-alertmanager-claim-alertmanager-main-2   Bound    pvc-2ec6a9cf-1fed-11ea-93e1-0a88476a6a64   40Gi       RWO            ocs-external-storagecluster-ceph-rbd   19h
    persistentvolumeclaim/ocs-prometheus-claim-prometheus-k8s-0        Bound    pvc-3162a80c-1fed-11ea-93e1-0a88476a6a64   40Gi       RWO            ocs-external-storagecluster-ceph-rbd   19h
    persistentvolumeclaim/ocs-prometheus-claim-prometheus-k8s-1        Bound    pvc-316e99e2-1fed-11ea-93e1-0a88476a6a64   40Gi       RWO            ocs-external-storagecluster-ceph-rbd   19h
  4. 관련 PVC를 삭제합니다. 스토리지 클래스를 사용하는 모든 PVC를 삭제해야 합니다.

    $ oc delete -n openshift-monitoring pvc <pvc-name> --wait=true --timeout=5m

5.2. OpenShift Data Foundation에서 OpenShift Container Platform 레지스트리 제거

이 섹션을 사용하여 OpenShift Data Foundation에서 OpenShift Container Platform 레지스트리를 정리합니다. 대체 스토리지를 구성하려면 이미지 레지스트리를 참조하십시오.

OpenShift Container Platform 레지스트리 구성의 일부로 생성된 PVC는 openshift-image-registry 네임스페이스에 있습니다.

사전 요구 사항

  • OpenShift Data Foundation PVC를 사용하도록 이미지 레지스트리가 구성되어 있어야 합니다.

절차

  1. configs.imageregistry.operator.openshift.io 오브젝트를 편집하고 storage 섹션에서 콘텐츠를 제거합니다.

    $ oc edit configs.imageregistry.operator.openshift.io

    편집 전

    .
    .
    .
    storage:
      pvc:
        claim: registry-cephfs-rwx-pvc
    .
    .
    .

    편집 후

    .
    .
    .
    storage:
      emptyDir: {}
    .
    .
    .

    이 예에서 PVC는 이제 삭제할 수 있는 registry-cephfs-rwx-pvc 라고 합니다.

  2. PVC를 삭제합니다.

    $ oc delete pvc <pvc-name> -n openshift-image-registry --wait=true --timeout=5m

5.3. OpenShift Data Foundation에서 클러스터 로깅 Operator 제거

이 섹션을 사용하여 OpenShift Data Foundation에서 클러스터 로깅 Operator를 정리합니다.

클러스터 로깅 Operator 구성의 일부로 생성된 PVC(영구 볼륨 클레임)는 openshift-logging 네임스페이스에 있습니다.

사전 요구 사항

  • OpenShift Data Foundation PVC를 사용하도록 클러스터 로깅 인스턴스가 구성되어 있어야 합니다.

절차

  1. 네임스페이스에서 ClusterLogging 인스턴스를 제거합니다.

    $ oc delete clusterlogging instance -n openshift-logging --wait=true --timeout=5m

    openshift-logging 네임스페이스의 PVC는 이제 삭제할 수 있습니다.

  2. PVC를 삭제합니다.

    $ oc delete pvc <pvc-name> -n openshift-logging --wait=true --timeout=5m
    <pvc-name>
    PVC의 이름입니다.

5.4. 외부 IBM FlashSystem 보안 제거

설치를 제거하는 동안 OpenShift Data Foundation에서 FlashSystem 시크릿을 정리해야 합니다. 이 시크릿은 외부 IBM FlashSystem Storage를 구성할 때 생성됩니다. 외부 IBM FlashSystem 스토리지용 OpenShift Data Foundation 클러스터 생성 을 참조하십시오.

절차

  • 다음 명령을 사용하여 IBM FlashSystem 시크릿을 제거합니다.

    $ oc delete secret -n openshift-storage ibm-flashsystem-storage