第6章 OpenShift Data Foundation 外部シークレットの更新
OpenShift Data Foundation の最新バージョンへの更新後に、OpenShift Data Foundation 外部シークレットを更新します。
バッチ更新には、外部シークレットを更新する必要はありません。たとえば、OpenShift Data Foundation 4.14.x から 4.14.y に更新する場合。
前提条件
- OpenShift Container Platform クラスターを 4.14.z の最新の安定したリリースに更新している。詳細は、Updating Clusters を参照してください。
OpenShift Data Foundation クラスターが正常であること、およびデータに回復性があることを確認する。Storage
Data Foundation Storage Systems タブに移動してから、ストレージシステム名をクリックします。 - Overview - Block and File タブで Status カードをチェックして、Storage cluster に正常であることを示す緑色のチェックマークが表示されていることを確認します。
- Object タブをクリックして、Object Service および Data resiliency に正常であることを示す緑色のチェックマークが表示されていることを確認します。RADOS Object Gateway は、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 スクリプトを実行します。
注記- 使用したオプションの引数も含め、元のデプロイメントで使用したすべてのフラグを必ず使用してください。
-
monitoring-endpoint
およびmonitoring-endpoint-port
を除くオプション引数を含むすべてのパラメーターが、外部モードでの OpenShift Data Foundation のデプロイメント時に使用したパラメーターと同じであることを確認します。
# 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 クラスターから到達可能な、アクティブ mgr およびスタンバイ mgr の IP アドレスのコンマ区切りリストを受け入れます。指定しないと、値が自動的に入力されます。
--monitoring-endpoint-port
-
オプション。
--monitoring-endpoint
で指定された ceph-mgr Prometheus エクスポーターに関連付けられるポートです。指定しないと、値が自動的に入力されます。 --run-as-user
OpenShift Data Foundation クラスターのデプロイメント時に使用されるクライアント名。別のクライアント名が設定されていない場合は、デフォルトのクライアント名
client.healthchecker
を使用します。その他のフラグ:
rgw-pool-prefix
(オプション) RGW プールの接頭辞。指定しない場合、デフォルトの接頭辞は
default
になります。rgw-tls-cert-path
(オプション) RADOS Gateway エンドポイント TLS 証明書のファイルパス。
rgw-skip-tls
(オプション) このパラメーターは、自己署名証明書が提供される場合、TLS 証明書検証を無視します (非推奨)。
ceph-conf
(オプション) Ceph 設定ファイルの名前。
cluster-name
(オプション) Ceph クラスター名。
出力 (output)
(オプション) 出力の保存が必要なファイル。
cephfs-metadata-pool-name
(オプション) CephFS メタデータプールの名前。
cephfs-data-pool-name
(オプション) CephFS データプールの名前。
cephfs-filesystem-name
(オプション) CephFS ファイルシステムの名前。
rbd-metadata-ec-pool-name
(オプション) イレイジャーコードの RBD メタデータプールの名前。
dry-run
(オプション) このパラメーターは、実行されたコマンドを実行せずに出力する際に役立ちます。
前の手順でスクリプトを実行した後に生成された 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 Web コンソールにログインします。
-
Workloads
Secrets をクリックします。 -
プロジェクトを
openshift-storage
に設定します。 - rook-ceph-external-cluster-details をクリックします。
-
Actions (⋮)
Edit Secret をクリックします。 - Browse をクリックして JSON ファイルをアップロードします。
- Save をクリックします。
検証手順
OpenShift Data Foundation クラスターが正常であり、データに回復性があることを確認するには、Storage
Data Foundation Storage Systems タブに移動してから、ストレージシステム名をクリックします。 -
Overview
Block and File タブで、Details カードをチェックして、RHCS ダッシュボードのリンクが利用可能であることを確認し、Status カードをチェックして、Storage Cluster に正常であることを示す緑色のチェックマークが表示されていることも確認します。 - Object タブをクリックして、Object Service および Data resiliency に正常であることを示す緑色のチェックマークが表示されていることを確認します。RADOS Object Gateway は、OpenShift Data Foundation を外部モードでデプロイする際に、RADOS Object Gateway エンドポイントの詳細が含まれている場合にのみ表示されます。
-
Overview
- 検証手順が失敗した場合は、Red Hat サポート にお問い合わせください。