KubeBrain适配了dgraph-io/badger 实现了单机版本用于测试
make badger
./bin/kube-brain --key-prefix "/"
KubeBrain适配了TiKV ,实现了基于分布式键值数据库的kubernetes元信息存储
TiKV集群部署参考TiUP ,本地测试环境可以使用tiup playground
tiup playground --mode tikv-slim --kv 1 --pd 1
make tikv
./bin/kube-brain --key-prefix "/" --pd-addrs=127.0.0.1:2379 --port=3379 --peer-port=3380 --compatible-with-etcd=true
多个KubeBrain共用一个tikv集群时,注意配置
key-prefix
参数和apiserver对应的apiserver的etcd-prefix
参数保持一致compatible-with-etcd
需要置为true,以开启从节点的支持txn和watch,对etcd功能的完全兼容
社区版APIServer存储仅支持etcd3的API,目前KubeBrain兼容了社区版APIServer中所使用到的etcd3的API,但是这种方式并不能充分发挥KubeBrain的优势
./kube-apiserver /
# ...
--storage-backend=etcd3 \
--etcd-servers=http://127.0.0.1:3379 \
# ...
定制的APIServer 通过扩展APIServer的storage 接口,并在SDK中集成集群状态检查、读写分离负载等功能访问存储系统。定制版api-server会在之后开源。