베어 메탈 인프라를 사용하여 OpenShift Data Foundation 배포

Red Hat OpenShift Data Foundation 4.9

베어 메탈 인프라에서 로컬 스토리지를 사용하여 OpenShift Data Foundation 배포 방법

초록

베어 메탈 인프라에서 로컬 스토리지를 사용하도록 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. 버그 제출을 클릭합니다.

머리말

Red Hat OpenShift Data Foundation 4.9는 프록시 환경에 대한 기본 지원과 함께 연결되거나 연결이 끊긴 환경의 기존 Red Hat OpenShift Container Platform (RHOCP) 베어 메탈 클러스터에 대한 배포를 지원합니다.

내부 및 외부 OpenShift Data Foundation 클러스터는 베어 메탈에서 모두 지원됩니다. 배포 요구 사항에 대한 자세한 내용은 배포 계획OpenShift Data Foundation 배포 준비를 참조하십시오.

OpenShift Data Foundation을 배포하려면 요구 사항에 따라 적절한 배포 프로세스를 따릅니다.

1장. OpenShift Data Foundation 배포 준비

로컬 스토리지 장치를 사용하여 OpenShift Container Platform에 OpenShift Data Foundation을 배포할 때 내부 클러스터 리소스를 생성할 수 있습니다. 이 접근 방식은 내부적으로 기본 서비스를 프로비저닝합니다. 그런 다음 모든 애플리케이션에서 추가 스토리지 클래스에 액세스할 수 있습니다.

로컬 스토리지를 사용하여 Red Hat OpenShift Data Foundation 배포를 시작하기 전에 리소스 요구 사항을 충족하는지 확인하십시오. 로컬 스토리지 장치를 사용하여 OpenShift Data Foundation 설치를 위한 요구사항 을 참조하십시오.

위 내용에 대해 설명한 후 지정된 순서로 다음 단계를 수행합니다.

1.1. 로컬 스토리지 장치를 사용하여 OpenShift Data Foundation을 설치하기 위한 요구사항

노드 요구 사항

클러스터는 각각 로컬에 연결된 3개 이상의 OpenShift Container Platform 작업자 노드로 구성되어야 합니다.

  • 선택한 세 개의 각 노드에는 OpenShift Data Foundation에서 사용할 수 있는 하나 이상의 원시 블록 장치를 사용할 수 있어야 합니다.
  • 사용하는 장치는 비어 있어야 합니다. 디스크에 물리 볼륨(PV), 볼륨 그룹(VG) 또는 논리 볼륨(LV)이 디스크에 남아 있지 않아야 합니다.

자세한 내용은 계획 가이드의 리소스 요구 사항 섹션을 참조하십시오.

Regional-DR 요구 사항 [개발자 프리뷰]

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

  • 유효한 Red Hat OpenShift Data Foundation 고급 인타이틀먼트
  • 유효한 Red Hat Advanced Cluster Management for Kubernetes 서브스크립션

OpenShift Data Foundation에 대한 서브스크립션이 작동하는 방법을 알아보려면 OpenShift Data Foundation 서브스크립션에 대한 지식 베이스 문서 를 참조하십시오.

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

Arbiter 확장 클러스터 요구 사항 [기술 프리뷰]

이 경우 단일 클러스터가 두 개의 영역으로 확장되고 세 번째 영역이 중재자의 위치로 확장됩니다. 이 기능은 현재 OpenShift Container Platform 온-프레미스에 배포하기 위한 기술 프리뷰 기능입니다.

자세한 요구 사항 및 지침은 Metro-DR 확장 클러스터용 OpenShift Data Foundation 구성을 참조하십시오.

참고

유연한 확장 및 중재는 스케일링 논리가 충돌하므로 동시에 활성화할 수 없습니다. 유연한 확장을 사용하면 OpenShift Data Foundation 클러스터에 한 번에 하나의 노드를 추가할 수 있습니다. Arbiter 클러스터에서는 두 개의 데이터 영역 각각에 하나 이상의 노드를 추가해야 합니다.

콤팩트 모드 요구 사항

OpenShift Data Foundation은 세 개의 강력한 마스터 노드에서 모든 워크로드가 실행되는 3-노드 OpenShift 컴팩트 베어 메탈 클러스터에 설치할 수 있습니다. 작업자 또는 스토리지 노드가 없습니다.

OpenShift Container Platform을 컴팩트 모드로 구성하려면 3-노드 클러스터 구성에지 배포용 3 -노드 아키텍처 제공을 참조하십시오.

최소 노드 시작 요구 사항 [기술 프리뷰]

OpenShift Data Foundation 클러스터는 표준 배포 리소스 요구 사항이 충족되지 않은 경우 최소 구성으로 배포됩니다.

자세한 내용은 계획 가이드의 리소스 요구 사항 섹션을 참조하십시오.

1.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

1.3. Vault에서 키 값 백엔드 경로 및 정책 활성화

사전 요구 사항

  • Vault에 대한 관리자 액세스 권한이 있어야 합니다.
  • 나중에 변경할 수 없기 때문에 이름 지정 규칙을 따르는 백엔드 path로 고유한 경로 이름을 신중하게 선택합니다.

절차

  1. Vault에서 KV(Key/Value) 백엔드 경로를 활성화합니다.

    Vault KV 시크릿 엔진 API의 경우 버전 1:

    $ vault secrets enable -path=odf kv

    Vault KV 시크릿 엔진 API의 경우 버전 2:

    $ vault secrets enable -path=odf kv-v2
  2. 다음 명령을 사용하여 시크릿에서 쓰기 또는 삭제 작업을 수행하도록 사용자를 제한하는 정책을 생성합니다.

    echo '
    path "odf/*" {
      capabilities = ["create", "read", "update", "delete", "list"]
    }
    path "sys/mounts" {
    capabilities = ["read"]
    }'| vault policy write odf -
  3. 위 정책과 일치하는 토큰을 생성합니다.

    $ vault token create -policy=odf -format json

2장. 로컬 스토리지 장치를 사용하여 OpenShift Data Foundation 배포

OpenShift Container Platform이 이미 설치된 베어 메탈 인프라에 OpenShift Data Foundation을 배포할 수 있습니다.

또한 OpenShift Data Foundation을 사용하여 MCG(Multicloud Object Gateway) 구성 요소만 배포할 수 있습니다. 자세한 내용은 Deploy standalone Multicloud Object Gateway를 참조하십시오.

OpenShift Data Foundation을 배포하려면 다음 단계를 수행합니다.

2.1. 로컬 스토리지 Operator 설치

로컬 스토리지 장치에서 Red Hat OpenShift Data Foundation 클러스터를 생성하기 전에 Operator Hub에서 Local Storage Operator를 설치합니다.

절차

  1. OpenShift 웹 콘솔에 로그인합니다.
  2. Operators → OperatorHub를 클릭합니다.
  3. 키워드별 필터링 상자에 로컬 스토리지를 입력하여 Operator 목록에서 Local Storage Operator를 찾은 후 클릭합니다.
  4. Operator 설치 페이지에서 다음 옵션을 설정합니다.

    1. 채널을 4.9 또는 stable로 업데이트합니다.
    2. 설치 모드에서 클러스터의 특정 네임스페이스를 선택합니다.
    3. 설치된 네임스페이스를 Operator 권장 네임스페이스 openshift-local-storage를 선택합니다.
    4. 승인을 자동으로 업데이트합니다.
  5. 설치를 클릭합니다.

검증 단계

  • Local Storage Operator에 성공적인 설치를 나타내는 녹색 눈금이 표시되는지 확인합니다.

2.2. 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 클러스터에 액세스할 수 있습니다.
  • Red Hat OpenShift Container Platform 클러스터에 3개 이상의 작업자 노드가 있어야 합니다.
  • 추가 리소스 요구 사항은 배포 계획 가이드를 참조하십시오.
중요
  • OpenShift Data Foundation의 클러스터 수준 기본 노드 선택기를 재정의해야 하는 경우 명령줄 인터페이스에서 다음 명령을 사용하여 openshift-storage 네임스페이스에 대한 빈 노드 선택기를 지정할 수 있습니다(이 경우 openshift-storage 네임스페이스 생성).

    $ oc annotate namespace openshift-storage openshift.io/node-selector=
  • 노드에 Red Hat OpenShift Data Foundation 리소스만 예약되도록 infra 테인트를 구성합니다. 이를 통해 서브스크립션 비용을 절감할 수 있습니다. 자세한 내용은 스토리지 리소스 관리 및 할당 가이드의 Red Hat OpenShift Data Foundation 전용 작업자 노드 사용 방법을 참조하십시오.

절차

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

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

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

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

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

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

검증 단계

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

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

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

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

2.3. Multus 네트워크 생성 [기술 프리뷰]

OpenShift Container Platform은 Multus CNI 플러그인을 사용하여 CNI 플러그인 연결을 허용합니다. 클러스터 설치 중에 기본 Pod 네트워크를 구성할 수 있습니다. 기본 네트워크는 클러스터의 모든 일반 네트워크 트래픽을 처리합니다. 사용 가능한 CNI 플러그인을 기반으로 추가 네트워크를 정의하고 이러한 네트워크 중 하나 이상을 Pod에 연결할 수 있습니다. Pod에 추가 네트워크 인터페이스를 연결하려면 인터페이스 연결 방법을 정의하는 구성을 생성해야 합니다. NetworkAttachmentDefinition CR(사용자 정의 리소스)을 사용하여 각 인터페이스를 지정합니다. 각 NetworkAttachmentDefinition 내부의 CNI 구성은 해당 인터페이스의 생성 방법을 정의합니다.

OpenShift Data Foundation은 macvlan라는 CNI 플러그인을 사용합니다. macvlan 기반 추가 네트워크를 생성하면 호스트의 Pod가 물리적 네트워크 인터페이스를 사용하여 해당 호스트의 다른 호스트 및 Pod와 통신할 수 있습니다. macvlan 기반 추가 네트워크에 연결된 각 pod에는 고유 한 MAC 주소가 제공됩니다.

중요

Multus 지원은 베어 메탈 및 VMWare 배포에서 지원 및 테스트된 기술 프리뷰 기능입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

2.3.1. 네트워크 연결 정의 생성

Multus를 사용하려면 올바른 네트워킹 구성이 이미 작동 중인 클러스터가 필요한 경우 권장 네트워크 구성 및 Multus 구성에 대한 요구 사항을 참조하십시오. 새로 생성된 NetworkAttachmentDefinition(NAD)은 스토리지 클러스터 설치 중에 선택할 수 있습니다. 이는 스토리지 클러스터 전에 생성해야 하는 이유입니다.

계획 가이드에 자세히 설명된 대로 생성한 Multus 네트워크는 OpenShift Data Foundation 트래픽에 대해 보유하고 있는 사용 가능한 네트워크 인터페이스 수에 따라 달라집니다. 모든 스토리지 트래픽을 두 인터페이스 중 하나(기본 OpenShift SDN에 사용되는 인터페이스 하나)로 분리하거나 스토리지 트래픽을 클라이언트 스토리지 트래픽(퍼블릭) 및 스토리지 복제 트래픽(프라이빗 또는 클러스터)으로 추가로 분리할 수 있습니다.

다음은 동일한 인터페이스에서 모든 스토리지 트래픽, 공용 및 클러스터에 대한 NetworkAttachmentDefinition 예입니다. 모든 예약 가능한 노드에 하나의 추가 인터페이스가 필요합니다(별도의 네트워크 인터페이스에서 OpenShift 기본 SDN).

apiVersion: "k8s.cni.cncf.io/v1"
kind: NetworkAttachmentDefinition
metadata:
  name: ocs-public-cluster
  namespace: openshift-storage
spec:
  config: '{
  	"cniVersion": "0.3.1",
  	"type": "macvlan",
  	"master": "ens2",
  	"mode": "bridge",
  	"ipam": {
    	    "type": "whereabouts",
    	    "range": "192.168.1.0/24"
  	}
  }'
참고

모든 네트워크 인터페이스 이름은 Multus 네트워크에 연결된 모든 노드에서 동일해야 합니다(즉, ocs-public-cluster의 경우 ens 2).

다음은 별도의 Multus 네트워크, 공용 네트워크, 클라이언트 스토리지 트래픽, 복제 트래픽 클러스터 상의 스토리지 트래픽에 대한 NetworkAttachmentDefinition의 예입니다. OSD pod를 호스팅하는 OpenShift 노드에 2개의 추가 인터페이스가 필요하고 다른 모든 스케줄링 가능한 노드에 1개의 추가 인터페이스가 필요합니다(별도의 네트워크 인터페이스에 OpenShift 기본 SDN).

apiVersion: "k8s.cni.cncf.io/v1"
kind: NetworkAttachmentDefinition
metadata:
  name: ocs-public
  namespace: openshift-storage
spec:
  config: '{
  	"cniVersion": "0.3.1",
  	"type": "macvlan",
  	"master": "ens2",
  	"mode": "bridge",
  	"ipam": {
    	    "type": "whereabouts",
    	    "range": "192.168.1.0/24"
  	}
  }'

NetworkAttachmentDefinition:

apiVersion: "k8s.cni.cncf.io/v1"
kind: NetworkAttachmentDefinition
metadata:
  name: ocs-cluster
  namespace: openshift-storage
spec:
  config: '{
  	"cniVersion": "0.3.1",
  	"type": "macvlan",
  	"master": "ens3",
  	"mode": "bridge",
  	"ipam": {
    	    "type": "whereabouts",
    	    "range": "192.168.2.0/24"
  	}
  }'
참고

모든 네트워크 인터페이스 이름은 Multus 네트워크에 연결된 모든 노드에서 동일해야 합니다(즉, ocs-public의 경우 ens2, ocs-cluster의 경우 ens3).

2.4. 베어 메탈에서 OpenShift Data Foundation 클러스터 생성

사전 요구 사항

절차

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

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

  2. OpenShift Data Foundation Operator를 클릭한 다음 스토리지 시스템 만들기를 클릭합니다.
  3. 백업 스토리지 페이지에서 다음을 수행합니다.

    1. 로컬 스토리지 장치 옵션을 사용하여 새 StorageClass 만들기 옵션을 선택합니다.
    2. 고급을 확장하고 배포 유형 옵션의 Full Deploymen를 선택합니다.
    3. 다음을 클릭합니다.

      중요

      아직 설치되지 않은 경우 Local Storage Operator를 설치하라는 메시지가 표시됩니다. 설치를 클릭하고 Local Storage Operator 설치에 설명된 절차를 따릅니다.

  4. 로컬 볼륨 세트 생성 페이지에서 다음 정보를 제공합니다.

    1. 로컬 볼륨 세트의 이름과 스토리지 클래스를 입력합니다.

      기본적으로 스토리지 클래스 이름에 로컬 볼륨 세트 이름이 표시됩니다. 이름을 변경할 수 있습니다.

    2. 다음 중 하나를 선택합니다.

      • 모든 노드의 디스크

        모든 노드에서 선택한 필터와 일치하는 사용 가능한 디스크를 사용합니다.

      • 선택한 노드의 디스크

        선택한 노드에서만 선택한 필터와 일치하는 사용 가능한 디스크를 사용합니다.

        중요
        • 3개 이상의 노드로 생성한 스토리지 클러스터가 세 개 이상의 가용성 영역의 최소 요구 사항보다 적은 경우에만 유연한 확장 기능을 사용할 수 있습니다.

          이 기능은 Red Hat OpenShift Data Foundation 버전 4.7 이상의 새 배포에서만 사용할 수 있습니다. 이전 버전에서 버전 4.7 이상으로 업그레이드된 스토리지 클러스터는 유연한 스케일링을 지원하지 않습니다. 자세한 내용은 릴리스 노트의 새로운 기능 섹션에서 OpenShift Data Foundation 클러스터의 유연한 스케일링을 참조하십시오.

        • 선택한 노드가 집계된 30 개의 CPU 및 72GiB RAM의 OpenShift Data Foundation 클러스터 요구 사항과 일치하지 않으면 최소 클러스터가 배포됩니다.

          최소 노드 시작 요구 사항은 계획 가이드의 리소스 요구 사항 섹션을 참조하십시오.

    3. 사용 가능한 디스크 유형 목록에서 SSD/NVMe을 선택합니다.
    4. 고급 섹션을 확장하고 다음 옵션을 설정합니다.

      볼륨 모드

      블록은 기본적으로 선택됩니다.

      장치 유형

      드롭다운 목록에서 하나 이상의 장치 유형을 선택합니다.

      디스크 크기

      장치에 대해 최소 크기 100GB와 포함되어야 하는 장치의 사용 가능한 최대 크기를 설정합니다.

      최대 디스크 제한

      이는 노드에서 생성할 수 있는 최대 PV 수를 나타냅니다. 이 필드가 비어 있으면 일치하는 노드에서 사용 가능한 모든 디스크에 PV가 생성됩니다.

    5. 다음을 클릭합니다.

      로컬 볼륨 세트 생성이 표시되는지 확인하는 팝업이 표시됩니다.

    6. 계속하려면 를 클릭합니다.
  5. 용량 및 노드 페이지에서 다음을 구성합니다.

    1. 사용 가능한 원시 용량 은 스토리지 클래스와 연결된 모든 디스크에 따라 용량 값으로 채워집니다. 이 작업을 수행하는 데 시간이 다소 걸립니다. 선택한 노드 목록에는 스토리지 클래스를 기반으로 하는 노드가 표시됩니다.
    2. 다음을 클릭합니다.
  6. 선택 사항: 보안 및 네트워크 페이지에서 요구 사항에 따라 다음을 구성합니다.

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

      • 클러스터 전체 암호화

        전체 클러스터(블록 및 파일)를 암호화합니다.

      • 스토리지 클래스 암호화

        암호화 활성화된 스토리지 클래스를 사용하여 암호화된 영구 볼륨(블록만 해당)을 생성합니다.

    3. 외부 키 관리 서비스에 연결을 선택합니다. 이는 클러스터 전체 암호화의 경우 선택 사항입니다.

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

        1. OpenShift Data Foundation 전용 및 고유한 백엔드 경로에 키 값 시크릿 경로를 입력합니다.
        2. 선택 사항: TLS 서버 이름Vault Enterprise Namespace 를 입력합니다.
        3. 각 PEM 인코딩 인증서 파일을 업로드하여 CA 인증서,클라이언트 인증서클라이언트 개인 키를 제공합니다.
        4. 저장을 클릭합니다.
    4. 다음 중 하나를 선택합니다.

      • 기본값 (SDN)

        단일 네트워크를 사용하는 경우

      • 사용자 정의 (Multus)

        여러 네트워크 인터페이스를 사용하는 경우

        1. 드롭다운에서 공용 네트워크 인터페이스를 선택합니다.
        2. 드롭다운에서 클러스터 네트워크 인터페이스를 선택합니다.

          참고

          하나의 추가 네트워크 인터페이스만 사용하는 경우 공용 네트워크 인터페이스에 대해 단일 NetworkAttachementDefinition (즉, ocs-public-cluster)를 선택하고 클러스터 네트워크 인터페이스를 비워 둡니다.

    5. 다음을 클릭합니다.
  7. 검토 및 생성 페이지에서 구성 세부 정보를 검토합니다.

    구성 설정을 수정하려면 뒤로 이동하여 이전 구성 페이지로 돌아갑니다.

  8. 스토리지 시스템 생성을 클릭합니다.

검증 단계

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

    1. OpenShift 웹 콘솔에서 설치된 OperatorOpenShift Data Foundation스토리지 시스템ocs-storagecluster-storagesystemResources 로 이동합니다.
    2. StorageClusterStatusReady 이고 옆에 녹색 눈금이 표시되어 있는지 확인합니다.
  • 스토리지 클러스터에서 유연한 확장이 활성화되어 있는지 확인하려면 다음 단계를 수행합니다(rbiter 모드의 경우 유연한 확장은 비활성화됨).

    1. OpenShift 웹 콘솔에서 설치된 OperatorOpenShift Data Foundation스토리지 시스템ocs-storagecluster-storagesystem리소스ocs-storagecluster 로 이동합니다.
    2. YAML 탭의 spec 섹션에서 flexibleScaling 키를 검색하고 status 섹션에서 failureDomain을 검색합니다. flexible scaling이 true이고 failureDomain 이 host로 설정되면 유연한 확장 기능이 활성화됩니다.

      spec:
      flexibleScaling: true
      […]
      status:
      failureDomain: host

추가 리소스

  • 초기 클러스터의 용량을 확장하려면 스토리지 확장 가이드를 참조하십시오.

2.5. OpenShift Data Foundation 배포 확인

OpenShift Data Foundation이 올바르게 배포되었는지 확인하려면 다음을 수행하십시오.

2.5.1. Pod 상태 확인

절차

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

    참고

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

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

  3. 실행완료 탭을 클릭하여 다음 Pod가 RunningCompleted 상태인지 확인합니다.

    표 2.1. OpenShift Data Foundation 클러스터에 해당하는 Pod

    구성 요소해당 Pod

    OpenShift Data Foundation Operator

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

    Rook-ceph Operator

    rook-ceph-operator-*

    (모든 작업자 노드에 1 Pod)

    Multicloud Object Gateway

    • NooBaa-operator-* (모든 작업자 노드에 1 Pod)
    • NooBaa-core-* (모든 스토리지 노드에 1 Pod)
    • NooBaa-db-pg-* (모든 스토리지 노드에 1 Pod)
    • NooBaa-endpoint-* (모든 스토리지 노드에 1 Pod)

    MON

    rook-ceph-mon-*

    (스토리지 노드에 분산된 3 Pod)

    MGR

    rook-ceph-mgr-*

    (모든 스토리지 노드에 1 Pod)

    MDS

    rook-ceph-mds-ocs-storagecluster-cephfilesystem-*

    (스토리지 노드에 분산된 2 Pod)

    RGW

    rook-ceph-rgw-ocs-storagecluster-cephobjectstore-* (모든 스토리지 노드에 1 Pod)

    CSI

    • cephfs

      • CSI-cephfsplugin-* (모든 작업자 노드에 1 Pod)
      • CSI-cephfsplugin-provisioner-* (작업자 노드에 분산된 2 Pod)
    • rbd

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

    rook-ceph-crashcollector

    rook-ceph-crashcollector-*

    (각 스토리지 노드에서 1 pod)

    OSD

    • rook-ceph-osd-* (각 장치의 1 Pod)
    • rook-ceph-osd-prepare-ocs-deviceset-* (각 장치의 1 Pod)

2.5.2. OpenShift Data Foundation 클러스터 상태 확인

절차

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

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

2.5.3. Multicloud Object Gateway의 상태 확인

절차

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

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

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

2.5.4. OpenShift Data Foundation 특정 스토리지 클래스가 있는지 확인

절차

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

    • ocs-storagecluster-ceph-rbd
    • ocs-storagecluster-cephfs
    • openshift-storage.noobaa.io
    • ocs-storagecluster-ceph-rgw

2.5.5. Multus 네트워킹 확인

Multus가 클러스터에서 작동하는지 확인하려면 Multus 네트워킹을 확인합니다.

절차

네트워크 구성 선택 사항에 따라 OpenShift Data Foundation Operator는 다음 중 하나를 수행합니다.

  • 공용 네트워크 인터페이스에 대해 단일 NetworkAttachmentDefinition(예: ocs-public-cluster)만 선택한 경우 애플리케이션 pod와 OpenShift Data Foundation 클러스터 간의 트래픽이 이 네트워크에서 수행됩니다. 또한 클러스터는 OSD 간 복제 및 트래픽 재조정에 이 네트워크를 사용하도록 자체 구성됩니다.
  • 스토리지 클러스터 설치 중에 공용 네트워크 인터페이스와 클러스터 네트워크 인터페이스에 대해 각각 NetworkAttachmentDefinitions(예: ocs-publicocs-cluster)를 선택한 경우, OSD 간 트래픽 복제 및 균형 재조정을 위해 클라이언트 스토리지 트래픽이 공용 네트워크와 클러스터 네트워크에 있게 됩니다.

네트워크 구성이 올바른지 확인하려면 다음을 완료합니다.

OpenShift 콘솔에서 설치된 OperatorOpenShift Data Foundation스토리지 시스템ocs-storagecluster-storagesystem리소스ocs-storagecluster 로 이동합니다.

YAML 탭에서 spec 섹션에서 r network를 검색하고 네트워크 인터페이스 선택 사항에 대한 구성이 올바른지 확인합니다. 이 예에서는 클라이언트 스토리지 트래픽을 스토리지 복제 트래픽과 분리하기 위한 것입니다.

샘플 출력:

[..]
spec:
  [..]
  network:
    ipFamily: IPv4
    provider: multus
    selectors:
      cluster: openshift-storage/ocs-cluster
      public: openshift-storage/ocs-public
  [..]

명령줄 인터페이스를 사용하여 네트워크 구성이 올바른지 확인하려면 다음 명령을 실행합니다.

$ oc get storagecluster ocs-storagecluster \
-n openshift-storage \
-o=jsonpath='{.spec.network}{"\n"}'

샘플 출력:

{"ipFamily":"IPv4","provider":"multus","selectors":{"cluster":"openshift-storage/ocs-cluster","public":"openshift-storage/ocs-public"}}

OSD pod에서 올바른 네트워크를 사용하고 있는지 확인

openshift-storage 네임스페이스에서 OSD pod 중 하나를 사용하여 Pod가 올바른 네트워크에 연결되어 있는지 확인합니다. 이 예에서는 클라이언트 스토리지 트래픽을 스토리지 복제 트래픽과 분리하기 위한 것입니다.

참고

둘 다 생성되는 경우 OSD pod만 Multus 공용 및 클러스터 네트워크에 연결됩니다. 기타 모든 OCS Pod는 Multus 공용 네트워크에 연결됩니다.

$ oc get -n openshift-storage $(oc get pods -n openshift-storage -o name -l app=rook-ceph-osd | grep 'osd-0') -o=jsonpath='{.metadata.annotations.k8s\.v1\.cni\.cncf\.io/network-status}{"\n"}'

샘플 출력:

[{
    "name": "openshift-sdn",
    "interface": "eth0",
    "ips": [
        "10.129.2.30"
    ],
    "default": true,
    "dns": {}
},{
    "name": "openshift-storage/ocs-cluster",
    "interface": "net1",
    "ips": [
        "192.168.2.1"
    ],
    "mac": "e2:04:c6:81:52:f1",
    "dns": {}
},{
    "name": "openshift-storage/ocs-public",
    "interface": "net2",
    "ips": [
        "192.168.1.1"
    ],
    "mac": "ee:a0:b6:a4:07:94",
    "dns": {}
}]

명령줄 인터페이스를 사용하여 OSD Pod가 올바른 네트워크를 사용하고 있는지 확인하려면 다음 명령을 실행합니다( jq 유틸리티 필요).

$ oc get -n openshift-storage $(oc get pods -n openshift-storage -o name -l app=rook-ceph-osd | grep 'osd-0') -o=jsonpath='{.metadata.annotations.k8s\.v1\.cni\.cncf\.io/network-status}{"\n"}' | jq -r '.[].name'

샘플 출력:

openshift-sdn
openshift-storage/ocs-cluster
openshift-storage/ocs-public

3장. 독립 실행형 Multicloud Object Gateway 배포

OpenShift Data Foundation을 사용하여 Multicloud Object Gateway 구성 요소만 배포하면 배포 유연성을 제공하고 리소스 소비를 줄이는 데 도움이 됩니다. 다음 단계를 포함하는 독립 실행형 Multicloud Object Gateway 구성 요소만 배포하려면 이 섹션을 사용합니다.

  • Local Storage Operator 설치
  • Red Hat OpenShift Data Foundation Operator 설치
  • 독립 실행형 Multicloud Object Gateway 생성

3.1. 로컬 스토리지 Operator 설치

로컬 스토리지 장치에서 Red Hat OpenShift Data Foundation 클러스터를 생성하기 전에 Operator Hub에서 Local Storage Operator를 설치합니다.

절차

  1. OpenShift 웹 콘솔에 로그인합니다.
  2. Operators → OperatorHub를 클릭합니다.
  3. 키워드별 필터링 상자에 로컬 스토리지를 입력하여 Operator 목록에서 Local Storage Operator를 찾은 후 클릭합니다.
  4. Operator 설치 페이지에서 다음 옵션을 설정합니다.

    1. 채널을 4.9 또는 stable로 업데이트합니다.
    2. 설치 모드에서 클러스터의 특정 네임스페이스를 선택합니다.
    3. 설치된 네임스페이스를 Operator 권장 네임스페이스 openshift-local-storage를 선택합니다.
    4. 승인을 자동으로 업데이트합니다.
  5. 설치를 클릭합니다.

검증 단계

  • Local Storage Operator에 성공적인 설치를 나타내는 녹색 눈금이 표시되는지 확인합니다.

3.2. 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 클러스터에 액세스할 수 있습니다.
  • Red Hat OpenShift Container Platform 클러스터에 3개 이상의 작업자 노드가 있어야 합니다.
  • 추가 리소스 요구 사항은 배포 계획 가이드를 참조하십시오.
중요
  • OpenShift Data Foundation의 클러스터 수준 기본 노드 선택기를 재정의해야 하는 경우 명령줄 인터페이스에서 다음 명령을 사용하여 openshift-storage 네임스페이스에 대한 빈 노드 선택기를 지정할 수 있습니다(이 경우 openshift-storage 네임스페이스 생성).

    $ oc annotate namespace openshift-storage openshift.io/node-selector=
  • 노드에 Red Hat OpenShift Data Foundation 리소스만 예약되도록 infra 테인트를 구성합니다. 이를 통해 서브스크립션 비용을 절감할 수 있습니다. 자세한 내용은 스토리지 리소스 관리 및 할당 가이드의 Red Hat OpenShift Data Foundation 전용 작업자 노드 사용 방법을 참조하십시오.

절차

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

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

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

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

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

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

검증 단계

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

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

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

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

3.3. 독립 실행형 Multicloud Object Gateway 생성

이 섹션을 사용하여 OpenShift Data Foundation에서 Multicloud Object Gateway 구성 요소만 생성합니다.

사전 요구 사항

  • OpenShift Data Foundation Operator가 설치되어 있는지 확인합니다.
  • (로컬 스토리지 장치만 사용하여 배포하는 경우) Local Storage Operator가 설치되어 있는지 확인합니다.
  • 스토리지 클래스가 있고 기본값으로 설정되어 있는지 확인합니다.

절차

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

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

  2. OpenShift Data Foundation Operator를 클릭한 다음 스토리지 시스템 생성을 클릭합니다.
  3. 백업 스토리지 페이지에서 고급을 확장합니다.
  4. 배포 유형 용으로 Multicloud Object Gateway를 선택합니다.
  5. 다음을 클릭합니다.
  6. 선택 사항: 보안 페이지에서 외부 키 관리 서비스에 연결을 선택합니다.

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

      1. OpenShift Data Foundation 전용 및 고유한 백엔드 경로에 키 값 시크릿 경로를 입력합니다.
      2. 선택 사항: TLS 서버 이름Vault Enterprise Namespace 를 입력합니다.
      3. 각 PEM 인코딩 인증서 파일을 업로드하여 CA 인증서,클라이언트 인증서클라이언트 개인 키를 제공합니다.
      4. 저장을 클릭합니다.
    4. 다음을 클릭합니다.
  7. 검토 및 생성 페이지에서 구성 세부 정보를 검토합니다.

    구성 설정을 수정하려면 뒤로를 클릭합니다.

  8. 스토리지 시스템 생성을 클릭합니다.

검증 단계

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

    1. Object 탭의 상태 카드에서 Object ServiceData Resiliency 모두 녹색 눈금이 있는지 확인합니다.
    2. 세부 정보 카드에 MCG 정보가 표시되는지 확인합니다.
Pod 상태 확인
  1. OpenShift 웹 콘솔에서 워크로드Pod를 클릭합니다.
  2. 프로젝트 드롭다운 목록에서 openshift-storage를 선택하고 다음 Pod가 Running 상태인지 확인합니다.

    참고

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

    구성 요소해당 Pod

    OpenShift Data Foundation Operator

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

    Rook-ceph Operator

    rook-ceph-operator-*

    (모든 작업자 노드에 1 Pod)

    Multicloud Object Gateway

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

4장. OpenShift Data Foundation 설치 제거

4.1. 내부 모드에서 OpenShift Data Foundation 설치 제거

내부 모드에서 OpenShift Data Foundation을 설치 제거하려면 OpenShift Data Foundation 설치 제거에 대한 지식 기반 문서를 참조하십시오.