operator弹性web服务
-
所谓的Operator指的就是CRD + Controller的组合。它们相辅相成,分工明确,CRD负责声明式管理方面,Controller负责驱动TiDB cluster的显示状态能够向期望状态转化。比方如果说我们需要对 TiDB的集群定义3 个TiDB和 3个TiKV,之后由于某些原因 ,挂掉了一个TiDB结点。那么现实状态会变成2 个TiDB 结点,但是期望的状态是 3 个 TiDB 结点。这个时候就可以由controller去起一个新的TiDB结点。
并且在进行部署的时候,TiDB Operator也会为每个组件选择一个最佳的Kubernetes原生对象 。PD 在本质上是一个 ETCD 的组件,而TiDB 是一个无状态的服务,所以我们并不需要关心用什么部署最合适,TiDB Operator已经帮我们隐藏了这些信息。并且PD 是基于 ETCD所开发的,同时需要去做一个peer discovery,而Operator服务会被打散 TiKV容器并且会自动添加 store-label语句,还会把每个容器出自哪个可用区,和需要用哪个机房都提前设定好,辅助 PD去实现 region的高可用拓扑。有了 TiDB Operator服务,我们还可以将原厂的运维经验通过代码的方式复制并且传播出去。只需要通过一个yaml格式的声明,就能够在 Kubernetes服务器上快速部署一套 TiDB Cluster。当然,仅仅靠创建是不够的,Operator服务也提供了运维的最佳实践。此时 TiDB Operator 会进行自动化故障转移。什么情况下需要故障转移、间隔多久进行故障转移,这些都交给 TiDB Operator 进行判断, 至于如何进行故障转移,也交给 TiDB Operator 执行。
西南地区IT社群(QQ)
- 云南
- 【昆明网页设计交流吧】243627302
- 【昆明nodejs交流吧】 243626749
- 【VUE】838405306
- 【云南程序员总群】343606807
- 【昆明UI设计】104031254
- 【云南软件外包】15547313
- 贵州
- 【PHP/java源码/站长交流群】55692114
- 四川
- 【成都Java/JavaWeb交流】86669225
- 【vaScript+PHP+MySql】116270060
- 【UI设计/设计交流学习群】135794928
- 重庆
- 【诺基亚 JAVA游戏博物馆】 559479780
- 【PHP,Java,Python,C++接单】 442103442
- 西藏