2023年11月27日晚至2023年11月28日早晨,滴滴发生了长达12小时的P0级故障,导致滴滴核心业务都受到了影响,比如不显示定位无法打车、滴滴单车无法扫码等问题,期间滴滴进行了多次致歉

目前问题故障已经恢复,根据最新的消息得知造成此次事故的原因,是由于升级K8S 集群导致

那么在K8s升级过程中,遇到了那些问题,我们可以从滴滴弹性云基于 K8S 的调度实践 文章中看出一些原因

1. 集群体量大

最大集群规模已经远远超出了社区推荐的5千个 node 上限,有问题的爆炸半径大;

2. 版本升级跨度大

直接从1.12 升级到了1.20,跨越多个版本,有可能存在api不兼容的问题

3. 升级方式应该选择了原地升级

虽然滴滴有能力基于K8S二次开发,但是由于版本跨度较大,细节点较多,原地升级风险我觉得比替换升级

大不少。

比如集群版本已经升级为1.20,但是Node节点的kubelet的版本还是 1.12,如果api不兼容,那么这个影响是非常大的,集群回滚又没有那么快。

基于以上三点P0故障就这样产生了,至于为什么不采用替换升级方式?

作者认为替换升级需要业务系统配合,推进难

通常情况下,替换升级的风险最小,因为一旦出现问题,可以及时回滚,然而这种方式需要与业务系统进行配合改造。

对于像滴滴这样规模巨大的业务,让每个业务方逐一配合是非常困难的(也可能业务方核心人员被降本增效了)。

同时,如果替换升级出现问题,业务方也有一定的责任,因此干脆由运维团队来负责这个任务可能更为合适。

通过滴滴技术博客:探寻造成此次P0故障的真正原因的更多相关文章

  1. [技术博客]nginx 部署 apt 源

    [技术博客] nginx 部署 apt 源 出于各种各样的原因, 有时需要自己配置apt源, 比如发布自己编写的debian软件包, 内网中只有一台电脑可以访问外网,或者在本地配置自己的apt源.我们 ...

  2. ******IT公司面试题汇总+优秀技术博客汇总

    滴滴面试题:滴滴打车数据库如何拆分 前端时间去滴滴面试,有一道题目是这样的,滴滴每天有100万的订单,如果让你去设计数据库,你会怎么去设计? 当时我的想法是根据用户id的最后一位对某个特殊的值取%操作 ...

  3. 如何写出高质量的技术博客 这边文章出自http://www.jianshu.com/p/ae9ab21a5730 觉得不错直接拿过来了 好东西要大家分享嘛

        如何写出高质量的技术博客?答案是:如果你想,就一定能写出高质量的技术博客.看起来很唯心,但这就是事实.有足够愿力去做一件目标明确,有良好反馈系统的事情往往很简单.就是不停地训练,慢慢地,你自己 ...

  4. 转: BAT等研发团队的技术博客

    BAT 技术团队博客   1. 美团技术团队博客:  地址: http://tech.meituan.com/ 2. 腾讯社交用户体验设计(ISUX) 地址:http://isux.tencent.c ...

  5. 解决Eclipse中文乱码 - 技术博客 - 51CTO技术博客 http://hsj69106.blog.51cto.com/1017401/595598/

    解决Eclipse中文乱码 - 技术博客 - 51CTO技术博客  http://hsj69106.blog.51cto.com/1017401/595598/

  6. 欢迎访问我的最新个人技术博客http://zhangxuefei.top

    博客园已停止更新,欢迎访问我的最新个人技术博客http://zhangxuefei.top

  7. 技术博客(初用markdown)。

    技术博客 菜鸟教程在这个网站我学到许多有趣的东西,并且弥补了我之前的一些不足之处. 以下为我学习到的内容 输出不同的三位数 以下为代码和输出结果 *** #include<stdio.h> ...

  8. 技术博客(初用markdown)

    技术博客 菜鸟教程在这个网站我学到许多有趣的东西,并且弥补了我之前的一些不足之处. 以下为我学习到的内容. 1 如果想输出多个多位数的时候,可以尝试用多个if语句.如果需要输出3为数的时候,设置三个变 ...

  9. 【转】【技术博客】Spark性能优化指南——高级篇

    http://mp.weixin.qq.com/s?__biz=MjM5NjQ5MTI5OA==&mid=2651745207&idx=1&sn=3d70d59cede236e ...

  10. 作业一:创建个人技术博客、自我介绍、简单的C程序

    年9月14日中午12点: 一.主要内容  建个人技术博客(博客园 www.cnblogs.com) 本学期将通过写博客的方式提交作业,实际上,最终的目的是希望同学们能通过博客的形式记录我们整个学习过程 ...

随机推荐

  1. pylink

    1.https://github.com/square/pylink/pull/72

  2. React Router@3.x 升级到 @6.x 的实施方案

    我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品.我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值. 本文作者:景明 升级背景 目前公司产品有关 react 的工具版本普 ...

  3. VS2015项目.net-framework-4.5.2升级或新建项目无法选择framework 4.6.2(解决办法)

    VS2015里面没有.NET Framework 4.6.2 VS2015默认安装的目标框架最高是.NET Framework 4.6.1,但是我的项目里面某些NuGet软件包更新需要依赖.NET F ...

  4. 在centos7.X下安装Java

    发布于 2 分钟前  2 次阅读 1.创建JDK目录 mkdir /opt/jdk 2.通过finalshell或xftp将jdk上传到/opt/jdk目录中 3.cd /opt/jdk 4.解压jd ...

  5. Leetcode刷题笔记——单调性

    单调性 单调性是数学中使用的一种常见性质,通常用于描述函数,在高等数学中的定义常常为: 设函数f(x)在区间I上有定义,如果对于I上的任意两个数x1和x2,当x1<x2时,有f(x1)<f ...

  6. 《Python魔法大冒险》005 魔法挑战:自我介绍机器人

    魔法师和小鱼坐在图书馆的一扇窗户旁,窗外的星空闪烁着神秘的光芒.魔法师轻轻地拍了拍小鱼的肩膀. 魔法师: 小鱼,你已经学会了编写简单的魔法程序,现在我要教你如何创造一个有自己思想的机器人,让它能够和我 ...

  7. PLC通过Modbus转Profinet网关连接变频器控制电机案例

    在本案例中,通过使用Modbus转Profinet网关(XD-MDPN100),PLC可以通过Profinet协议与变频器进行通信和控制.这样,PLC可以实现对电机的转速调节.启停控制等功能. 同时, ...

  8. 真·Redis缓存优化—97%的优化率你见过嘛?

    本文通过一封618前的R2M(公司内部缓存组件,可以认为等同于Redis)告警,由浅入深的分析了该告警的直接原因与根本原因,并根据原因提出相应的解决方法,希望能够给大家在排查类似问题时提供相应的思路. ...

  9. Springboot+Guava实现单机令牌桶限流

    令牌桶算法 系统会维护一个令牌(token)桶,以一个恒定的速度往桶里放入令牌(token),这时如果有请求进来想要被处理,则需要先从桶里获取一个令牌(token),当桶里没有令牌(token)可取时 ...

  10. 6. 用Rust手把手编写一个wmproxy(代理,内网穿透等), 通讯协议源码解读篇

    用Rust手把手编写一个wmproxy(代理,内网穿透等), 通讯协议源码解读篇 项目 ++wmproxy++ gite: https://gitee.com/tickbh/wmproxy githu ...