首页 / 常见问题 / 如何为 apollo 组件配置存储?

如何为 apollo 组件配置存储?

平台上的 apollo 组件,用于支持运营统计数据、日志数据的查询和导出。而导出数据功能,依赖组件的存储配置。

部署平台时,如果没有为 apollo 组件配置存储,则无法使用:

操作步骤 1 - 创建 PVC

在 global 集群中 apollo 组件运行的命名空间下,创建一个用于为 apollo 组件提供存储的 PVC(PersistentVolumeClaim,持久卷声明)。

限制与约束

操作步骤

  1. 在左侧导航栏中,单击 集群 > 资源管理

  2. 单击导航栏上方集群切换入口,切换至 global 集群。

  3. 单击 创建资源对象

  4. 参照以下示例及参数说明,手动输入 PVC 的 YAML 编排文件内容后单击 创建

    提示:PVC 创建后,需要成功绑定 PV(PersistentVolume,持久卷)才能提供存储能力。

    PVC YAML 文件示例

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: test-meter-pvc              ## PVC 的名称
      namespace: cpaas-system              ## global 集群下 apollo 组件运行的命名空间名称。该命名空间的名称在平台部署时配置,默认为 cpass-system
      annotations: {}
      labels: {}
    spec:
      storageClassName: ''
      accessModes:
        - ReadWriteOnce
      resources:
        requests:
          storage: 2Gi              ## PVC 大小,请根据实际需要设置

    参数说明

    • metadata.name:PVC 的名称。

    • metadata.namespace:global 集群下 apollo 组件运行的命名空间名称。该命名空间的名称在平台部署时配置,默认为 cpass-system,请根据实际配置填写。

    • requests.storage:PVC 大小,请根据实际需要设置。

操作步骤 2 - 更新 base

修改 global 集群下类型为 ProductBase 名称为 base 的资源,为 apollo 组件设置共享路径。

操作步骤

  1. 在左侧导航栏中,单击 集群 > 资源管理

  2. 单击导航栏上方集群切换入口,切换至 global 集群。

  3. 搜索类型为 ProductBase 名称为 base集群相关 资源。

  4. 单击 base 右侧的 > 更新

  5. YAML(读写) 区域,为 key spec.valuesOverride 添加如下内容:

    提示:如果不存在 key spec.valuesOverride,请先添加该 key。

    spec:
      valuesOverride:
        "ait/chart-alauda-base": 
          apollo:
            shareDir:
              persistentVolumeClaim: {PVC-name}  ## 输入上一步骤创建的 PVC 的名称
  6. 单击 更新 按钮,等待配置生效即可。

验证方法

完成上述两个步骤后,稍等片刻,前往平台管理页面。查看 平台管理 > 运营统计 模块中的统计报表导出功能和导出记录页面相关功能,如果能够正常使用,则表明配置已生效。

常见问题

导出功能仍不可用

请检查 PVC 是否已成功绑定 PV,如未绑定,需要手动创建满足匹配需求的 PV 资源。

导出审计或日志数据时,返回 404 且提示“no such file or directory”

若 apollo 组件有多个 Pod,但为其配置的 PVC 绑定的 PV 不支持共享存储时,会出现此类问题。

请检查 apollo 组件的 Pod 是否共享存储(Pod 存储在 PVC 中的数据相同)。若 apollo 组件的 Pod 无法共享存储,请重新为其配置 PVC,并为 PVC 绑定类型为 nfscephfs 的 PV。