AI智能总结
个人介绍 邹晟去哪儿旅行基础平台技术专家 2017年加入去哪儿旅行,云原生SIG成员,主要负责DevOps平台的规划和实施、研发效能的提升,近期一直在做混合云的容器稳定性治理、根因分析、预案系统等工作 去哪儿旅行混合云背景 1 目录 混合云场景下的容器稳定性挑战 2 CONTENTS 面向业务的容器稳定性治理思路 3 面向业务的容器稳定性治理实践 4 5 01去哪儿旅行混合云背景 混合云背景 混合云的目标-降本增效 此处添加详细文本描述此处添加详细文本描述此处添加IDC资源利用率从20%提升到40%-60% 此处添加详细文本描述此处业务自动按需弹性扩缩容 02混合云场景下的容器稳定性挑战 不同关注点 •上公有云的价值•对现有应用的影响 业务视角 •保障上公有云后应用的整体SLA•提供和私有云同样的服务体验 平台视角 •平滑地弹缩公有云•公有云高可靠•成本优势 ops视角 混合云挑战 价值认同 系统瓶颈 自上而下 平滑上云 故障应急 容灾能力 03治理思路 容器可靠性保障思路 平滑上云 容灾能力 故障应急 1.完善公有云观测指标2.根因分析与预案推荐3.一键快速下云 1.阶段一:低峰期充分验证2.阶段二:灰度并全量P3、P4应用,然后全量3.阶段三:灰度并全量P1、P2应用 1.公有云可用区failover 混合云系统瓶颈治理思路 资源交付效率 资源容量 链路延时 发1.应用启动加速2.缩减发布批次系统优化:应用授权3.升级为高配pod,减少实例数 1.压测评估系统容量2.业务流量预测 一致性体验治理思路 平台功能泛化 2.对容器的自助运维能力(重启、debug、接入摘除流量、重建等)1.交付顺畅度(公有云的api限流、个别pod失败等) 04治理实践 治理实践阶段 可靠性保障治理实践-平滑上云 可靠性保障治理实践-平滑上云 可靠性保障治理实践-故障应急 完善公有云观测指标 可靠性保障治理实践-故障应急 发现-定位-恢复 可靠性保障治理实践-故障应急 根因分析 可靠性保障治理实践-故障应急 预案推荐 可靠性保障治理实践-故障应急 可靠性保障治理实践-故障应急 容灾能力 系统瓶颈治理实践-链路延时影响评估 结论:1.公有云到私有云延时0.7~1ms,影响看业务的链路总时长增加多少2. 500+ P1/P2应用可以上云 系统瓶颈治理实践-资源容量评估 系统瓶颈治理实践-资源交付效率提升 痛点:核心业务应用上千实例,一次发布1-2个小时 1.定义测量(spring、tomcat、预热、发布阶段) 优化过程: 2.分析数据 3.验证 系统瓶颈治理实践-资源交付效率提升 1.受mysql连接数、redis连接数、dubbo zk连接等资源影响2. mysql改为应用授权3. dubbo升级为dubbo3按应用维度注册,降低zk连接数 1. spring启动速度和bean数量有关,并行初始化效果不大2. tomcat 1秒完成初始化3.应用进程启动1分左右4.预热1min-2min 1. pod资源改为16/32c,32/64/128/256G大pod后,发布时长降低70% 优化总结: :大应用采用高配额的pod优化效果最佳,减少发布批次是长期收益的工程,需要持续演进 平台功能泛化治理实践-容器原地重启 重启流程 平台功能泛化治理实践-容器远程debug 远程debug流程 平台功能泛化治理实践-发布终止后不接流量 发布流程 问题点:公有云标记online偶尔会不成功,导致发布失败 平台功能泛化治理实践-发布终止后不接流量 vk并发更新annotation/label被覆盖 平台功能泛化治理实践-缩容优先缩公有云实例 方案选型 1.原生k8s支持方案 k8s 1.21+通过指定注解controller.kubernetes.io/pod-deletion-cost实现指定pod缩容 2.利用k8s RS缩容pod规则,优先删除not ready的pod 删除前对pod摘除流量,状态变为notready,再进行缩容 3.利用k8s RS缩容pod规则,同等条件下优先删最后ready的pod公有云机器大多数情况下是最后扩容、最后ready的(默认选项,实现成本最低) 4. OpenKruise CloneSet原生支持缩容指定pod 05未来规划 未来规划 容器调度优化 跨云容灾 跨云能力完善 1-5-10稳定性目标 中间件,DB,Redis、监控系统等架构完善,确认上云能力 通过长期改造,实现通过公有云和私有云的互备,实现机房级别容灾能力 1通过AIGC推理能力提升根因分析准确率2.提升预案推荐覆盖率和准确率3.部分场景自愈 支持用户自助上云、下云操作 开放运维联盟高效运维社区DevOps时代 荣誉出品