持久化 Chaos Dashboard 数据
本文档介绍如何持久化 Chaos Dashboard 数据。
Chaos Dashboard 支持 SQLite
、MySQL
和 PostgreSQL
作为后端数据存储。
SQLite(默认存储)
Chaos Dashboard 默认使用 SQLite
作为后端存储,并推荐为 SQLite
配置单独的持久卷 (PV) 。如需要配置 PV,请在安装的时候指定 dashboard.persistentVolume.enabled
为 true
和设置其他 PV 相关的配置。value.yaml
中 PV 相关的配置如下:
dashboard:
...
persistentVolume:
# If you are using SQLite as your DB for Chaos Dashboard, it is recommended to enable persistence.
# If enable, the chart will create a PersistenceVolumeClaim to store its state in. If you are
# using a DB other than SQLite, set this to false to avoid allocating unused storage.
# If set to false, Chaos Mesh will use an emptyDir instead, which is ephemeral.
enabled: true
# If you'd like to bring your own PVC for persisting chaos event, pass the name of the
# created + ready PVC here. If set, this Chart will not create the default PVC.
# Requires server.persistentVolume.enabled: true
existingClaim: ""
# Chaos Dashboard data Persistent Volume size.
size: 8Gi
# Chaos Dashboard data Persistent Volume Storage Class.
# If defined, storageClassName: <storageClass>
storageClassName: standard
# Chaos Dashboard data Persistent Volume mount root path
mountPath: /data
# Subdirectory of Chaos Dashboard data Persistent Volume to mount
# Useful if the volume's root directory is not empty
subPath: ""
如果不配置 PV 的情况下,Chaos Dashboard 发生重启,数据将出现丢失,并且无法找回。
MySQL
Chaos Dashboard 支持使用 MySQL 5.6 或者更高版本作为后端存储。若想使用 MySQL 作为后端存储,可以在安装的时候设置 dashboard.env.DATABASE_DRIVER
和 dashboard.env.DATABASE_DATASOURCE
参数,具体参数配置请参考[官方驱动文档(https://github.com/go-sql-driver/mysql#dsn-data-source-name) 。
PostgreSQL
Chaos Dashboard 支持使用 PostgreSQL 9.6 或者更高版本 作为后端存储。若想使用 PostgreSQL 作为后端存储,可以在安装的时候设置 dashboard.env.DATABASE_DRIVER
和 dashboard.env.DATABASE_DATASOURCE
参数,具体参数配置请参考 libpq connect。
配置数据过期时间
Chaos Dashboard 支持配置数据的过期时间,默认 Event
相关数据默认 168h
过期,Experiment
相关数据默认 336h
过期,如需要修改,可以设置 dashboard.env.TTL_EVENT
和 dashboard.env.TTL_EXPERIMENT
参数,如: