Deploying OpenShift Data Foundation using IBM Power

Red Hat OpenShift Data Foundation 4.10

IBM Power에 Red Hat OpenShift Data Foundation 배포 방법

Red Hat Storage Documentation Team

초록

IBM Power에서 로컬 스토리지를 사용하도록 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은 프록시 환경에 대한 즉시 지원 기능과 함께 연결되거나 연결이 끊긴 환경에서 기존 Red Hat OpenShift Container Platform (RHOCP) IBM Power 클러스터에 대한 배포를 지원합니다.

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

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

1장. OpenShift Data Foundation 배포 준비

IBM Power에서 제공하는 로컬 스토리지 장치를 사용하여 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)이 없어야 합니다.
  • 최소 3개의 레이블이 있는 노드가 있어야 합니다.

    • OpenShift Data Foundation에서 사용할 로컬 스토리지 장치가 있는 각 노드에는 OpenShift Data Foundation 포드를 배포하기 위한 특정 레이블이 있어야 합니다. 노드에 레이블을 지정하려면 다음 명령을 사용하십시오.

      $ oc label nodes <NodeNames> cluster.ocs.openshift.io/openshift-storage=''

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

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

이 섹션을 사용하여 OpenShift Container Platform이 이미 설치된 IBM Power 인프라에 OpenShift Data Foundation을 배포합니다.

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

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

2.1. 로컬 스토리지 Operator 설치

로컬 스토리지 장치에 OpenShift Data Foundation 클러스터를 생성하기 전에 Operator Hub에서 Local Storage Operator를 설치하려면 다음 절차를 사용하십시오.

절차

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

    1. 채널을 4.10 또는 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=

절차

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

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

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

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

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

검증 단계

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

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

2.3. 토큰 인증 방법을 사용하여 KMS로 클러스터 전체 암호화 활성화

토큰 인증에 대해 Vault에서 키 값 백엔드 경로 및 정책을 활성화하려면 다음 절차를 따르십시오.

사전 요구 사항

  • Vault에 대한 관리자 액세스 권한이 있어야 합니다.
  • 유효한 Red Hat OpenShift Data Foundation Advanced 서브스크립션. 자세한 내용은 OpenShift Data Foundation 서브스크립션에 대한 지식베이스 문서 를 참조하십시오.
  • 나중에 변경할 수 없으므로 이름 지정 규칙을 따르는 백엔드 경로로 고유한 경로 이름을 선택합니다.

절차

  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.4. Kubernetes 인증 방법을 사용하여 KMS로 클러스터 전체 암호화 활성화

KMS(Key Management System)를 사용하여 클러스터 전체 암호화에 대한 Kubernetes 인증 방법을 활성화할 수 있습니다.

사전 요구 사항

  • Vault에 대한 관리자 액세스 권한이 있어야 합니다.
  • 유효한 Red Hat OpenShift Data Foundation Advanced 서브스크립션. 자세한 내용은 OpenShift Data Foundation 서브스크립션에 대한 지식베이스 문서 를 참조하십시오.
  • OpenShift Data Foundation Operator는 Operator Hub에서 설치해야 합니다.
  • 나중에 변경할 수 없으므로 이름 지정 규칙을 따르는 백엔드 경로로 고유한 경로 이름을 선택합니다.

    참고

    OpenShift Data Foundation 4.10에서 Kubernetes 인증 방법에서는 Vault 네임스페이스를 사용할 수 없습니다.

절차

  1. 서비스 계정을 생성합니다.

    $ oc -n openshift-storage create serviceaccount <serviceaccount_name>

    여기서 &lt ;serviceaccount_name& gt;은 서비스 계정의 이름을 지정합니다.

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

    $ oc -n openshift-storage create serviceaccount odf-vault-auth
  2. clusterrolebindings 및 clusterroles를 생성합니다.

    $ oc -n openshift-storage create clusterrolebinding vault-tokenreview-binding --clusterrole=system:auth-delegator --serviceaccount=openshift-storage:_<serviceaccount_name>_

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

    $ oc -n openshift-storage create clusterrolebinding vault-tokenreview-binding --clusterrole=system:auth-delegator --serviceaccount=openshift-storage:odf-vault-auth
  3. OpenShift Container Platform 버전에 따라 다음 중 하나를 수행합니다.

    • OpenShift Container Platform 4.10의 경우:

      • 위에서 생성한 serviceaccount(SA)와 연결된 시크릿 이름을 식별합니다.

        $ VAULT_SA_SECRET_NAME=$(oc -n openshift-storage get sa <SA_NAME> -o jsonpath="{.secrets[*]['name']}") | grep -o "[^[:space:]]*-token-[^[:space:]]*"

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

        $ VAULT_SA_SECRET_NAME=$(oc -n openshift-storage get sa odf-vault-auth -o jsonpath="{.secrets[*]['name']}" | grep -o "[^[:space:]]*-token-[^[:space:]]*")
    • OpenShift Container Platform 4.11의 경우:

      • serviceaccount 토큰 및 CA 인증서에 대한 시크릿을 생성합니다.

        $ cat <<EOF | oc create -f -
        apiVersion: v1
        kind: Secret
        metadata:
          name: odf-vault-auth-token
          namespace: openshift-storage
          annotations:
            kubernetes.io/service-account.name: <serviceaccount_name>
        type: kubernetes.io/service-account-token
        data: {}
        EOF

        여기서 & lt;serviceaccount_name& gt;은 이전 단계에서 생성한 서비스 계정입니다.

        $ VAULT_SA_SECRET_NAME=odf-vault-auth-token
  4. 시크릿에서 토큰 및 CA 인증서를 가져옵니다.

    $ SA_JWT_TOKEN=$(oc -n openshift-storage get secret "$VAULT_SA_SECRET_NAME" -o jsonpath="{.data.token}" | base64 --decode; echo)
    $ SA_CA_CRT=$(oc -n openshift-storage get secret "$VAULT_SA_SECRET_NAME" -o jsonpath="{.data['ca\.crt']}" | base64 --decode; echo)
  5. OCP 클러스터 끝점을 검색합니다.

    $ OCP_HOST=$(oc config view --minify --flatten -o jsonpath="{.clusters[0].cluster.server}")
  6. 서비스 계정 발행자를 가져옵니다.

    $ oc proxy &
    $ proxy_pid=$!
    $ issuer="$( curl --silent http://127.0.0.1:8001/.well-known/openid-configuration | jq -r .issuer)"
    $ kill $proxy_pid
  7. 위의 단계에서 수집된 정보를 사용하여 다음과 같이 Vault에서 Kubernetes 인증 방법을 설정합니다.

    $ vault auth enable kubernetes
    $ vault write auth/kubernetes/config \
              token_reviewer_jwt="$SA_JWT_TOKEN" \
              kubernetes_host="$OCP_HOST" \
              kubernetes_ca_cert="$SA_CA_CRT" \
              issuer="$issuer"
    중요

    issuer가 비어 있을 때 Vault에서 Kubernetes 인증 방법을 구성하려면 다음을 수행합니다.

    $ vault write auth/kubernetes/config \
              token_reviewer_jwt="$SA_JWT_TOKEN" \
              kubernetes_host="$OCP_HOST" \
              kubernetes_ca_cert="$SA_CA_CRT"
  8. 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
  9. 시크릿에서 쓰기 또는 삭제 작업을 수행하도록 사용자를 제한하는 정책을 생성합니다.

    echo '
    path "odf/*" {
      capabilities = ["create", "read", "update", "delete", "list"]
    }
    path "sys/mounts" {
    capabilities = ["read"]
    }'| vault policy write odf -
  10. 역할을 생성합니다.

    $ vault write auth/kubernetes/role/odf-rook-ceph-op \
            bound_service_account_names=rook-ceph-system,rook-ceph-osd,noobaa \
            bound_service_account_namespaces=openshift-storage \
            policies=odf \
            ttl=1440h

    스토리지 시스템을 생성하는 동안 KMS 연결 세부 정보를 구성하는 동안 odf-rook-ceph-op 역할이 사용됩니다.

    $ vault write auth/kubernetes/role/odf-rook-ceph-osd \
            bound_service_account_names=rook-ceph-osd \
            bound_service_account_namespaces=openshift-storage \
            policies=odf \
            ttl=1440h

2.5. 사용 가능한 스토리지 장치 찾기

IBM Power용 PV를 생성하기 전에 OpenShift Data Foundation 레이블 cluster.ocs.openshift.io/openshift-storage=' 로 레이블이 지정된 3개 이상의 작업자 노드 각각에 대한 장치 이름을 확인하려면 다음 절차를 사용하십시오.

절차

  1. OpenShift Data Foundation 레이블을 사용하여 작업자 노드의 이름을 나열하고 확인합니다.

    $ oc get nodes -l cluster.ocs.openshift.io/openshift-storage=

    출력 예:

    NAME       STATUS   ROLES    AGE     VERSION
    worker-0   Ready    worker   2d11h   v1.23.3+e419edf
    worker-1   Ready    worker   2d11h   v1.23.3+e419edf
    worker-2   Ready    worker   2d11h   v1.23.3+e419edf
  2. OpenShift Data Foundation 리소스에 사용되는 각 작업자 노드에 로그인하고 Openshift Container Platform을 배포하는 동안 연결된 추가 디스크의 이름을 찾습니다.

    $ oc debug node/<node name>

    출력 예:

    $ oc debug node/worker-0
    Starting pod/worker-0-debug ...
    To use host binaries, run `chroot /host`
    Pod IP: 192.168.0.63
    If you don't see a command prompt, try pressing enter.
    sh-4.4#
    sh-4.4# chroot /host
    sh-4.4# lsblk
    NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    loop1    7:1    0   500G  0 loop
    sda      8:0    0   500G  0 disk
    sdb      8:16   0   120G  0 disk
    |-sdb1   8:17   0     4M  0 part
    |-sdb3   8:19   0   384M  0 part
    `-sdb4   8:20   0 119.6G  0 part
    sdc      8:32   0   500G  0 disk
    sdd      8:48   0   120G  0 disk
    |-sdd1   8:49   0     4M  0 part
    |-sdd3   8:51   0   384M  0 part
    `-sdd4   8:52   0 119.6G  0 part
    sde      8:64   0   500G  0 disk
    sdf      8:80   0   120G  0 disk
    |-sdf1   8:81   0     4M  0 part
    |-sdf3   8:83   0   384M  0 part
    `-sdf4   8:84   0 119.6G  0 part
    sdg      8:96   0   500G  0 disk
    sdh      8:112  0   120G  0 disk
    |-sdh1   8:113  0     4M  0 part
    |-sdh3   8:115  0   384M  0 part
    `-sdh4   8:116  0 119.6G  0 part
    sdi      8:128  0   500G  0 disk
    sdj      8:144  0   120G  0 disk
    |-sdj1   8:145  0     4M  0 part
    |-sdj3   8:147  0   384M  0 part
    `-sdj4   8:148  0 119.6G  0 part
    sdk      8:160  0   500G  0 disk
    sdl      8:176  0   120G  0 disk
    |-sdl1   8:177  0     4M  0 part
    |-sdl3   8:179  0   384M  0 part
    `-sdl4   8:180  0 119.6G  0 part /sysroot
    sdm      8:192  0   500G  0 disk
    sdn      8:208  0   120G  0 disk
    |-sdn1   8:209  0     4M  0 part
    |-sdn3   8:211  0   384M  0 part /boot
    `-sdn4   8:212  0 119.6G  0 part
    sdo      8:224  0   500G  0 disk
    sdp      8:240  0   120G  0 disk
    |-sdp1   8:241  0     4M  0 part
    |-sdp3   8:243  0   384M  0 part
    `-sdp4   8:244  0 119.6G  0 part

    이 예에서 worker-0의 경우 사용 가능한 로컬 장치는 sda,sdc,sde,sdg,sdi,sdk,sdm,sdo 입니다.

  3. OpenShift Data Foundation에서 사용할 스토리지 장치가 있는 다른 모든 작업자 노드에 대해 위의 단계를 반복합니다. 자세한 내용은 이 기술 자료 문서를 참조하십시오.

2.6. IBM Power에서 OpenShift Data Foundation 클러스터 생성

OpenShift Data Foundation Operator를 설치한 후 OpenShift Data Foundation 클러스터를 생성하려면 다음 절차를 사용하십시오.

사전 요구 사항

  • 로컬 스토리지 장치 섹션을 사용하여 OpenShift Data Foundation 설치 요구 사항의 모든 요구 사항이 충족되었는지 확인합니다.
  • IBM Power에서 로컬 스토리지 장치를 사용하려면 최소 3개의 작업자 노드가 각 노드에 동일한 스토리지 유형 및 크기가 연결되어 있어야 합니다.
  • OpenShift Container Platform 작업자 노드에 OpenShift Data Foundation에 대한 레이블이 지정되어 있는지 확인합니다.

    oc get nodes -l cluster.ocs.openshift.io/openshift-storage -o jsonpath='{range .items[*]}{.metadata.name}{"\n"}'

각 노드에서 스토리지 장치를 식별하려면 사용 가능한 스토리지 장치 찾기를 참조하십시오.

절차

  1. OpenShift 웹 콘솔에 로그인합니다.
  2. openshift-local-storage 네임스페이스에서 Operator설치된 Operator를 클릭하여 설치된 Operator를 확인합니다.
  3. Local Storage installed Operator를 클릭합니다.
  4. Operator 세부 정보 페이지에서 로컬 볼륨 링크를 클릭합니다.
  5. 로컬 볼륨 만들기를 클릭합니다.
  6. 로컬 볼륨을 구성하려면 YAML 보기를 클릭합니다.
  7. 다음 YAML을 사용하여 블록 PV에 대한 LocalVolume 사용자 정의 리소스를 정의합니다.

    apiVersion: local.storage.openshift.io/v1
    kind: LocalVolume
    metadata:
      name: localblock
      namespace: openshift-local-storage
    spec:
      logLevel: Normal
      managementState: Managed
      nodeSelector:
        nodeSelectorTerms:
          - matchExpressions:
              - key: kubernetes.io/hostname
                operator: In
                values:
                  - worker-0
                  - worker-1
                  - worker-2
      storageClassDevices:
        - devicePaths:
            - /dev/sda
          storageClassName: localblock
          volumeMode: Block

    위의 정의는 worker-0 ,worker-1worker-2 노드에서 sda 로컬 장치를 선택합니다. 로컬 블록 스토리지 클래스가 생성되고 sda 에서 영구 볼륨이 프로비저닝됩니다.

    중요

    환경에 따라 적절한 nodeSelector 값을 지정합니다. 장치 이름은 모든 작업자 노드에서 동일해야 합니다. 둘 이상의 devicePaths를 지정할 수도 있습니다.

  8. 생성을 클릭합니다.
  9. 디스크maker-manager 포드 및 영구 볼륨이 생성되었는지 확인합니다.

    1. Pod의 경우

      1. OpenShift 웹 콘솔의 왼쪽 창에서 워크로드 → 포드 를 클릭합니다.
      2. 프로젝트 드롭다운 목록에서 openshift-local-storage 를 선택합니다.
      3. LocalVolume CR을 생성하는 동안 사용한 각 작업자 노드에 대한 디스크maker-manager Pod가 있는지 확인합니다.
    2. 영구 볼륨의 경우

      1. OpenShift 웹 콘솔 의 왼쪽 창에서 스토리지 → PersistentVolume 을 클릭합니다.
      2. 이름이 local-pv-* 인 영구 볼륨을 확인합니다. 영구 볼륨 수는 localVolume CR을 생성하는 동안 프로비저닝된 스토리지 장치 수와 작업자 노드 수와 동일합니다.

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

          유연한 확장에 대한 자세한 내용은 스토리지 확장 가이드의 YAML을 사용하여 용량 추가를 참조하십시오.

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

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

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

    1. 배포 유형 옵션에 대해 Full Deployment를 선택합니다.
    2. 기존 스토리지 클래스 사용 옵션을 선택합니다.
    3. LocalVolume을 설치하는 동안 사용한 필수 스토리지 클래스 를 선택합니다.

      기본적으로 이 값은 none 으로 설정됩니다.

    4. 다음을 클릭합니다.
  13. 용량 및 노드 페이지에서 다음을 구성합니다.

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

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

      • 클러스터 전체 암호화

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

      • 스토리지 클래스 암호화

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

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

      1. 키 관리 서비스 공급자는 기본적으로 Vault로 설정됩니다.
      2. 인증 방법을 선택합니다.

        토큰 인증 방법 사용
        • Vault 서버의 고유한 연결 이름, 호스트 주소 ('https://<hostname 또는 ip>'), 포트 번호 및 토큰을 입력합니다.
        • 고급 설정을 확장하여 Vault 구성에 따라 추가 설정 및 인증서 세부 정보를 입력합니다.

          • OpenShift Data Foundation 전용 및 고유한 백엔드 경로에 키 값 시크릿 경로를 입력합니다.
          • 선택 사항: TLS 서버 이름Vault 엔터프라이즈 네임스페이스를 입력합니다.
          • 각 PEM 인코딩 인증서 파일을 업로드하여 CA 인증서,클라이언트 인증서클라이언트 개인 키를 제공합니다.
          • 저장을 클릭합니다.
        Kubernetes 인증 방법 사용
        • 자격 증명 모음 연결 이름, Vault 서버의 호스트 주소 ('https://<hostname 또는 ip>'), 포트 번호 및 역할 이름을 입력합니다.
        • 고급 설정을 확장하여 Vault 구성에 따라 추가 설정 및 인증서 세부 정보를 입력합니다.

          • OpenShift Data Foundation 전용 및 고유한 백엔드 경로에 키 값 시크릿 경로를 입력합니다.
          • 선택 사항: 해당하는 경우 TLS 서버 이름인증 경로 를 입력합니다.
          • 각 PEM 인코딩 인증서 파일을 업로드하여 CA 인증서,클라이언트 인증서클라이언트 개인 키를 제공합니다.
          • 저장을 클릭합니다.
    4. Multus는 IBM Power의 OpenShift Data Foundation에서 아직 지원되지 않으므로 Default(SDN) 를 선택합니다.
    5. 다음을 클릭합니다.
  15. 검토 및 생성 페이지에서::

    1. 구성 세부 정보를 검토합니다. 구성 설정을 수정하려면 뒤로 이동하여 이전 구성 페이지로 돌아갑니다.
    2. 스토리지 시스템 생성을 클릭합니다.

검증 단계

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

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

    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
  • OpenShift Data Foundation의 모든 구성 요소가 성공적으로 설치되었는지 확인하려면 OpenShift Data Foundation 배포 확인을 참조하십시오.

추가 리소스

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

3장. 내부 모드를 위한 OpenShift Data Foundation 배포 확인

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

3.1. Pod 상태 확인

OpenShift Data Foundation이 성공적으로 배포되었는지 확인하려면 Pod가 Running 상태인지 확인할 수 있습니다.

절차

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

    참고

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

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

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

    표 3.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)
    • CSI-addons-controller-manager-* (1개의 작업자 노드에서 Pod)

    Rook-ceph Operator

    rook-ceph-operator-* (모든 작업자 노드에서 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-* (스토리지 노드에 분산된 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-* (각 장치의 경우 pod)

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

절차

  1. OpenShift 웹 콘솔에서 스토리지 → 데이터 기반 을 클릭합니다.
  2. Storage Systems 탭을 클릭한 다음 ocs-storagecluster-storagesystem 을 클릭합니다.
  3. 개요 탭의 블록 및 파일 대시보드의 상태 카드에서 Storage ClusterData Resiliency 가 모두 녹색 눈금이 표시되어 있는지 확인합니다.
  4. 세부 정보 카드에서 클러스터 정보가 표시되는지 확인합니다.

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

3.3. Multicloud Object Gateway의 상태 확인

절차

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

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

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

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

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

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

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

4.1. 로컬 스토리지 Operator 설치

로컬 스토리지 장치에 OpenShift Data Foundation 클러스터를 생성하기 전에 Operator Hub에서 Local Storage Operator를 설치하려면 다음 절차를 사용하십시오.

절차

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

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

검증 단계

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

4.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=

절차

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

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

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

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

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

검증 단계

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

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

4.3. IBM Power에서 독립 실행형 Multicloud Object Gateway 생성

OpenShift Data Foundation을 배포하는 동안 독립 실행형 Multicloud Object Gateway 구성 요소만 생성할 수 있습니다.

사전 요구 사항

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

각 노드에서 스토리지 장치를 식별하려면 사용 가능한 스토리지 장치 찾기를 참조하십시오.

절차

  1. OpenShift 웹 콘솔에 로그인합니다.
  2. openshift-local-storage 네임스페이스에서 Operator설치된 Operator를 클릭하여 설치된 Operator를 확인합니다.
  3. Local Storage installed Operator를 클릭합니다.
  4. Operator 세부 정보 페이지에서 로컬 볼륨 링크를 클릭합니다.
  5. 로컬 볼륨 만들기를 클릭합니다.
  6. 로컬 볼륨을 구성하려면 YAML 보기를 클릭합니다.
  7. 다음 YAML을 사용하여 파일 시스템 PV에 대한 LocalVolume 사용자 정의 리소스를 정의합니다.

    apiVersion: local.storage.openshift.io/v1
    kind: LocalVolume
    metadata:
      name: localblock
      namespace: openshift-local-storage
    spec:
      logLevel: Normal
      managementState: Managed
      nodeSelector:
        nodeSelectorTerms:
          - matchExpressions:
              - key: kubernetes.io/hostname
                operator: In
                values:
                  - worker-0
                  - worker-1
                  - worker-2
      storageClassDevices:
        - devicePaths:
            - /dev/sda
          storageClassName: localblock
          volumeMode: Filesystem

    위의 정의는 worker-0 ,worker-1worker-2 노드에서 sda 로컬 장치를 선택합니다. 로컬 블록 스토리지 클래스가 생성되고 sda 에서 영구 볼륨이 프로비저닝됩니다.

    중요

    환경에 따라 적절한 nodeSelector 값을 지정합니다. 장치 이름은 모든 작업자 노드에서 동일해야 합니다. 둘 이상의 devicePaths를 지정할 수도 있습니다.

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

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

  10. OpenShift Data Foundation Operator를 클릭한 다음 스토리지 시스템 생성을 클릭합니다.
  11. 백업 스토리지 페이지에서 배포 유형에 대해 Multicloud Object Gateway를 선택합니다.
  12. 스토리지 유형의 백업에 대해 기존 StorageClass 옵션 사용을 선택합니다.

    1. LocalVolume을 설치하는 동안 사용한 스토리지 클래스 를 선택합니다.
  13. 다음을 클릭합니다.
  14. 선택 사항: 보안 페이지에서 외부 키 관리 서비스에 연결을 선택합니다.

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

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

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

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

검증 단계

OpenShift Data Foundation 클러스터 상태 확인
  1. OpenShift 웹 콘솔에서 스토리지 → 데이터 기반 을 클릭합니다.
  2. Storage Systems 탭을 클릭한 다음 ocs-storagecluster-storagesystem 을 클릭합니다.

    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)
    • CSI-addons-controller-manager-* (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)
    • NooBaa-default-backing-store-noobaa-pod-* (모든 작업자 노드의 Pod)

5장. OpenShift Data Foundation 설치 제거

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

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

법적 공지

Copyright © 2023 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.