数据库版Kubernetes?我发现了一个宝藏开源项目Ivory
2026/9/16 13:41:54 网站建设 项目流程

Ivory 是一个开源的数据库集群管理平台,提供统一 Web UI 来管理、监控、部署和排除数据库集群故障,而不需要频繁登录服务器执行命令。

Ivory 采用前后端分离架构,主要基于 TypeScript + Go 语言开发,遵循 GPLv3 开源协议,代码托管在 GitHub:

https://github.com/veegres/ivory

功能特性

  • 核心架构理念:Ivory 的核心概念是 Keeper,相当与数据库管理的代理层。其职责是负责数据库集群的各种操作,例如主备切换、故障转移、配置修改、状态采集、节点管理等。

对于 PostgreSQL 来说,Patroni 就是一种 Keeper 实现。Ivory 将数据库管理能力抽象出来,通过 Keeper 插件实现对不同数据库的支持。

  • 支持的数据库:Ivory 最初主要面向 PostgreSQL + Patroni 高可用架构,如今正在演进为支持多种数据库和 HA 方案的通用管理平台。
Keeper数据库状态
PatroniPostgreSQLStable
PostgreSQLPostgreSQLStable
ETCDETCDBeta
RedisRedisBeta
ClickHouseClickHouseBeta
ZooKeeperZooKeeperBeta
MongoDBMongoDBBeta
  • 数据库集群部署:支持通过 SSH 直接在服务器或虚拟机上部署数据库集群,无需额外安装 Agent、Ansible 或 Kubernetes 等编排平台。用户只需在 Web 界面中选择预置或自定义部署模板,配置目标主机信息,即可自动完成数据库、Keeper以及相关组件的安装与配置。

除了新建集群外,Ivory 还支持单节点扩容、节点重建和模板复用,使得 DBA 能够以标准化、可重复的方式快速交付和管理高可用数据库环境。

  • 集群健康监控:提供统一的可视化界面实时展示数据库集群的运行状态,包括节点角色(Primary/Replica)、复制延迟(Replication Lag)、待重启配置、集群告警以及整体健康状况等关键指标。

  • 高可用管理:将数据库集群的高可用运维操作集中到统一的 Web 界面中,支持执行主备切换、故障转移)、副本重建、节点重启、配置重载以及集群维护模式切换等关键操作。

  • 主机和容器管理:Ivory 还提供对数据库节点和运行环境的统一管理能力,运维人员可以直接在 Web 界面查看主机的 CPU、内存、磁盘、网络和进程等运行指标,并对数据库容器执行启动、停止、重启、删除以及日志查看等操作。

  • SQL 查询中心:内置的数据库查询与诊断工具,它允许用户创建、保存和复用 SQL 查询,用于数据库监控、性能分析和故障排查。

  • 数据库维护工具:Ivory 提供的数据库维护与运维工具集,用于执行特定数据库引擎的日常维护和优化任务。例如,针对 PostgreSQL,Ivory 集成了 pgcompacttable 等工具,可以在尽量减少锁表影响的情况下清理表和索引膨胀。
  • 访问控制:支持 Basic 用户密码认证、LDAP 集成以及基于 OpenID Connect(OIDC)的单点登录(SSO),并内置细粒度权限管理机制。

安装部署

Ivory 的部署非常简单,官方推荐直接使用 Docker 容器运行:

dockerrun-d\--nameivory\-p80:80\--restartalways\veegres/ivory

然后在浏览器中通过以下地址访问 Web 控制台:

http://localhost:80

首次访问会进入初始化向导。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询