《梁成琰-去哪儿网云原生场景下的高效CICD建设.pdf》由会员分享,可在线阅读,更多相关《梁成琰-去哪儿网云原生场景下的高效CICD建设.pdf(33页珍藏版)》请在三个皮匠报告上搜索。
1、梁成琰 运维开发工程师2018年研究生毕业后加入去哪儿,资深运维开发工程师,主要负责去哪儿网监控系统、CICD、云原生等相关工作。推动去哪儿网监控报警体系的建设以及云原生背景下CICD的改造和落地。去哪儿网云原生场景下的高效CICD建设1.去哪儿网去哪儿网CICD2.发布驾驶舱发布驾驶舱3.工作流工作流4.未来未来规划规划目录1、去哪儿网、去哪儿网CICD去哪儿网CICD整体流程介绍去哪儿网去哪儿网CICD当前当前状况状况150,000+部署70,000+代码push2000+个应用月均去哪儿网去哪儿网CICD整体整体流程流程发布调度编译模块部署模块应用画像质量控制GitlabOpenstac
2、kKubeSphereKVMKVMKVM授权系统镜像服务Harbor去哪儿网去哪儿网CICD架构架构应用画像运行时配置发布配置依赖配置代码/仓库管理gitlab/harbor/swift/nexus质量控制code reviewsonar代码覆盖率自动化测试编译/部署jerkins编译脚本/部署脚本底层资源openstackk8s2、发布驾驶舱发布驾驶舱发布驾驶舱的意义和实践发布驾驶舱发布驾驶舱-背景背景1.发布变更 最重要的变更 最容易出问题的变更2.发布可观测性 日志 监控报警 发布进度 上下游信息发布变更发布变更44%第三方第三方9%主机问题主机问题12%性能问题性能问题3%配置变更配置
3、变更32%故障统计数据故障统计数据1发布变更发布变更68%第三方第三方12%主机问题主机问题4%性能问题性能问题4%配置变更配置变更12%故障统计数据故障统计数据2发布变更发布变更59%第三方第三方14%主机问题主机问题4%流程问题流程问题9%配置变更配置变更14%故障统计数据故障统计数据3发布变更发布变更35%第三方第三方22%主机问题主机问题4%性能问题性能问题4%配置变更配置变更35%故障统计数据故障统计数据4发布驾驶舱发布驾驶舱-原始观测原始观测模式模式日志查看登录主机(权限申请)发布进度查看上下游信息跳转tc系统监控报警跳转watcher发布可观测性发布可观测性问题问题发布批次信息新
4、旧代码版本数进度进度不透明不透明日志收集平台分散 离线/实时跳转对应平台操作链路长异常日志查询异常日志查询繁琐繁琐跳转对应平台链路长监控报警监控报警跳转跳转上下游应用信息无法及时获取包括异常日志、监控报警上下游信息上下游信息难获取难获取发布驾驶舱发布驾驶舱-容器化容器化20212021年年0101月月20212021年年4 4月月20212021年年7 7月月20212021年年1111月月功能开发启动项目启动项目机票试点业务线试点应用迁移一期试点迁移一期试点迁移所有业务线全面开启迁移二期全面迁移二期全面迁移完成可迁移应用的90%完成完成90%90%发布驾驶舱发布驾驶舱-容器化带来的观测容器化
5、带来的观测挑战挑战主机主机固定固定,轻易不会轻易不会变动变动负载均衡负载均衡,中间件变更中间件变更不频繁不频繁用户可用户可登录登录主机主机Pod信息不固定信息不固定,变更变更频繁频繁负载均衡负载均衡,中间件及时中间件及时变更变更无法登录容器无法登录容器KVMK8S主机固定,整体进度一目了然Pod创建/销毁,整体进度难获取已提前配置好,无须实时关注负载均衡、中间件注册中心变更需实时同步KVM/K8S发布驾驶舱发布驾驶舱-解决解决方案方案发布驾驶舱让发布更透明让发布更安全更及早的发现问题发布驾驶舱发布驾驶舱-模块模块设计设计02030401watcher监控报警heimdall异常日志进度图/进度
6、日志发布驾驶舱发布驾驶舱-异常日志异常日志&报警报警发布驾驶舱发布驾驶舱-进度进度图图发布驾驶舱发布驾驶舱-效果效果发布驾驶舱发布驾驶舱-效果效果3、工作流工作流工作流的意义和落地实践工作流工作流-背景背景crsonargitlab测试环境编排/管理portal编译/部署灭霸(灭掉BUG)自动化测试系统中间件qmq、qconfig、qschedule数据库效率工作流工作流-背景背景push代码手动触发sonar手动创建测试环境通知相关人员CR手动测试/自动化测试触发编译部署DBA/中间件配置部署上线原始开发流程效率