Deploying OpenShift Data Foundation using IBM Power
IBM Power에 Red Hat OpenShift Data Foundation 배포 방법
초록
보다 포괄적 수용을 위한 오픈 소스 용어 교체
Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 용어를 교체하기 위해 최선을 다하고 있습니다. 먼저 마스터(master), 슬레이브(slave), 블랙리스트(blacklist), 화이트리스트(whitelist) 등 네 가지 용어를 교체하고 있습니다. 이러한 변경 작업은 작업 범위가 크므로 향후 여러 릴리스에 걸쳐 점차 구현할 예정입니다. 자세한 내용은 CTO Chris Wright의 메시지를 참조하십시오.
Red Hat 문서에 관한 피드백 제공
문서 개선을 위한 의견을 보내 주십시오. 개선할 내용에 대해 알려주십시오.
피드백을 제공하려면 Bugzilla 티켓을 생성합니다.
- Bugzilla 웹 사이트로 이동합니다.
- 구성 요소 섹션에서 문서를 선택합니다.
- 설명 필드에 문서 개선을 위한 제안 사항을 기입하십시오. 관련된 문서의 해당 부분 링크를 알려주십시오.
- 버그 제출을 클릭합니다.
머리말
Red Hat OpenShift Data Foundation은 프록시 환경에 대한 기본 지원과 함께 연결되거나 연결이 끊긴 환경의 기존 Red Hat OpenShift Container Platform (RHOCP) IBM Power 클러스터에 대한 배포를 지원합니다.
내부 및 외부 OpenShift Data Foundation 클러스터는 IBM Power에서 모두 지원됩니다. 배포 요구 사항에 대한 자세한 내용은 배포 계획 및 OpenShift Data Foundation 배포 준비를 참조하십시오.
OpenShift Data Foundation을 배포하려면 요구 사항에 따라 적절한 배포 프로세스를 따릅니다.
내부 연결 장치 모드
Red Hat Ceph Storage를 사용하는 외부 모드
1장. OpenShift Data Foundation 배포 준비
IBM Power에서 제공하는 로컬 스토리지 장치를 사용하여 OpenShift Container Platform에 OpenShift Data Foundation을 배포할 때 내부 클러스터 리소스를 생성할 수 있습니다. 이 접근 방식은 모든 애플리케이션이 추가 스토리지 클래스에 액세스할 수 있도록 내부적으로 기본 서비스를 프로비저닝합니다.
로컬 스토리지를 사용하여 Red Hat OpenShift Data Foundation 배포를 시작하기 전에 리소스 요구 사항을 충족하는지 확인하십시오. 로컬 스토리지 장치를 사용하여 OpenShift Data Foundation 설치를 위한 요구 사항을 참조하십시오.
선택 사항: 외부 KMS(Key Management System)를 사용하여 클러스터 전체 암호화를 활성화하려면 다음 단계를 따르십시오.
- 유효한 Red Hat OpenShift Data Foundation Advanced 서브스크립션이 있는지 확인합니다. OpenShift Data Foundation의 서브스크립션이 작동하는 방식을 알아보려면 OpenShift Data Foundation 서브스크립션에 대한 지식 베이스 문서를 참조하십시오.
- 암호화에 토큰 인증 방법을 선택하면 KMS를 사용하여 토큰 인증으로 클러스터 전체 암호화 활성화를 참조하십시오.
- 암호화를 위해 Kubernetes 인증 방법을 선택하면 KMS를 사용하여 Kubernetes 인증으로 클러스터 전체 암호화 활성화를 참조하십시오.
- Vault 서버에서 서명된 인증서를 사용하고 있는지 확인합니다.
위 사항을 해결한 후 다음 단계를 수행합니다.
1.1. 로컬 스토리지 장치를 사용하여 OpenShift Data Foundation을 설치하기 위한 요구사항
노드 요구 사항
클러스터는 각각에 로컬로 연결된 스토리지 장치가 있는 클러스터의 3개 이상의 OpenShift Container Platform 작업자 노드로 구성되어야 합니다.
- 선택한 세 개의 각 노드에는 OpenShift Data Foundation에서 사용할 수 있는 하나 이상의 원시 블록 장치를 사용할 수 있어야 합니다.
- 사용할 장치는 비어 있어야 합니다. 즉, PV(영구 볼륨), 볼륨 그룹(VG) 또는 로컬 볼륨(LV)이 디스크에 남아 있지 않아야 합니다.
라벨이 지정된 작업자 노드가 3개 이상 있어야 합니다.
OpenShift Data Foundation에서 사용할 로컬 스토리지 장치가 있는 각 노드에는 OpenShift Data Foundation Pod를 배포하기 위한 특정 레이블이 있어야 합니다. 노드에 레이블을 지정하려면 다음 명령을 사용합니다.
oc label nodes <NodeNames> cluster.ocs.openshift.io/openshift-storage=''
$ oc label nodes <NodeNames> cluster.ocs.openshift.io/openshift-storage=''
Copy to Clipboard Copied!
자세한 내용은 계획 가이드의 리소스 요구 사항 섹션을 참조하십시오.
재해 복구 요구 사항
Red Hat OpenShift Data Foundation에서 지원하는 재해 복구 기능에는 재해 복구 솔루션을 성공적으로 구현하려면 다음 사전 요구 사항이 모두 필요합니다.
- 유효한 Red Hat OpenShift Data Foundation Advanced 서브스크립션.
- Kubernetes 서브스크립션의 유효한 RHACM(Red Hat Advanced Cluster Management)입니다.
OpenShift Data Foundation의 서브스크립션이 작동하는 방식을 자세히 알아보려면 OpenShift Data Foundation 서브스크립션에 대한 지식 베이스 문서를 참조하십시오.
자세한 재해 복구 솔루션 요구 사항은 OpenShift 워크로드용 OpenShift Data Foundation 재해 복구 가이드 구성 및 Red Hat Advanced Cluster Management for Kubernetes 설명서의 설치 가이드 의 요구 사항 및 권장 사항 섹션을 참조하십시오.
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를 설치하려면 다음 절차를 사용하십시오.
프로세스
- OpenShift 웹 콘솔에 로그인합니다.
- Operators → OperatorHub를 클릭합니다.
-
키워드로 필터링...상자에
로컬 스토리지를
입력하여 Operator 목록에서 Local Storage Operator 를 찾은 후 클릭합니다. Operator 설치 페이지에서 다음 옵션을 설정합니다.
-
채널을
stable
로 업데이트합니다. - 설치 모드에서 클러스터의 특정 네임스페이스를 선택합니다.
- 설치된 네임스페이스를 Operator 권장 네임스페이스 openshift-local-storage를 선택합니다.
- 자동 승인 전략.
-
채널을
- 설치를 클릭합니다.
검증 단계
- 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=
$ oc annotate namespace openshift-storage openshift.io/node-selector=
-
노드에 Red Hat OpenShift Data Foundation 리소스만 예약되도록
infra
테인트를 구성합니다. 이를 통해 서브스크립션 비용을 절감할 수 있습니다. 자세한 내용은 스토리지 리소스 관리 및 할당 가이드의 Red Hat OpenShift Data Foundation 전용 작업자 노드를 사용하는 방법을 참조하십시오.
프로세스
- OpenShift 웹 콘솔에 로그인합니다.
- Operators → OperatorHub를 클릭합니다.
-
OpenShift Data Foundation
을 키워드로 필터링 상자에 스크롤하여 OpenShift Data Foundation Operator를 찾습니다. - 설치를 클릭합니다.
Operator 설치 페이지에서 다음 옵션을 설정합니다.
- Channel을 stable-4.16 으로 업데이트합니다.
- 설치 모드에서 클러스터의 특정 네임스페이스를 선택합니다.
-
설치된 네임스페이스에서 Operator 권장 네임스페이스 openshift-storage를 선책합니다. 네임스페이스
openshift-storage
가 없으면 Operator 설치 중에 생성됩니다.
승인 전략을 자동 또는 수동으로 선택합니다.
자동 업데이트를 선택하면 OLM(Operator Lifecycle Manager)은 개입 없이 Operator의 실행 중인 인스턴스를 자동으로 업그레이드합니다.
수동 업데이트를 선택하면 OLM에서 업데이트 요청을 생성합니다. 클러스터 관리자는 Operator를 최신 버전으로 업데이트하기 위해 해당 업데이트 요청을 수동으로 승인해야 합니다.
- Console 플러그인에 대해 Enable 옵션이 선택되어 있는지 확인합니다.
- 설치를 클릭합니다.
검증 단계
- OpenShift Data Foundation Operator에 설치 성공을 나타내는 녹색 눈금이 표시되는지 확인합니다.
Operator가 성공적으로 설치되면 메시지가 포함된 팝업
Web console update is available
이 사용자 인터페이스에 표시됩니다. 콘솔 변경 사항을 반영하려면 이 팝업 창에서 웹 콘솔 새로 고침을 클릭합니다.- 웹 콘솔에서 스토리지로 이동하여 Data Foundation 을 사용할 수 있는지 확인합니다.
2.3. 토큰 인증 방법을 사용하여 KMS로 클러스터 전체 암호화 활성화
토큰 인증을 위해 자격 증명 모음에서 키 값 백엔드 경로 및 정책을 활성화할 수 있습니다.
사전 요구 사항
- 자격 증명 모음에 대한 관리자 액세스입니다.
- 유효한 Red Hat OpenShift Data Foundation Advanced 서브스크립션. 자세한 내용은 OpenShift Data Foundation 서브스크립션에 대한 지식베이스 문서를 참조하십시오.
-
나중에 변경할 수 없으므로 이름 지정 규칙을 따르는 백엔드
경로로
고유한 경로 이름을 신중하게 선택합니다.
프로세스
자격 증명 모음에서 KV(Key/Value) 백엔드 경로를 활성화합니다.
vault KV 시크릿 엔진 API의 경우 버전 1:
vault secrets enable -path=odf kv
$ vault secrets enable -path=odf kv
Copy to Clipboard Copied! vault KV 시크릿 엔진 API의 경우 버전 2:
vault secrets enable -path=odf kv-v2
$ vault secrets enable -path=odf kv-v2
Copy to Clipboard Copied! 시크릿에서 쓰기 또는 삭제 작업을 수행하도록 사용자를 제한하는 정책을 생성합니다.
echo ' path "odf/*" { capabilities = ["create", "read", "update", "delete", "list"] } path "sys/mounts" { capabilities = ["read"] }'| vault policy write odf -
echo ' path "odf/*" { capabilities = ["create", "read", "update", "delete", "list"] } path "sys/mounts" { capabilities = ["read"] }'| vault policy write odf -
Copy to Clipboard Copied! 위 정책과 일치하는 토큰을 생성합니다.
vault token create -policy=odf -format json
$ vault token create -policy=odf -format json
Copy to Clipboard Copied!
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에서 설치해야 합니다.
-
이름 지정 규칙을 따르는 백엔드 경로로 고유한
경로
이름을 신중하게 선택합니다. 나중에 이 경로 이름을 변경할 수 없습니다.
프로세스
서비스 계정을 생성합니다.
oc -n openshift-storage create serviceaccount <serviceaccount_name>
$ oc -n openshift-storage create serviceaccount <serviceaccount_name>
Copy to Clipboard Copied! 여기서 &
lt;serviceaccount_name&
gt;은 서비스 계정의 이름을 지정합니다.예를 들면 다음과 같습니다.
oc -n openshift-storage create serviceaccount odf-vault-auth
$ oc -n openshift-storage create serviceaccount odf-vault-auth
Copy to Clipboard Copied! 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:_<serviceaccount_name>_
Copy to Clipboard Copied! 예를 들면 다음과 같습니다.
oc -n openshift-storage create clusterrolebinding vault-tokenreview-binding --clusterrole=system:auth-delegator --serviceaccount=openshift-storage:odf-vault-auth
$ oc -n openshift-storage create clusterrolebinding vault-tokenreview-binding --clusterrole=system:auth-delegator --serviceaccount=openshift-storage:odf-vault-auth
Copy to Clipboard Copied! 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
$ 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
Copy to Clipboard Copied! 여기서 &
lt;serviceaccount_name
>은 이전 단계에서 생성된 서비스 계정입니다.시크릿에서 토큰 및 CA 인증서를 가져옵니다.
SA_JWT_TOKEN=$(oc -n openshift-storage get secret odf-vault-auth-token -o jsonpath="{.data['token']}" | base64 --decode; echo) SA_CA_CRT=$(oc -n openshift-storage get secret odf-vault-auth-token -o jsonpath="{.data['ca\.crt']}" | base64 --decode; echo)
$ SA_JWT_TOKEN=$(oc -n openshift-storage get secret odf-vault-auth-token -o jsonpath="{.data['token']}" | base64 --decode; echo) $ SA_CA_CRT=$(oc -n openshift-storage get secret odf-vault-auth-token -o jsonpath="{.data['ca\.crt']}" | base64 --decode; echo)
Copy to Clipboard Copied! OCP 클러스터 끝점을 검색합니다.
OCP_HOST=$(oc config view --minify --flatten -o jsonpath="{.clusters[0].cluster.server}")
$ OCP_HOST=$(oc config view --minify --flatten -o jsonpath="{.clusters[0].cluster.server}")
Copy to Clipboard Copied! 서비스 계정 발행자를 가져옵니다.
oc proxy & proxy_pid=$! issuer="$( curl --silent http://127.0.0.1:8001/.well-known/openid-configuration | jq -r .issuer)" kill $proxy_pid
$ oc proxy & $ proxy_pid=$! $ issuer="$( curl --silent http://127.0.0.1:8001/.well-known/openid-configuration | jq -r .issuer)" $ kill $proxy_pid
Copy to Clipboard Copied! 이전 단계에서 수집한 정보를 사용하여 Vault에서 Kubernetes 인증 방법을 설정합니다.
vault auth enable kubernetes
$ vault auth enable kubernetes
Copy to Clipboard Copied! vault write auth/kubernetes/config \ token_reviewer_jwt="$SA_JWT_TOKEN" \ kubernetes_host="$OCP_HOST" \ kubernetes_ca_cert="$SA_CA_CRT" \ issuer="$issuer"
$ vault write auth/kubernetes/config \ token_reviewer_jwt="$SA_JWT_TOKEN" \ kubernetes_host="$OCP_HOST" \ kubernetes_ca_cert="$SA_CA_CRT" \ issuer="$issuer"
Copy to Clipboard Copied! 중요발행자가 비어 있을 때 Vault에서 Kubernetes 인증 방법을 구성하려면 다음을 수행합니다.
vault write auth/kubernetes/config \ token_reviewer_jwt="$SA_JWT_TOKEN" \ kubernetes_host="$OCP_HOST" \ kubernetes_ca_cert="$SA_CA_CRT"
$ vault write auth/kubernetes/config \ token_reviewer_jwt="$SA_JWT_TOKEN" \ kubernetes_host="$OCP_HOST" \ kubernetes_ca_cert="$SA_CA_CRT"
Copy to Clipboard Copied! Vault에서 KV(Key/Value) 백엔드 경로를 활성화합니다.
Vault KV 시크릿 엔진 API의 경우 버전 1:
vault secrets enable -path=odf kv
$ vault secrets enable -path=odf kv
Copy to Clipboard Copied! Vault KV 시크릿 엔진 API의 경우 버전 2:
vault secrets enable -path=odf kv-v2
$ vault secrets enable -path=odf kv-v2
Copy to Clipboard Copied! 시크릿에서
쓰기
또는삭제
작업을 수행하도록 사용자를 제한하는 정책을 생성합니다.echo ' path "odf/*" { capabilities = ["create", "read", "update", "delete", "list"] } path "sys/mounts" { capabilities = ["read"] }'| vault policy write odf -
echo ' path "odf/*" { capabilities = ["create", "read", "update", "delete", "list"] } path "sys/mounts" { capabilities = ["read"] }'| vault policy write odf -
Copy to Clipboard Copied! 역할을 생성합니다.
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
$ 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
Copy to Clipboard Copied! 나중에 스토리지 시스템을 생성하는 동안 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
$ 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
Copy to Clipboard Copied!
2.5. 사용 가능한 스토리지 장치 찾기
IBM Power의 PV를 생성하기 전에 OpenShift Data Foundation 레이블 cluster.ocs.openshift.io/openshift-storage='
로 레이블이 지정된 3개 이상의 작업자 노드 각각에 대한 장치 이름을 확인하려면 다음 절차를 사용하십시오.
프로세스
OpenShift Data Foundation 라벨을 사용하여 작업자 노드의 이름을 나열하고 확인합니다.
oc get nodes -l cluster.ocs.openshift.io/openshift-storage=
$ oc get nodes -l cluster.ocs.openshift.io/openshift-storage=
Copy to Clipboard Copied! 출력 예:
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
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
Copy to Clipboard Copied! OpenShift Data Foundation 리소스에 사용되는 각 작업자 노드에 로그인하고 Openshift Container Platform을 배포하는 동안 연결된 추가 디스크의 이름을 찾습니다.
oc debug node/<node name>
$ oc debug node/<node name>
Copy to Clipboard Copied! 출력 예:
oc debug node/worker-0
$ 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
Copy to Clipboard Copied! 이 예에서 worker-0의 경우 500G의 사용 가능한 로컬 장치는
sda
,sdc
,sde
,sdg
,sdi
,sdk
,sdm
,sdo
입니다.- OpenShift Data Foundation에서 스토리지 장치를 사용하는 다른 모든 작업자 노드에 대해 위의 단계를 반복합니다. 자세한 내용은 기술 자료 문서를 참조하십시오.
2.6. IBM Power에서 OpenShift Data Foundation 클러스터 생성
OpenShift Data Foundation Operator를 설치한 후 OpenShift Data Foundation 클러스터를 생성하려면 다음 절차를 사용하십시오.
사전 요구 사항
- 로컬 스토리지 장치 섹션을 사용하여 OpenShift Data Foundation 설치 요구 사항의 모든 요구 사항이 충족되었는지 확인합니다.
- IBM Power에서 로컬 스토리지 장치를 사용하려면 각 노드(예: 200GB SSD)에 연결된 최소 3개의 작업자 노드가 있어야 합니다.
OpenShift Container Platform 작업자 노드에 OpenShift Data Foundation에 대한 레이블이 지정되어 있는지 확인합니다.
oc get nodes -l cluster.ocs.openshift.io/openshift-storage -o jsonpath='{range .items[*]}{.metadata.name}{"\n"}'
oc get nodes -l cluster.ocs.openshift.io/openshift-storage -o jsonpath='{range .items[*]}{.metadata.name}{"\n"}'
Copy to Clipboard Copied!
각 노드에서 스토리지 장치를 식별하려면 사용 가능한 스토리지 장치 찾기를 참조하십시오.
프로세스
- OpenShift 웹 콘솔에 로그인합니다.
-
openshift-local-storage
네임스페이스에서 Operator → 설치된 Operator를 클릭하여 설치된 Operator를 확인합니다. - Local Storage 설치된 Operator를 클릭합니다.
- Operator 세부 정보 페이지에서 로컬 볼륨 링크를 클릭합니다.
- 로컬 볼륨 만들기를 클릭합니다.
- 로컬 볼륨 구성을 위해 YAML 보기를 클릭합니다.
다음 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
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
Copy to Clipboard Copied! 위의 정의는
worker-0
,worker-1
및worker-2
노드에서sda
로컬 장치를 선택합니다.localblock
스토리지 클래스가 생성되고sda
에서 영구 볼륨이 프로비저닝됩니다.중요환경에 따라 nodeSelector의 적절한 값을 지정합니다. 장치 이름은 모든 작업자 노드에서 동일해야 합니다. 둘 이상의 devicePaths를 지정할 수도 있습니다.
- 생성을 클릭합니다.
diskmaker-manager
Pod 및영구 볼륨이
생성되었는지 확인합니다.Pod의 경우
- OpenShift 웹 콘솔의 왼쪽 창에서 워크로드 → Pod 를 클릭합니다.
- 프로젝트 드롭다운 목록에서 openshift-local-storage 를 선택합니다.
-
LocalVolume CR을 생성하는 동안 사용한 각 작업자 노드에 대해
diskmaker-manager
Pod가 있는지 확인합니다.
영구 볼륨의 경우
- OpenShift 웹 콘솔 의 왼쪽 창에서 스토리지 → PersistentVolume 을 클릭합니다.
이름이
local-pv-*
인 영구 볼륨을 확인합니다. 영구 볼륨 수는 localVolume CR을 생성하는 동안 프로비저닝된 스토리지 장치 수 및 작업자 노드 수와 동일합니다.중요3개 이상의 노드로 생성한 스토리지 클러스터가 세 개 이상의 가용성 영역의 최소 요구 사항보다 적은 경우에만 유연한 확장 기능을 사용할 수 있습니다.
유연한 확장에 대한 자세한 내용은 유연한 확장이 활성화된 경우 YAML을 사용하여 OpenShift Data Foundation 클러스터 스케일링 에 대한 지식베이스 문서를 참조하십시오.
- 유연한 확장 기능은 배포 시 활성화되며 나중에 활성화하거나 비활성화할 수 없습니다.
OpenShift 웹 콘솔에서 Operator → 설치된 Operator를 클릭하여 설치된 모든 Operator를 확인합니다.
선택한 프로젝트가
openshift-storage
인지 확인합니다.- OpenShift Data Foundation Operator를 클릭한 다음 스토리지 시스템 만들기를 클릭합니다.
백업 스토리지 페이지에서 다음을 수행합니다.
- 배포 유형 옵션에 대해 Full Deployment를 선택합니다.
- 기존 스토리지 클래스 사용 옵션을 선택합니다.
LocalVolume을 설치하는 동안 사용한 필수 스토리지 클래스 를 선택합니다.
기본적으로 없음으로
설정됩니다
.- 선택 사항: 기본 StorageClass로 Ceph RBD 사용을 선택합니다. 이렇게 하면 StorageClass에 수동으로 주석을 달 필요가 없습니다.
선택 사항: 외부 PostgreSQL 사용 확인란을 선택하여 외부 PostgreSQL [기술 프리뷰] 를 사용합니다.
이는 PostgreSQL pod가 단일 장애 지점인 Multicloud Object Gateway에 대한 고가용성 솔루션을 제공합니다.
중요OpenShift Data Foundation은 Red Hat에서 유지 관리하는 PostgreSQL 이미지를 제공합니다. 이 이미지는 Multicloud Object Gateway의 메타데이터를 저장하는 데 사용됩니다. 이 PostgreSQL 사용은 애플리케이션 수준에 있습니다.
결과적으로 OpenShift Data Foundation은 데이터베이스 수준 최적화 또는 심층적인 인사이트를 수행하지 않습니다.
고객이 자체적으로 PostgreSQL을 유지 관리 및 최적화한 경우 이를 사용하는 것이 좋습니다. OpenShift Data Foundation은 외부 PostgreSQL 인스턴스를 지원합니다.
코드 변경 또는 깊은 기술 분석이 필요한 PostgreSQL 관련 문제는 업스트림에서 해결해야 할 수 있습니다. 이로 인해 문제 해결 시간이 길어질 수 있습니다.
다음 연결 세부 정보를 제공합니다.
- 사용자 이름
- 암호
- 서버 이름 및 포트
- 데이터베이스 이름
- Enable TLS/SSL (TLS/SSL 활성화) 확인란을 선택하여 Postgres 서버의 암호화를 활성화합니다.
- 다음을 클릭합니다.
용량 및 노드 페이지에서 다음을 구성합니다.
- 사용 가능한 원시 용량 은 스토리지 클래스와 연결된 모든 디스크에 따라 용량 값으로 채워집니다. 이 작업을 수행하는 데 시간이 다소 걸립니다. 선택한 노드 목록에는 스토리지 클래스를 기반으로 하는 노드가 표시됩니다.
성능 구성 섹션에서 다음 성능 프로필 중 하나를 선택합니다.
Lean
권장되는 리소스보다 낮은 최소 리소스가 있는 리소스 제한 환경에서 이 값을 사용합니다. 이 프로필은 CPU와 메모리를 더 적게 할당하여 리소스 사용을 최소화합니다.
balanced(기본값)
권장 리소스를 사용할 수 있는 경우 이 값을 사용합니다. 이 프로필은 다양한 워크로드의 리소스 사용과 성능 간에 균형을 유지합니다.
성능
리소스가 충분한 환경에서 이 기능을 사용하여 최상의 성능을 얻을 수 있습니다. 이 프로필은 워크로드의 최적 실행을 보장하기 위해 충분한 메모리 및 CPU를 할당하여 고성능에 맞게 조정됩니다.
참고StorageSystems 탭의 옵션 메뉴에서 성능 구성 옵션을 사용하여 배포 후에도 성능 프로필을 구성하는 옵션이 있습니다.
중요리소스 프로필을 선택하기 전에 클러스터 내의 리소스의 현재 가용성을 확인합니다. 리소스가 충분하지 않은 클러스터에서 더 높은 리소스 프로필을 선택하면 설치에 실패할 수 있습니다.
리소스 요구 사항에 대한 자세한 내용은 성능 프로필에 대한 리소스 요구 사항을 참조하십시오.
- 선택 사항: OpenShift Data Foundation에 대해 선택한 노드를 전용으로 설정하려면 테인트 노드 확인란을 선택합니다.
- 다음을 클릭합니다.
선택 사항: 보안 및 네트워크 페이지에서 요구 사항에 따라 다음을 구성합니다.
암호화를 활성화하려면 블록 및 파일 스토리지에 데이터 암호화 사용을 선택합니다.
암호화 수준 중 하나 또는 둘 다를 선택합니다.
클러스터 전체 암호화
전체 클러스터(블록 및 파일)를 암호화합니다.
스토리지 클래스 암호화
암호화 활성화된 스토리지 클래스를 사용하여 암호화된 영구 볼륨(블록만 해당)을 생성합니다.
선택 사항: 외부 키 관리 서비스에 연결 확인란을 선택합니다. 이는 클러스터 전체 암호화의 경우 선택 사항입니다.
- 키 관리 서비스 공급자 드롭다운 목록에서 Vault 또는 Thales CipherTrust Manager(KMIP 사용) 를 선택합니다. Vault 를 선택한 경우 다음 단계로 이동합니다. Thales CipherTrust Manager(KMIP를 사용하여) 를 선택한 경우 iii 단계로 이동합니다.
인증 방법을 선택합니다.
- 토큰 인증 방법 사용
- 고유한 연결 이름, Vault 서버의 호스트 주소 ('https://<hostname or ip>'), 포트 번호 및 토큰 을 입력합니다.
고급 설정을 확장하여
Vault
구성에 따라 추가 설정 및 인증서 세부 정보를 입력합니다.- OpenShift Data Foundation 전용 및 고유한 백엔드 경로에 키 값 시크릿 경로를 입력합니다.
- 선택 사항: TLS 서버 이름 및 Vault Enterprise 네임스페이스 를 입력합니다.
- 각 PEM 인코딩 인증서 파일을 업로드하여 CA 인증서,클라이언트 인증서 및 클라이언트 개인 키를 제공합니다.
- 저장을 클릭하고 단계 활성화로 건너뜁니다.
- Kubernetes 인증 방법 사용
- 고유한 Vault 연결 이름, Vault 서버의 호스트 주소 ('https://<hostname or ip>'), 포트 번호 및 역할 이름을 입력합니다.
고급 설정을 확장하여
Vault
구성에 따라 추가 설정 및 인증서 세부 정보를 입력합니다.- OpenShift Data Foundation 전용 및 고유한 백엔드 경로에 키 값 시크릿 경로를 입력합니다.
- 선택 사항: 해당하는 경우 TLS 서버 이름 및 인증 경로를 입력합니다.
- 각 PEM 인코딩 인증서 파일을 업로드하여 CA 인증서,클라이언트 인증서 및 클라이언트 개인 키를 제공합니다.
- 저장을 클릭하고 단계 활성화로 건너뜁니다.
Thales CipherTrust Manager (KMIP 사용) 를 KMS 공급자로 사용하려면 다음 단계를 따르십시오.
- 프로젝트 내에서 키 관리 서비스에 대한 고유한 연결 이름을 입력합니다.
주소 및 포트 섹션에서 Thales CipherTrust Manager의 IP와 KMIP 인터페이스가 활성화된 포트를 입력합니다. 예를 들면 다음과 같습니다.
- 주소: 123.34.3.2
- 포트: 5696
- 클라이언트 인증서,CA 인증서 및 클라이언트 개인 키를 업로드합니다.
- StorageClass 암호화가 활성화된 경우 위에서 생성된 암호화 및 암호 해독에 사용할 고유 ID를 입력합니다.
-
TLS Server 필드는 선택 사항이며 KMIP 엔드포인트에 대한 DNS 항목이 없을 때 사용됩니다. 예를 들어
kmip_all_<port>.ciphertrustmanager.local
.
네트워크를 선택합니다.
- IBM Power의 OpenShift Data Foundation에서 Multus가 아직 지원되지 않으므로 Default (OVN) 네트워크를 선택합니다.
- 다음을 클릭합니다.
전송 중 암호화를 활성화하려면 전송 중 암호화를 선택합니다.
- 네트워크를 선택합니다.
- 다음을 클릭합니다.
- 데이터 보호 페이지에서 Openshift Data Foundation에 대한 Regional-DR 솔루션을 구성하는 경우 재해 복구(Regional-DR만 해당) 확인란을 위해 클러스터 준비 확인란을 선택합니다.
검토 및 생성 페이지에서 다음을 수행합니다.
- 구성 세부 정보를 검토합니다. 구성 설정을 수정하려면 뒤로 이동하여 이전 구성 페이지로 돌아갑니다.
- 스토리지 시스템 생성을 클릭합니다.
배포에 5개 이상의 노드, 랙 또는 방이 있고 배포에 실패 도메인이 5개 이상 있는 경우 랙 또는 영역 수에 따라 Ceph 모니터 수를 구성할 수 있습니다. Ceph 모니터 수를 늘리는 옵션을 나타내기 위해 OpenShift 웹 콘솔의 알림 패널 또는 경고 센터에 경고가 표시됩니다. 경고에서 Configure 옵션을 사용하여 Ceph 모니터 수를 구성할 수 있습니다. 자세한 내용은 Re- low Ceph monitor count alert 에서 참조하십시오.
검증 단계
설치된 스토리지 클러스터의 최종 상태를 확인하려면 다음을 수행합니다.
- OpenShift 웹 콘솔에서 설치된 Operator → OpenShift Data Foundation → 스토리지 시스템 → ocs-storagecluster-storagesystem → Resources 로 이동합니다.
-
StorageCluster
의Status
가Ready
이고 옆에 녹색 눈금이 표시되어 있는지 확인합니다.
스토리지 클러스터에서 유연한 확장이 활성화되어 있는지 확인하려면 다음 단계를 수행합니다.
- OpenShift 웹 콘솔에서 설치된 Operator → OpenShift Data Foundation → 스토리지 시스템 → ocs-storagecluster-storagesystem → 리소스 → ocs-storagecluster 로 이동합니다.
YAML 탭의
spec
섹션에서flexibleScaling
키를 검색하고status
섹션에서failureDomain
을 검색합니다.flexible scaling
이 true이고failureDomain
이 host로 설정되면 유연한 확장 기능이 활성화됩니다.spec: flexibleScaling: true […] status: failureDomain: host
spec: flexibleScaling: true […] status: failureDomain: host
Copy to Clipboard Copied!
- OpenShift Data Foundation의 모든 구성 요소가 성공적으로 설치되었는지 확인하려면 OpenShift Data Foundation 배포 확인을 참조하십시오.
추가 리소스
- 초기 클러스터의 용량을 확장하려면 스토리지 확장 가이드를 참조하십시오.
3장. 내부 모드에 대한 OpenShift Data Foundation 배포 확인
이 섹션을 사용하여 OpenShift Data Foundation이 올바르게 배포되었는지 확인합니다.
3.1. Pod 상태 확인
OpenShift Data Foundation이 성공적으로 배포되었는지 확인하려면 Pod가 Running
상태인지 확인할 수 있습니다.
프로세스
- OpenShift 웹 콘솔의 왼쪽 창에서 워크로드 → Pod 를 클릭합니다.
프로젝트 드롭다운 목록에서
openshift-storage
를 선택합니다.참고기본 프로젝트 표시 옵션이 비활성화된 경우 토글 버튼을 사용하여 모든 기본 프로젝트를 나열합니다.
각 구성 요소에 대해 예상되는 Pod 수 및 노드 수에 따라 달라지는 방법에 대한 자세한 내용은 표 3.1. “OpenShift Data Foundation 클러스터에 해당하는 Pod” 을 참조하십시오.
Running 및 Completed 탭을 클릭하여 다음 Pod가 실행 중이고 완료된 상태인지 확인합니다.
표 3.1. OpenShift Data Foundation 클러스터에 해당하는 Pod Component 해당 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)OpenShift Data Foundation Client Operator
-
OCS-client-operator-console-*
(모든 스토리지 노드에 1 Pod) -
OCS-client-operator-controller-manager-*
(모든 스토리지 노드에 1 Pod)
UX 백엔드
UX-backend-server-*
(모든 스토리지 노드에 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-*
(스토리지 노드에 분산된 2 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 Pod)
-
rook-ceph-crashcollector
rook-ceph-crashcollector-*
(각 스토리지 노드에 1 Pod)rook-ceph-exporter
rook-ceph-exporter-worker-*
(각 스토리지 노드에 1 Pod)OSD
-
rook-ceph-osd-*
(각 장치의 1 Pod) -
rook-ceph-osd-prepare-*
(각 장치의 1 Pod)
-
3.2. OpenShift Data Foundation 클러스터 상태 확인
프로세스
- OpenShift 웹 콘솔에서 스토리지 → 데이터 Foundation 을 클릭합니다.
-
Storage Systems 탭을 클릭한 다음
ocs-storagecluster-storagesystem
을 클릭합니다. - 개요 탭의 블록 및 파일 대시보드의 상태 카드 에서 스토리지 클러스터 및 데이터 복원 모두에 녹색 눈금 표시가 있는지 확인합니다.
- 세부 정보 카드 에서 클러스터 정보가 표시되는지 확인합니다.
블록 및 파일 대시보드를 사용하는 OpenShift Data Foundation 클러스터의 상태에 대한 자세한 내용은 OpenShift Data Foundation 모니터링 을 참조하십시오.
3.3. Multicloud Object Gateway의 상태 확인
프로세스
- OpenShift 웹 콘솔에서 스토리지 → 데이터 Foundation 을 클릭합니다.
개요 탭의 상태 카드에서 스토리지 시스템을 클릭한 다음 해당 팝업에서 스토리지 시스템 링크를 클릭합니다.
- Object 탭의 상태 카드에서 Object Service 및 Data Resiliency 모두 녹색 눈금이 있는지 확인합니다.
- 세부 정보 카드에 MCG 정보가 표시되는지 확인합니다.
오브젝트 서비스 대시보드를 사용하는 OpenShift Data Foundation 클러스터의 상태에 대한 자세한 내용은 OpenShift Data Foundation 모니터링을 참조하십시오.
Multicloud Object Gateway에는 데이터베이스의 단일 사본만 있습니다(NooBaa DB). 즉, NooBaa DB PVC가 손상되어 복구할 수 없는 경우 Multicloud Object Gateway에 있는 적용 가능한 데이터의 총 데이터 손실이 발생할 수 있습니다. 이로 인해 Red Hat은 NooBaa DB PVC를 정기적으로 백업할 것을 권장합니다. NooBaa DB가 실패하고 복구할 수 없는 경우 최신 백업 버전으로 되돌릴 수 있습니다. NooBaa DB 백업에 대한 자세한 내용은 이 knowledgabase 문서 의 단계를 따르십시오.
3.4. 특정 스토리지 클래스가 있는지 확인
프로세스
- OpenShift 웹 콘솔의 왼쪽 창에서 스토리지 → 스토리지 클래스를 클릭합니다.
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 생성
Multicloud Object Gateway에는 데이터베이스의 단일 사본만 있습니다(NooBaa DB). 즉, NooBaa DB PVC가 손상되어 복구할 수 없는 경우 Multicloud Object Gateway에 있는 적용 가능한 데이터의 총 데이터 손실이 발생할 수 있습니다. 이로 인해 Red Hat은 NooBaa DB PVC를 정기적으로 백업할 것을 권장합니다. NooBaa DB가 실패하고 복구할 수 없는 경우 최신 백업 버전으로 되돌릴 수 있습니다. NooBaa DB 백업에 대한 자세한 내용은 이 knowledgabase 문서 의 단계를 따르십시오.
4.1. 로컬 스토리지 Operator 설치
로컬 스토리지 장치에서 OpenShift Data Foundation 클러스터를 생성하기 전에 Operator Hub에서 Local Storage Operator를 설치하려면 다음 절차를 사용하십시오.
프로세스
- OpenShift 웹 콘솔에 로그인합니다.
- Operators → OperatorHub를 클릭합니다.
-
키워드로 필터링...상자에
로컬 스토리지를
입력하여 Operator 목록에서 Local Storage Operator 를 찾은 후 클릭합니다. Operator 설치 페이지에서 다음 옵션을 설정합니다.
-
채널을
stable
로 업데이트합니다. - 설치 모드에서 클러스터의 특정 네임스페이스를 선택합니다.
- 설치된 네임스페이스를 Operator 권장 네임스페이스 openshift-local-storage를 선택합니다.
- 자동 승인 전략.
-
채널을
- 설치를 클릭합니다.
검증 단계
- 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=
$ oc annotate namespace openshift-storage openshift.io/node-selector=
-
노드에 Red Hat OpenShift Data Foundation 리소스만 예약되도록
infra
테인트를 구성합니다. 이를 통해 서브스크립션 비용을 절감할 수 있습니다. 자세한 내용은 스토리지 리소스 관리 및 할당 가이드의 Red Hat OpenShift Data Foundation 전용 작업자 노드를 사용하는 방법을 참조하십시오.
프로세스
- OpenShift 웹 콘솔에 로그인합니다.
- Operators → OperatorHub를 클릭합니다.
-
OpenShift Data Foundation
을 키워드로 필터링 상자에 스크롤하여 OpenShift Data Foundation Operator를 찾습니다. - 설치를 클릭합니다.
Operator 설치 페이지에서 다음 옵션을 설정합니다.
- Channel을 stable-4.16 으로 업데이트합니다.
- 설치 모드에서 클러스터의 특정 네임스페이스를 선택합니다.
-
설치된 네임스페이스에서 Operator 권장 네임스페이스 openshift-storage를 선책합니다. 네임스페이스
openshift-storage
가 없으면 Operator 설치 중에 생성됩니다.
승인 전략을 자동 또는 수동으로 선택합니다.
자동 업데이트를 선택하면 OLM(Operator Lifecycle Manager)은 개입 없이 Operator의 실행 중인 인스턴스를 자동으로 업그레이드합니다.
수동 업데이트를 선택하면 OLM에서 업데이트 요청을 생성합니다. 클러스터 관리자는 Operator를 최신 버전으로 업데이트하기 위해 해당 업데이트 요청을 수동으로 승인해야 합니다.
- Console 플러그인에 대해 Enable 옵션이 선택되어 있는지 확인합니다.
- 설치를 클릭합니다.
검증 단계
- OpenShift Data Foundation Operator에 설치 성공을 나타내는 녹색 눈금이 표시되는지 확인합니다.
Operator가 성공적으로 설치되면 메시지가 포함된 팝업
Web console update is available
이 사용자 인터페이스에 표시됩니다. 콘솔 변경 사항을 반영하려면 이 팝업 창에서 웹 콘솔 새로 고침을 클릭합니다.- 웹 콘솔에서 스토리지로 이동하여 Data Foundation 을 사용할 수 있는지 확인합니다.
4.3. IBM Power에서 독립 실행형 Multicloud Object Gateway 생성
OpenShift Data Foundation을 배포하는 동안 독립 실행형 Multicloud Object Gateway 구성 요소만 생성할 수 있습니다.
사전 요구 사항
- OpenShift Data Foundation Operator가 설치되어 있는지 확인합니다.
- (로컬 스토리지 장치만 사용하여 배포하는 경우) Local Storage Operator가 설치되어 있는지 확인합니다.
각 노드에서 스토리지 장치를 식별하려면 사용 가능한 스토리지 장치 찾기를 참조하십시오.
프로세스
- OpenShift 웹 콘솔에 로그인합니다.
-
openshift-local-storage
네임스페이스에서 Operator → 설치된 Operator 를 클릭하여 설치된 Operator를 확인합니다. - Local Storage 설치된 Operator를 클릭합니다.
- Operator 세부 정보 페이지에서 로컬 볼륨 링크를 클릭합니다.
- 로컬 볼륨 만들기를 클릭합니다.
- 로컬 볼륨 구성을 위해 YAML 보기를 클릭합니다.
다음 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
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
Copy to Clipboard Copied! 위의 정의는
worker-0
,worker-1
및worker-2
노드에서sda
로컬 장치를 선택합니다.localblock
스토리지 클래스가 생성되고sda
에서 영구 볼륨이 프로비저닝됩니다.중요환경에 따라 nodeSelector의 적절한 값을 지정합니다. 장치 이름은 모든 작업자 노드에서 동일해야 합니다. 둘 이상의 devicePaths를 지정할 수도 있습니다.
- 생성을 클릭합니다.
OpenShift 웹 콘솔에서 Operators → 설치된 Operator를 클릭하여 설치된 모든 Operator를 확인합니다.
선택한 프로젝트가
openshift-storage
인지 확인합니다.- OpenShift Data Foundation Operator를 클릭한 다음 스토리지 시스템 생성을 클릭합니다.
- 백업 스토리지 페이지에서 배포 유형에 대해 Multicloud Object Gateway를 선택합니다.
스토리지 유형 백업에 기존 StorageClass 옵션 사용을 선택합니다.
- LocalVolume 을 설치하는 동안 사용한 스토리지 클래스 를 선택합니다.
- 다음을 클릭합니다.
선택 사항: 보안 페이지에서 외부 키 관리 서비스에 연결 확인란을 선택합니다. 이는 클러스터 전체 암호화의 경우 선택 사항입니다.
- 키 관리 서비스 공급자 드롭다운 목록에서 Vault 또는 Thales CipherTrust Manager(KMIP 사용) 를 선택합니다. Vault 를 선택한 경우 다음 단계로 이동합니다. Thales CipherTrust Manager(KMIP를 사용하여) 를 선택한 경우 iii 단계로 이동합니다.
인증 방법을 선택합니다.
- 토큰 인증 방법 사용
- 고유한 연결 이름, Vault 서버의 호스트 주소 ('https://<hostname or ip>'), 포트 번호 및 토큰 을 입력합니다.
고급 설정을 확장하여
Vault
구성에 따라 추가 설정 및 인증서 세부 정보를 입력합니다.- OpenShift Data Foundation 전용 및 고유한 백엔드 경로에 키 값 시크릿 경로를 입력합니다.
- 선택 사항: TLS 서버 이름 및 Vault Enterprise 네임스페이스 를 입력합니다.
- 각 PEM 인코딩 인증서 파일을 업로드하여 CA 인증서,클라이언트 인증서 및 클라이언트 개인 키를 제공합니다.
- 저장을 클릭하고 단계 활성화로 건너뜁니다.
- Kubernetes 인증 방법 사용
- 고유한 Vault 연결 이름, Vault 서버의 호스트 주소 ('https://<hostname or ip>'), 포트 번호 및 역할 이름을 입력합니다.
고급 설정을 확장하여
Vault
구성에 따라 추가 설정 및 인증서 세부 정보를 입력합니다.- OpenShift Data Foundation 전용 및 고유한 백엔드 경로에 키 값 시크릿 경로를 입력합니다.
- 선택 사항: 해당하는 경우 TLS 서버 이름 및 인증 경로를 입력합니다.
- 각 PEM 인코딩 인증서 파일을 업로드하여 CA 인증서,클라이언트 인증서 및 클라이언트 개인 키를 제공합니다.
- 저장을 클릭하고 단계 활성화로 건너뜁니다.
Thales CipherTrust Manager (KMIP 사용) 를 KMS 공급자로 사용하려면 다음 단계를 따르십시오.
- 프로젝트 내에서 키 관리 서비스에 대한 고유한 연결 이름을 입력합니다.
주소 및 포트 섹션에서 Thales CipherTrust Manager의 IP와 KMIP 인터페이스가 활성화된 포트를 입력합니다. 예를 들면 다음과 같습니다.
- 주소: 123.34.3.2
- 포트: 5696
- 클라이언트 인증서,CA 인증서 및 클라이언트 개인 키를 업로드합니다.
- StorageClass 암호화가 활성화된 경우 위에서 생성된 암호화 및 암호 해독에 사용할 고유 ID를 입력합니다.
-
TLS Server 필드는 선택 사항이며 KMIP 엔드포인트에 대한 DNS 항목이 없을 때 사용됩니다. 예를 들어
kmip_all_<port>.ciphertrustmanager.local
.
- 네트워크를 선택합니다.
- 다음을 클릭합니다.
검토 및 생성 페이지에서 구성 세부 정보를 검토합니다.
구성 설정을 수정하려면 뒤로를 클릭합니다.
- 스토리지 시스템 생성을 클릭합니다.
검증 단계
- OpenShift Data Foundation 클러스터 상태 확인
- OpenShift 웹 콘솔에서 스토리지 → 데이터 Foundation 을 클릭합니다.
Storage Systems 탭을 클릭한 다음
ocs-storagecluster-storagesystem
을 클릭합니다.- Object 탭의 상태 카드에서 Object Service 및 Data Resiliency 모두 녹색 눈금이 있는지 확인합니다.
- 세부 정보 카드에 MCG 정보가 표시되는지 확인합니다.
- Pod 상태 확인
- OpenShift 웹 콘솔에서 워크로드 → Pod를 클릭합니다.
프로젝트 드롭다운 목록에서
openshift-storage
를 선택하고 다음 Pod가Running
상태인지 확인합니다.참고기본 프로젝트 표시 옵션이 비활성화된 경우 토글 버튼을 사용하여 모든 기본 프로젝트를 나열합니다.
Component 해당 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-*
(모든 스토리지 노드에 1 Pod)
-
5장. OpenShift Data Foundation 토폴로지 보기
토폴로지는 다양한 추상화 수준에서 OpenShift Data Foundation 스토리지 클러스터의 매핑된 시각화를 보여주고 이러한 계층과 상호 작용할 수 있습니다. 또한 보기에는 다양한 요소가 스토리지 클러스터를 완전히 구성하는 방법도 보여줍니다.
프로세스
OpenShift 웹 콘솔에서 스토리지 → 데이터 Foundation → 토폴로지 로 이동합니다.
보기에는 스토리지 클러스터와 그 내부의 영역이 표시됩니다. 영역 내의 원형 엔티티에 의해 표시되는 노드를 볼 수 있으며 이는 점선으로 표시됩니다. 각 항목 또는 리소스의 레이블에는 상태 및 상태 또는 경고와 같은 기본 정보가 포함되어 있습니다.
- 오른쪽 패널에서 노드 세부 정보를 볼 노드를 선택합니다. 검색/미리 보기 데코레이터 아이콘을 클릭하여 노드 내의 리소스 또는 배포에 액세스할 수도 있습니다.
배포 세부 정보를 보려면
- 노드에서 프리뷰 데코레이터를 클릭합니다. 모달 창이 노드 위에 해당 노드와 연결된 모든 배포를 해당 상태와 함께 표시합니다.
- 모델의 왼쪽 상단 모서리에서 Back to main view 버튼을 클릭하여 이전 뷰로 돌아갑니다.
- 특정 배포를 선택하여 해당 배포에 대한 자세한 내용을 확인합니다. 모든 관련 데이터는 측면 패널에 표시됩니다.
- 리소스 탭을 클릭하여 Pod 정보를 확인합니다. 이 탭에서는 문제에 대한 깊은 이해를 제공하고 문제 해결을 개선하는 데 도움이 되는 세분화를 제공합니다.
- Pod 링크를 클릭하여 OpenShift Container Platform의 Pod 정보 페이지를 확인합니다. 링크가 새 창에서 열립니다.
6장. OpenShift Data Foundation 설치 제거
6.1. 내부 모드에서 OpenShift Data Foundation 설치 제거
내부 모드에서 OpenShift Data Foundation을 설치 제거하려면 OpenShift Data Foundation 설치 제거에 대한 지식 베이스 문서를 참조하십시오.