-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
pika-operator on kubeblocks 现状总结及后续任务、思路 #1906
Comments
同步下08.15的结论: 8月底支持集群创建后自动加入的功能.
KubeBlocks目前还没有支持Component的动态添加和删除, 会在后续版本中支持. |
0902 马鑫:reblance 还需要完善;显荣:目前测试没问题,等 kubeblock 升级后继续测试,synced_failed 问题跟进 |
对于 component scale out, 现在主要瓶颈是,无法判断集群发生了什么变化,以及是否处于这此变化的最终状态。 component scale 的 action 需求:
scale out 后只需要一个触发来明确具体发生了什么事件,后续的信息都可以从业务系统中拿到。 关于action发送的数据,我有一个更通用的想法。 |
@machinly 关于 scaling 这里有两个问题请教一下:
|
我这里把增删都列了出来,但这期暂时不考虑 component 的 scale in 的情况。
|
目前基于 0.8.2 的问题: 问题1 P1 hscale 不支持 pika-group 维度的扩缩,预计 0.8.3 版本支持扩容,缩容应该会在 0.8.4版本发布 问题2 P0 codis-proxy 发生漂移后,在 codis-fe 出现如下异常。 强制 pod 漂移,可以使用 kubectl taint nodes 命令设置污点的方式 问题3 P0 已经修改; 不支持在一个k8s集群中创建多个 pika 集群,主要是没有支持 namespace 问题4 P0 pika 配置文件只是写在容器内部,如果容器发生重启,pika 配置文件如果发生过更改,那更改的配置将会丢失 问题5 P2 现有的 etcd 在扩容时应该将 –initial-cluster-state 的值由 new 改为 existing。如果不进行扩容,使用 new 重启etcd服务,etcd 服务不会存在问题。 问题6 P0 03/05 doing 还不支持监控,需要将 pika-exporter 集成进去。 问题7 P0 pika-group 缩容时,可以正常减少 pika 实例,但是 codis-fe 页面仍然显示该 pika 实例,需要在缩容时,调用 codis-dashboard 接口,删除该实例 问题8 P2 版本升级问题,kubeblock 0.9 版本,预计 4月份发布 问题9 P0 更新到最新的版本(pika/codis) 问题10 P1 pika-group 内部pika实例缩容时,不支持指定节点下线,只能从最大开始缩容 问题11 P0 pika 实例如果发生pod漂移,会导致数据丢失。主从关系是由 codis-dashboard 控制,如果一个Master的pod发生漂移,新的Pod中没有pika数据,但是在 pika-group 中,该节点仍然是主节点,但是新的Pod已经丢失了原有的配置信息。Pod漂移会导致服务异常。 如何控制pod不漂移??如果支持 pod 漂移,如何通知 codis-dashboard 做主从切换?? 问题12 P0 CPU和内存支持扩容缩容,但是会并发重启 pika-group 内所有 Pika 实例,这样会导致一段时间的服务不可用 问题13 P0 pika 实例和 etcd 实例,数据是存在容器内部,容器重启会导致数据丢失。 本地数据卷 参考:https://kubernetes.feisky.xyz/concepts/objects/local-volume https://developer.aliyun.com/article/708483 问题14 0.8.3 版本的API有变更导致不兼容,新提交的 PR 代码会使 pika-group 创建异常 pika-group Component 的名字由数字变为了随机字符串。 |
最初关于 Operator 的设计
#1238
现状
codis-pika 集群, 基于 kubeblocks 实现。
功能:可以将 etcd、codis 和 pika 实例部署在 K8s 上。codis 集群各组件可正常创建连接。
不足:部署后,pika 实例需手动添加至 codis 集群,需手动在 kube-dashboard 设置 pika 主从。
功能:支持通过 kbcli 扩容 codis-proxy,pika实例。
不足:pika 实例扩容后的节点需要手动添加并 rebalance。
功能:支持通过 kbcli 缩容 codis-proxy,pika实例。
不足:pika 进行实例缩容需要手动将 slot 先迁移走,否则 pika 实例会直接被关闭,导致 slot 当前不可用。
后续任务
1. 状态管理
1.1 create cluster
1.2. scale out
1.3. scale in
1.4. scale up
1.5 etcd manager √
2. 监控 √
3. 存储 backup/restore
5. API demo
6. 测试
7. 其他
实现思路
1.1 create cluster
1.2 scale out 创建及 rebalance 同1.1
1.3 scale in 考虑在 pika-master preStop 处进行操作,[需要协助] 如何得知是 hscale 操作,而不是手动 kill 实例。
The text was updated successfully, but these errors were encountered: