OpenShift Container Storage is now OpenShift Data Foundation starting with version 4.9.
6장. OpenShift Data Foundation 외부 시크릿 업데이트
OpenShift Data Foundation 최신 버전으로 업데이트한 후 OpenShift Data Foundation 외부 시크릿을 업데이트합니다.
배치 업데이트에는 외부 시크릿을 업데이트할 필요가 없습니다. 예를 들어 OpenShift Data Foundation 4.10.x에서 4.10.y로 업데이트할 때 사용합니다.
사전 요구 사항
- OpenShift Container Platform 클러스터를 4.10.z의 안정적인 최신 릴리스로 업데이트하면 클러스터 업데이트를 참조하십시오.
OpenShift Data Foundation 클러스터가 정상이며 데이터의 복원력이 있는지 확인합니다. Storage
Data Foundation Storage Systems 탭으로 이동한 다음 스토리지 시스템 이름을 클릭합니다. - Overview - Block and File 탭에서 Status 카드를 확인하고 Storage 클러스터에 녹색 눈금이 정상인지 확인합니다.
- 오브젝트 탭을 클릭하고 오브젝트 서비스 및 데이터 복원력 이 정상임을 나타내는 녹색 눈금이 있는지 확인합니다. RADOS 오브젝트 게이트웨이는 OpenShift Data Foundation을 외부 모드에 배포하는 동안 RADOS 오브젝트 게이트웨이 세부 정보가 포함된 경우에만 나열됩니다.
- Red Hat Ceph Storage에는 Ceph 대시보드가 설치되어 구성되어 있어야 합니다.
절차
ceph-external-cluster-details-exporter.pypython 스크립트의 OpenShift Data Foundation 버전을 다운로드합니다.oc get csv $(oc get csv -n openshift-storage | grep ocs-operator | awk '{print $1}') -n openshift-storage -o jsonpath='{.metadata.annotations.external\.features\.ocs\.openshift\.io/export-script}' | base64 --decode > ceph-external-cluster-details-exporter.py# oc get csv $(oc get csv -n openshift-storage | grep ocs-operator | awk '{print $1}') -n openshift-storage -o jsonpath='{.metadata.annotations.external\.features\.ocs\.openshift\.io/export-script}' | base64 --decode > ceph-external-cluster-details-exporter.pyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 업데이트 권한은 외부 Red Hat Ceph Storage 클러스터의 모든 클라이언트 노드에서
ceph-external-cluster-details-exporter.py를 실행하여 외부 Red Hat Ceph Storage 클러스터에서 제한됩니다. 이 작업을 수행하려면 Red Hat Ceph Storage 관리자에게 문의해야 할 수 있습니다.python3 ceph-external-cluster-details-exporter.py --upgrade
# python3 ceph-external-cluster-details-exporter.py --upgradeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 사용자에 대한 업데이트된 권한은 다음과 같이 설정됩니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이전에 다운로드한 python 스크립트를 실행하고 외부 Red Hat Ceph Storage 클러스터에서 생성된 JSON 출력을 저장합니다.
이전에 다운로드한 python 스크립트를 실행합니다.
python3 ceph-external-cluster-details-exporter.py --rbd-data-pool-name <rbd block pool name> --monitoring-endpoint <ceph mgr prometheus exporter endpoint> --monitoring-endpoint-port <ceph mgr prometheus exporter port> --rgw-endpoint <rgw endpoint> --run-as-user <ocs_client_name> [optional arguments]
# python3 ceph-external-cluster-details-exporter.py --rbd-data-pool-name <rbd block pool name> --monitoring-endpoint <ceph mgr prometheus exporter endpoint> --monitoring-endpoint-port <ceph mgr prometheus exporter port> --rgw-endpoint <rgw endpoint> --run-as-user <ocs_client_name> [optional arguments]Copy to Clipboard Copied! Toggle word wrap Toggle overflow --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-userOpenShift Data Foundation 클러스터 배포 중에 사용되는 클라이언트 이름입니다. 다른 클라이언트 이름이 설정되지 않은 경우 기본 클라이언트 이름
client.healthchecker를 사용합니다.참고monitoring-endpoint 및 monitoring-endpoint-port를 제외한 선택적 인수를 포함하여 모든 매개변수가 외부 모드에서 OpenShift Data Foundation을 배포하는 동안 사용된 것과 동일한지 확인합니다.
이전 단계에서 스크립트를 실행한 후 생성된 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.xxxx", "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.xxxx", "poolPrefix": "default"}}, {"name": "rgw-admin-ops-user", "kind": "Secret", "data": {"accessKey": "<access-key>", "secretKey": "<secret-key>"}}][{"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.xxxx", "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.xxxx", "poolPrefix": "default"}}, {"name": "rgw-admin-ops-user", "kind": "Secret", "data": {"accessKey": "<access-key>", "secretKey": "<secret-key>"}}]Copy to Clipboard Copied! Toggle word wrap Toggle overflow
생성된 JSON 파일을 업로드합니다.
- OpenShift 웹 콘솔에 로그인합니다.
-
워크로드
시크릿 을 클릭합니다. -
project를
openshift-storage로 설정합니다. - rook-ceph-external-cluster-details 를 클릭합니다.
-
작업(hiera)
시크릿 편집 을 클릭합니다. - 찾아보기 를 클릭하고 JSON 파일을 업로드합니다.
- 저장을 클릭합니다.
검증 단계
OpenShift Data Foundation 클러스터가 정상이고 데이터가 탄력적인지 확인하려면 Storage
Data Foundation Storage Systems 탭으로 이동한 다음 스토리지 시스템 이름을 클릭합니다. -
개요
블록 및 파일 탭에서 Details 카드를 확인하여 RHCS 대시보드 링크를 사용할 수 있는지 확인하고 Status 카드를 확인하여 스토리지 클러스터에 녹색 눈금이 정상인지 확인합니다. - 오브젝트 탭을 클릭하고 오브젝트 서비스 및 데이터 복원력 이 정상임을 나타내는 녹색 눈금이 있는지 확인합니다. RADOS 오브젝트 게이트웨이는 OpenShift Data Foundation을 외부 모드에 배포하는 동안 RADOS 오브젝트 게이트웨이 세부 정보가 포함된 경우에만 나열됩니다.
-
개요
- 확인 단계가 실패하면 Red Hat 지원팀에 문의하십시오.