6장. OpenShift Data Foundation 외부 시크릿 업데이트
OpenShift Data Foundation의 최신 버전으로 업데이트한 후 OpenShift Data Foundation 외부 시크릿을 업데이트합니다.
배치 업데이트에는 외부 보안을 업데이트할 필요가 없습니다. 예를 들어 OpenShift Data Foundation 4.11.x에서 4.11.y로 업데이트할 때입니다.
사전 요구 사항
- OpenShift Container Platform 클러스터를 4.11.z의 최신 릴리스로 업데이트한 후 클러스터 업데이트를 참조하십시오.
OpenShift Data Foundation 클러스터가 정상이고 데이터 복원력이 있는지 확인합니다. Storage
Data Foundation Storage Systems 탭으로 이동한 다음 스토리지 시스템 이름을 클릭합니다. - Overview - Block and File 탭에서 Status 카드를 확인하고 Storage 클러스터에 정상임을 나타내는 녹색 눈금이 있는지 확인합니다.
- 오브젝트 탭을 클릭하고 오브젝트 서비스 및 데이터 복원력에 정상임을 나타내는 녹색 눈금이 있는지 확인합니다. RADOS 오브젝트 게이트웨이는 OpenShift Data Foundation을 외부 모드로 배포하는 동안 RADOS Object Gateway 끝점 세부 정보가 포함된 경우에만 나열됩니다.
- Red Hat Ceph Storage에는 Ceph 대시보드가 설치 및 구성되어 있어야 합니다.
절차
ceph-external-cluster-details-exporter.py
python 스크립트의 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
업데이트 권한은 외부 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
사용자에 대한 업데이트된 권한은 다음과 같이 설정됩니다.
client.csi-cephfs-node key: AQCYz0piYgu/IRAAipji4C8+Lfymu9vOrox3zQ== caps: [mds] allow rw caps: [mgr] allow rw caps: [mon] allow r, allow command 'osd blocklist' caps: [osd] allow rw tag cephfs = client.csi-cephfs-provisioner key: AQCYz0piDUMSIxAARuGUyhLXFO9u4zQeRG65pQ== caps: [mgr] allow rw caps: [mon] allow r, allow command 'osd blocklist' caps: [osd] allow rw tag cephfs metadata=* client.csi-rbd-node key: AQCYz0pi88IKHhAAvzRN4fD90nkb082ldrTaHA== caps: [mon] profile rbd, allow command 'osd blocklist' caps: [osd] profile rbd client.csi-rbd-provisioner key: AQCYz0pi6W8IIBAAgRJfrAW7kZfucNdqJqS9dQ== caps: [mgr] allow rw caps: [mon] profile rbd, allow command 'osd blocklist' caps: [osd] profile rbd
이전에 다운로드한 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]
--rbd-data-pool-name
- OpenShift Data Foundation에서 블록 스토리지를 제공하는 데 사용되는 필수 매개변수입니다.
--rgw-endpoint
-
이는 선택 사항입니다. OpenShift Data Foundation용 Ceph Rados Gateway를 통해 오브젝트 스토리지를 프로비저닝할 경우 이 매개변수를 제공합니다. 끝점을 <
ip_address>:<port> 형식으로 입력합니다
. --monitoring-endpoint
- 이는 선택 사항입니다. OpenShift Container Platform 클러스터에서 연결할 수 있는 활성 및ECDHE mgrs의 IP 주소 목록을 쉼표로 구분하여 허용합니다. 지정하지 않으면 값이 자동으로 채워집니다.
--monitoring-endpoint-port
-
이는 선택 사항입니다.
--monitoring-endpoint
로 지정된 ceph-mgr Prometheus 내보내기er와 관련된 포트입니다. 지정하지 않으면 값이 자동으로 채워집니다. --run-as-user
OpenShift 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>"}}]
생성된 JSON 파일을 업로드합니다.
- OpenShift 웹 콘솔에 로그인합니다.
-
워크로드
시크릿 을 클릭합니다. -
project를
openshift-storage
로 설정합니다. - rook-ceph-external-cluster-details 를 클릭합니다.
-
작업(ECDHE)
시크릿 편집 을 클릭합니다. - 찾아보기 를 클릭하고 JSON 파일을 업로드합니다.
- 저장을 클릭합니다.
검증 단계
OpenShift Data Foundation 클러스터가 정상이고 데이터가 탄력적인지 확인하려면 Storage
Data Foundation Storage Systems 탭으로 이동한 다음 스토리지 시스템 이름을 클릭합니다. -
개요
블록 및 파일 탭에서 세부 정보 카드를 확인하여 RHCS 대시보드 링크가 사용 가능한지 확인하고 Status 카드를 확인하여 스토리지 클러스터에 정상임을 나타내는 녹색 눈금이 있는지 확인합니다. - 오브젝트 탭을 클릭하고 오브젝트 서비스 및 데이터 복원력에 정상임을 나타내는 녹색 눈금이 있는지 확인합니다. RADOS 오브젝트 게이트웨이는 OpenShift Data Foundation을 외부 모드로 배포하는 동안 RADOS Object Gateway 끝점 세부 정보가 포함된 경우에만 나열됩니다.
-
개요
- 검증 단계가 실패하는 경우 Red Hat 지원팀에 문의하십시오.