Whizard 存储

1. 本地存储模式

Whizard 可以通过PV/PVC 挂载数据卷的方式, 使用本地存储,可实现大数据量的数据存储。配置上可以在 services.monitoring.whizard.io CRD 中修改 ingesterTemplateSpec.dataVolume 进行更新。

  1. ingesterTemplateSpec:
  2. dataVolume:
  3. persistentVolumeClaim:
  4. spec:
  5. resources:
  6. requests:
  7. storage: 20Gi

2. 本地存储 + 对象存储模式

Whizard 推荐使用本地存储 + 对象存储模式存储海量数据,本地存储近期数据,历史数据存储在对象存储上,通过数据压缩与降采样,进一步节省存储空间,提升数据查询能力。

2.1 创建对象存储的自定义资源

首先,为Storage CR的创建Secret,借助 Kubernetes Secret 加密对象存储访问密钥access_keysecret_key

  1. kubectl create secret generic -n kubesphere-monitoring-system storage-remote-secret --from-literal=accessKey=<your_access_key> --from-literal=secretKey=<your_secret_key>

然后,我们创建 Storage CR,更多 storages.monitoring.whizard.io 字段配置可参考其定义

  1. cat <<EOF | kubectl apply -f -
  2. apiVersion: monitoring.whizard.io/v1alpha1
  3. kind: Storage
  4. metadata:
  5. name: remote
  6. namespace: kubesphere-monitoring-system
  7. spec:
  8. S3:
  9. bucket: "xxxxxxxxxx"
  10. endpoint: "s3.pek3b.qingstor.com:443"
  11. accessKey:
  12. name: storage-remote-secret
  13. key: accessKey
  14. secretKey:
  15. name: storage-remote-secret
  16. key: secretKey
  17. EOF

创建好 Storage CR 后,我们可以为 services.monitoring.whizard.io 配置默认的对象存储 ,也可以为特定租户配置独立的对象存储。

2.2 为 Service 配置默认的对象存储

在创建好 Storage CR 后,我们可以为 services.monitoring.whizard.io 配置默认的对象存储,将 Storage CR 与 Service CR 进行关联。我们以 kubesphere-monitoring-system namespace 下的 whizard Service CR 为例,关联刚刚创建的 reomte Storage CR。

  1. kubectl edit service.monitoring.whizard.io -n kubesphere-monitoring-system whizard
  1. spec:
  2. storage: #更新service.spec 中的storage字段,关联使用的对象存储
  3. name: remote
  4. namespace: kubesphere-monitoring-system

除了直接操作 CR 方式外,你也可以通过 KuberSphere Enterprise 的控制台进行操作, 路径为: 进入 Whizard 可观测中心 -> 组件设置 -> 长期存储

长期存储设置