Kstone 是一个针对 etcd 的全方位运维解决方案,提供集群管理(关联已有集群、创建新集群等)、监控、备份、巡检、数据迁移、数据可视化、智能诊断等一系列特性。
Kstone 将帮助你高效管理 etcd 集群,显著降低运维成本、及时发现潜在隐患、提升 k8s etcd 存储的稳定性和用户体验。
特性
Kstone 是一个 etcd 的治理平台,它有以下特点.
- 轻量,安装方便
- 支持导入已有集群、创建新etcd集群
- 支持Prometheus监控,内置丰富的etcd Grafana面板图
- 支持多种数据备份方式(分钟级备份到对象存储、部署Learner实时备份)
- 支持多种巡检策略(数据一致性、健康度、写请求、资源对象数等)
- 支持可视化查看etcd数据(特别支持Kubernetes资源对象数据的可视化查看)
- 极大简化运维成本,在集群导入、创建完成时,即可自动开启监控、备份、巡检等特性
核心架构
Kstone 由5个组件组成:
- kstone-etcdcluster-controller
- kstone-etcd-operator
- kstone-etcdinspection-controller
- kstone-api
- kstone-dashboard
组件
kstone-etcdcluster-controller
- 关联已有集群,如已有的 kubernetes 集群 etcd
- 根据 EtcdCluster 资源所描述的集群元信息,调用 ClusterProvider 创建、更新、删除 etcd 集群
- 根据 EtcdCluster 资源所描述的特性开关,开启或关闭监控、备份、巡检等特性(创建 EtcdInspection 资源)
kstone-etcdinspection-controller
- 实时监听 EtcdInspection 资源,调用后端 FeatureProvider 执行巡检
kstone-api
- 提供了一系列 etcd 集群管理的 api 给 web 前端使用
kstone-dashboard
Kstone 提供的 WEB 管理系统如下:
kstone-etcd-operator
kstone-etcd-operator 提供丰富的集群管理能力(此组件也即将开源)。
安装
请阅读部署文档, 你可通过 Helm 快速安装 Kstone。
开发
构建
mkdir -p ~/tkestack
cd ~/tkestack
git clone https://github.com/tkestack/kstone
cd kstone
make