第 6 章 更新 OpenShift Data Foundation 外部机密


在升级到最新版本的 OpenShift Data Foundation 后,更新 OpenShift Data Foundation 外部机密。

注意

批处理更新不需要更新外部 secret。例如,当从 OpenShift Data Foundation 4.15.x 更新至 4.15.y 时。

先决条件

  • 将 OpenShift Container Platform 集群更新至 4.15.z 的最新稳定版本,请参阅更新集群
  • 确保 OpenShift Data Foundation 集群正常运行,数据具有弹性。进入到 Storage Data Foundation Storage Systems 选项卡,然后点存储系统名称。

    • Overview - Block and File 选项卡中,检查 Status 卡并确认 存储集群 有一个绿色勾号指示其健康。
    • 单击 Object 选项卡,并确认 Object Service数据弹性具有绿色勾号,指示其运行正常。RADOS 对象网关仅列出在以外部模式部署 OpenShift Data Foundation 时包含 RADOS 对象网关端点详细信息的情况。
  • Red Hat Ceph Storage 必须安装并配置 Ceph 控制面板。

流程

  1. 下载 OpenShift Data Foundation 的 ceph-external-cluster-details-exporter.py python 脚本。

    Copy to Clipboard Toggle word wrap
    # 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
  2. 通过在外部 Red Hat Ceph Storage 集群中的任何客户端节点上运行 ceph-external-cluster-details-exporter.py,更新外部 Red Hat Ceph Storage 存储集群的权限上限。您可能需要要求您的 Red Hat Ceph Storage 管理员来执行此操作。

    Copy to Clipboard Toggle word wrap
    # python3 ceph-external-cluster-details-exporter.py --upgrade

    用户的更新权限被设置为:

    Copy to Clipboard Toggle word wrap
    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
  3. 运行之前下载的 python 脚本,再保存从外部 Red Hat Ceph Storage 存储集群生成的 JSON 输出。

    1. 运行之前下载的 python 脚本:

      注意
      • 确保使用您在原始部署中使用的所有标志,包括您已使用的任何可选参数。
      • 确保除 monitoring-endpointmonitoring-endpoint-port 外的所有参数(包括可选参数)与您在外部模式中最初部署 OpenShift Data Foundation 期间所用的相同。
      Copy to Clipboard Toggle word wrap
      # 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
      是可选的。如果要通过 Ceph Rados 网关为 OpenShift Data Foundation 置备对象存储,请提供此参数。提供以下格式的端点: <ip_address>:<port>
      --monitoring-endpoint
      是可选的。它接受可从 OpenShift Container Platform 集群访问的活跃和待机 mgrs 的以逗号分隔的 IP 地址列表。如果没有提供,则会自动填充该值。
      --monitoring-endpoint-port
      是可选的。它是与 --monitoring-endpoint 指定的 ceph-mgr Prometheus exporter 关联的端口。如果没有提供,则会自动填充该值。
      --run-as-user

      在 OpenShift Data Foundation 集群部署期间使用的客户端名称。如果未设置其他客户端名称,请使用默认的客户端名称 client.healthchecker

      附加标记:

      rgw-pool-prefix

      (可选) RGW 池的前缀。如果未指定,默认的前缀为 default

      rgw-tls-cert-path

      (可选)RADOS 网关端点 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

      (可选)此参数会打印已执行命令的输出而不实际运行它们。

    2. 保存在上一步中运行脚本后生成的 JSON 输出。

      输出示例:

      Copy to Clipboard Toggle word wrap
      [{"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>"}}]
  4. 上传生成的 JSON 文件。

    1. 登录 OpenShift Web 控制台。
    2. Workloads Secrets
    3. 将项目设置为 openshift-storage
    4. rook-ceph-external-cluster-details
    5. Actions (⋮) Edit Secret
    6. Browse,再上传该 JSON 文件。
    7. Save

验证步骤

  • 要验证 OpenShift Data Foundation 集群是否健康,且数据具有弹性,请导航到 Storage Data foundation Storage Systems 选项卡,然后点击存储系统名称。

    • Overview Block and File 标签页中,检查 Details 卡来验证 RHCS 仪表板链接是否可用,并检查 Status 卡以确认存储集群有一个绿色勾号指示它处于健康状态。
    • 单击 Object 选项卡,并确认 Object Service数据弹性具有绿色勾号,指示其运行正常。RADOS 对象网关仅列出在以外部模式部署 OpenShift Data Foundation 时包含 RADOS 对象网关端点详细信息的情况。
  • 如果验证步骤失败,请联系红帽支持
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat, Inc.