Tenax¶
Tenax 将运行在 Kubernetes 中的 Postgres 和 MySQL 数据库备份到任意 S3 存储桶,实时流式传输每一次变更, 并能把保留窗口内的任意一秒恢复到一次性沙箱、新数据库或原地。 一切都是 Kubernetes 资源,每个对象在离开 Pod 之前就已加密,数据只在短暂运行的 Job 中移动。
-
快速入门
安装 Chart,为 Tenax 指定一个存储桶,声明你的第一个数据库并完成恢复,大约只需十分钟。
-
恢复
选择一个时间点或一个备份,再选择目的地:沙箱、新数据库、下载或原地恢复。
-
自定义资源
BackupStore、BackupPolicy、BackupTarget、Backup、Restore和Sandbox的每一个字段。 -
REST API
控制台和 CLI 背后的 JSON API,由其 OpenAPI 文档生成。
-
CLI
笔记本上的一条命令:Windows 上用
winget install TheRepublic.Tenax,macOS 和 Linux 上是单个二进制文件。 -
值班
每条告警的含义和处理方法,包括 Tenax 自身宕机时如何恢复。
概览¶
| 方面 | 详情 |
|---|---|
| 引擎 | Postgres 15、16、17(含 PostGIS):物理或逻辑备份,外加 WAL 流式传输。MySQL 8.4:逻辑备份,外加 binlog 流式传输。 |
| 存储 | 任意兼容 S3 的存储桶。客户端 zstd 压缩(默认开启)和 age 加密,并行分段上传,manifest 最后写入。 |
| 恢复 | 时间点窗口内的任意一秒,或任意保留中的备份,可恢复到沙箱、新数据库、下载或原地。 |
| 安全保障 | 定时校验恢复并运行你的 SQL 检查,Prometheus 告警,Grafana 仪表盘,以及一套在备份中途杀掉 Tenax 的混沌测试。 |
| 资源占用 | 控制器、API 与控制台、数据搬运程序和 CLI 共用一个静态二进制文件。两次备份之间不运行任何重负载。 |
| 访问 | 控制台和 CLI 基于同一个 JSON API(OpenAPI):通过 kubectl port-forward 访问,或在 Cloudflare Access 之后按角色访问。每一次写操作和查询都会被审计。 |