MySQL Operator容器化方案解读.docx

上传人:李司机 文档编号:7184302 上传时间:2024-06-29 格式:DOCX 页数:5 大小:53.71KB
返回 下载 相关 举报
MySQL Operator容器化方案解读.docx_第1页
第1页 / 共5页
MySQL Operator容器化方案解读.docx_第2页
第2页 / 共5页
MySQL Operator容器化方案解读.docx_第3页
第3页 / 共5页
MySQL Operator容器化方案解读.docx_第4页
第4页 / 共5页
MySQL Operator容器化方案解读.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《MySQL Operator容器化方案解读.docx》由会员分享,可在线阅读,更多相关《MySQL Operator容器化方案解读.docx(5页珍藏版)》请在三一办公上搜索。

1、My3Q1.容器化拓扑结构固定MySQ1.PodIP可以在K8S上使用Calico网络插件实现.存惭方面使用高性能分布式存储或者直接挂载本地盘都可达到要求,这些不在本文做重点介绍.MySQ1.容器化有同城灾备需求.对于MySQ1.部分,我们使用MySQ1.MGR单主模式,将MGR节点分散在本地/同城运行,正常情况下主节点运行在本地,灾备切换时将主节点切换至同城.对于K8S集群部分,我行K8S集群没有进行跨本地/同城部署,所以MySQ1.MGR节点会分布在两个K8S集群运行.对于MySQ1.服务易露部分在每个K8S集群上为每个MGR集群各建立Read、WriteServicer通过K8SSerV

2、iCe机制对外基SSMySQ1.服务.整体拓扑结构如下所示:MYSQ1.MGRMysqlOperatorriteServiceroleundby同城K8S集群MySQ1.OPerator功能逻辑MySQ1.Operator的功能包括MGR集群创建、集群维护、CPU内存资源升级、MGR节点扩缩容、节点迁移等.由于MGR集群跨K8S部署,所以在OPerator的逻箱上不能只管控本地资源,还需关注在同城运行的那一部分MGR节点的情况.MGR集群创建在MySQ1.MGR集群CR资源定义中包含以下三个字段:flag字段为primary标识MGR的主应该在本地ip1.ist定义部罟在本地K8S集群的MGR

3、Pod列表,以及具体的PodIP和所在K8S节点remote1.ist定义部署在同城K8S集群的MGRPod列表;本地OPerator会通过该字段中的IP地址裳试连接同城MGR节点,以判断同城MGR节点是否连通以及角色是否正常reote1.ist:nodeNne:,abc在MGR集群创建流程中,两边OPerator均标确定ip1.ist和remote1.ist中的PodIP地址均可连通,确定MGR集群所属的Pod均已启动后才能执行MGR集群的创建工作,创建的时候,flag为primary侧的OPerator会在本K8S集群中选出一个MGRPod进行主节点的引导启动,其余本地Pod和flag为S

4、tandby侧集群的Pod均启动为从节点.MGR集群维护集群维护功能是为了保证MGR集群按照预期运行,集成了各种异常场景下处理逻辑,主要包括以下几个部分:保证SerViCe、PVUConfigmap等需要的K8S资源按照预期创建保证MySQ1.Pod数量和运行状态正需保证MySQ1.Pod的角色标签和实际的MGR角色一致维持Pod内的MySQ1.MGR迸程启动判断MGR主节点是否切换,并进行切主后麋作等除了OPerator的集群维护功能,另一个保证服务持续可用的是MySQ1.自身的MGR机制,在整体设计中,我们对OPerator和MGR两种机制管控范圉的做了清淅的边界划分:即OPerator只

5、保证MGR运行所需的环境正甫,如节点数、进程启动状态、配背等正常,但涉及到主节点切换等MGR机制内部的事情,Operator只做观察并把最新状态反映到CR的Status字段中而不去做干预.在Operator的设计中,只有三种情况会进行主节点干预:一是集群新建的情况;二是在确认所有集群节点都为从节点的情况,选出gtid最大的节点启动为主;三是收到灾备切换的谙求,会将主切到fag=primary的一侧.MGR集群运班操作Operator支持对MGR集群进行一些甫规的运维操作,包括本地/同城节点的上线、下线,Pod内存、CPU资源的扩缩容、Pod使用镜像的更换以及MySQ1.的配2S文件更新等.OP

6、eratOr最重要的任务是维持集群正常运行,对于这些运维掇作在设计时采用了一个稳妥的方案:1. 所有的运维操作必须基于维护流程判断集群状态正常(有且仅有一个主节点,其余节点均运行正常且为从节点)的情况下才可进行2. 在状态转换流程中设着操作的优先级,先进行优先级高的操作,如新加节点的优先级高于删除节点的优先级3. 如果涉及到类似于多个节点添加的批量操作,Operator会将批最探作拆分为单个操作的顺序执行,每步操作完成后确认集群状态正甫才能继续下一步操作整体流程如下图所示:MGR集群灾备切换灾笛切换包含两部分:第一部分是MGR集群的主节点切换到同城集群;第二部分是客户端网络流国打到同城集群.对于第二部分的实现有手动改客户端访问地址、JE改DNS指向、使用代理转发等多种方法,本文不做讨论.对于第一部分,Operator做了一个便捷化的实现,在检测到flag字段由Standy变为primary的时候会主动发起一次切主操作,试图将主切换到现在的Primary这边。要注意的是,虽然flag字段标识主节点应该在哪一边,但是OPerator不对该预期做强制性保证,MGR内部机制或者手工将主切换到flag=standby一边也是允许的,OPerator只会标识出主位置不符合预期,不会做强制性回切.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号