前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >面对大规模k8s集群,如何先于用户发现问题

面对大规模k8s集群,如何先于用户发现问题

原创
作者头像
iginkgo18
修改于 2021-09-07 02:44:20
修改于 2021-09-07 02:44:20
1.1K30
代码可运行
举报
文章被收录于专栏:devops_k8sdevops_k8s
运行总次数:0
代码可运行

1 绪论

大家是否经历过突然被用户告知系统出现问题,然后一脸懵逼的惶惶然排查修复。或者等到自己发现系统出现故障时,实际已经对用户造成了严重的恶劣影响。

所谓千里之堤,溃于蚁穴。用户信任的建立是长期而艰难的,然而要摧毁这种信任却很简单。一旦出现上述问题,不仅极大的影响用户使用体验,同时会给用户留下一个这个产品/团队不可靠的印象,丧失用户对产品/团队长期好不容易积累下来的信用资本,失信于用户。未来再想建立这样的信任关系就很难了,这也就是为什么快速发现问题的能力如此重要的原因。

1分钟快速发现问题的能力是1-5-10快恢体系的基石,只有先做到快速发现问题,才能谈怎样排查问题,如何解决问题。

那么怎样才能在复杂的大规模场景中,做到真正先于用户发现问题呢?下面我会带来我们在管理大规模 ASI 集群过程中对于快速发现问题的一些经验和实践,希望能对大家有所启发。

2 背景

2.1 复杂的场景和曾面临的困境

我们所管理的大规模 ASI 集群场景非常复杂,这为我们的工作带来了极大挑战,任何一个场景处理不慎就有可能导致意料之外的伤害扩大化。

  • 从组件维度看,我们目前有几百个组件,每年有几万次的组件变更。频繁的组件变更如何在稳定性和效率之间取得权衡,怎样让变更时更稳定,怎样让灰度更确信,从而降低爆炸半径?
  • 从集群维度看,目前有上千个集群和海量节点,碰到的集群/节点问题较多,监控链路覆盖比较繁复,怎样让集群运行时更加可信?
  • 从二方用户和业务场景看,我们支持了大量的集团二方用户,同时业务场景也非常复杂,怎样保证各有特色的业务场景都能得到一致的细心关照?

2.2 问题预判和解决思路

基于长期的集群管理经验,我们有如下预设:

1 . 数据监控作为正向链路,无法无死角覆盖所有场景。即使链路中各个节点的监控数据正常,也不能 100% 保证链路可用。

  • 集群状态每时每刻都在变化,各个组件也在不停地更新升级,同时链路上的每个系统也在不停的变更,监控数据的覆盖永远是正向的追赶,只能逼近 100% 全覆盖而无法完全达到。
  • 即使整个集群链路中所有组件/节点的监控数据都正常,也不能保证集群链路 100% 可用。就如同业务系统一样,看上去都是可用的,没有问题暴露。但只有通过全链路压测实际探测过整个链路后,才能得到实际可用的结论。
  • 你要正向证明一个东西可用,需要举证无数的例子。而如果要反向证明不可用,一个反例就够了。数据监控链路只能逼近全覆盖,而无法保证真正全覆盖。

2 . 大规模场景下,数据无法达到 100% 的完全一致性。

  • 当集群规模足够大时,数据的一致性问题将会愈加显现。比如全局风控组件是否全集群链路覆盖?相关流控配置是否全集群链路推平?pod 主容器时区是否与上层一致?集群客户端节点证书是否有即将过期?等等问题,一旦疏忽,将有可能酿成严重的故障。

只有弥补上述两类风险点,才能有底气真正做到先于用户发现问题。我们解决上述两类风险的思路分别是:

1 . 黑盒探测

  • 所谓黑盒探测,既模拟广义上的用户行为,探测链路是否正常。

2 . 定向巡检

  • 所谓巡检,既检查集群异常指标,找到已有或可能将存在的风险点。

基于以上思路,我们设计并实现了kubeprobe探测/巡检中心,用于弥补复杂系统的正向监控的不足,帮助我们更好,更快的发现系统风险和线上问题;

3 设计

3.1 黑盒探测

不知道你是否也经历过一条链路上各个系统监控数据都正常,但是实际链路流程就是跑不通。或者因为系统变化快,监控覆盖不到 100% 的场景总是会有遗漏,导致影响到了用户却没有报警,对用户没有实质影响却报警频发从而疲于奔命。

如果一个系统开发者自己都不使用自己的系统,那么怎么可能先于用户发现系统问题呢?所以要先于用户发现系统问题,首先我们自己就得先成为用户,而且一定是使用最多,了解最深,无时无刻不在使用和感知系统状况的用户。

所谓黑盒探测,就是让自己成为自己的用户,模拟广义"用户"的行为去对集群/组件/链路等待待测对象做探测。注意,这里的"用户"并不仅仅是狭义上使用系统的同学,而是广义用户。比如,etcd 的"用户"是 APIServer,而 ASI 的"用户"可能是某个通过 APIServer 操作集群的同学,也可能是 Normandy 发起的发布/扩容/缩容操作。

我们希望 KubeProbe 能在 变更时(监听到集群状态发生变化/组件变更/组件发布/系统升级等等事件)/运行时(周期,高频)/故障恢复时(手动),通过周期/事件触发/手动触发,执行各种不同类型的黑盒探测,第一时间感知组件/集群/链路的可用性。

以 etcd 集群的可用性来举例,我们可以实现一个探测用例,逻辑是对 etcd 做 create/get/delete/txn 等等操作,并记录每个操作的成功率/消耗时间,当成功率低于 100% 或消耗时间超过容忍阈值后,触发报警。我们将周期高频运行这个 etcd 的探测用例,同时对于 etcd 集群的任何变更都会发出一个事件 event 触发这个 etcd 探测立即运行,这样就能尽量确保第一时间发现 etcd 可用性故障了。同时,当 etcd 集群因为某些原因不可用了,我们也可以通过手动触发等其他方式做探活,也能第一时间得到是否恢复的信息。

3.2 定向巡检

在大规模集集群/系统场景下,数据一致性是一定会面临的难题。数据不一致,将导致一些隐患,可能会在未来引发某些确定性的故障。

相比于黑盒探测面对的未知故障场景,定向巡检的目标是对集群的已知风险点做扫描。

我们希望 KubeProbe 能够定期对整个集群/链路做定向的巡检,找出这些数据不一致的点,判断数据不一致是否可能引发风险,从而能够防患于未然,治未病。

比如 etcd 冷热备多集群覆盖不全,可能导致集群遇到故障无法快速恢复。那么我们就定期对 etcd 的冷热备覆盖情况做定向巡检,找出没有覆盖推平的集群,并告警。比如 集群风控系统没有全集群链路覆盖,限流配置没有全集群链路推平,可能导致某些故障场景引发集群全面崩溃,我们定期对风控配置全网扫描,判断是否可能导致故障,找出这些隐藏的已知风险点并告警。

4 实现

4.1 基本架构

KubeProbe 的基本实现架构大致如下图,KubeProbe 中心端配置集群/集群组与巡检/探测用例/用例集之间的关联关系,负责对集群做具体某次探测实例下发。某个具体的巡检/探测用例下发到具体某个集群将使用用例的镜像创建一个 pod,这个 pod 里会执行若干巡检/探测逻辑,当执行完成后会回调中心端回写本次巡检/探测结果。其具体结果在中心端统一展示/告警,并提供给其他消费者消费(如支持 ASIOps 平台的发布阻断)。

4.2 高频架构

除了上述的基本架构之外,我们对于高频探测用例(既探测周期短,触发频率需要非常频繁,甚至保持无缝探测的场景)设计了一套集群内的分布式常驻探测架构,该架构通过集群内的 ProbeOperator 组件 watch 自定义对象 probeConfig 的变化,在集群内创建一个常驻的探测 pod,将持续无间断的运行探测逻辑,实现接近无缝的持续探测,并将结果通过去噪/令牌桶限流等处理后,上报中心端,共给其他消费者消费。

4.3 KubeProbe探测/巡检用例管理

所有的探测/巡检用例都使用统一的 git 仓库管理,由我们提供一个统一的 client 库,client 库最核心提供的方法主要有两个。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
KPclient "gitlab.alibaba-inc.com/{sigma-inf}/{kubeProbe}/client"

// 报告成功
// 此方法会向KubeProbe报告本次巡检结果为成功
KPclient.ReportSuccess()
os.Exit(0)

// 报告失败
// 报告方法会向KubeProbe报告本次巡检结果为失败,并且失败信息为 `我失败啦`
KPclient.ReportFailure([]string{"我失败啦!"})
os.Exit(1)

我们可以通过提供好的 Makefile 将这个用例打包成镜像,录入 KubeProbe 中心端就可以对集群做配置和下发了。将具体巡检/探测逻辑和 KubeProbe 中心管控端解耦,可以灵活而又简便的让更多的二方用户接入自己的特殊巡检/探测逻辑。

目前已经使用的探测/巡检用例包括:

  • 通用探测:模拟 pod / deployment / statefulset 生命周期探测集群整条管控链路。
  • etcd 黑盒探测:模拟 etcd 的基本操作,探测元集群中各 etcd 状态。
  • 金丝雀探测(感谢质量技术同学的大力支持):模拟用户使用 ASI 的部署场景,实现金丝雀应用的全链路模拟发布/扩容/缩容。
  • Virtual cluster 探测:探测 vc 虚拟集群的管控链路状态。
  • 联邦链路探测:探测联邦控制器相关链路的状态。
  • 节点通用探测:在集群每个节点上模拟调度一个探测 pod,探测节点侧链路状态。
  • ASI 客户端/服务端证书巡检:检查客户端/服务端证书有效性以及到期时间是否已超过告警阈值。
  • 全局风控限流巡检:检查各 ASI 集群是否已经推平并开启 KubeDefender 全局限流风控配置。
  • ······

4.4 KubeProbe中心端管控

编写完成探测/巡检用例,并打包上传好镜像后,就需要在 KubeProbe 中心端注册这个用例模版,即将镜像注册进 KubeProbe 中心端的数据库中。

我们可以通过"渲染配置"参数传入一些指定的 env 环境变量到巡检/探测 pod 中,用于执行不同的业务逻辑,实现同一个用例模版生成多个用例。

最后通过统一的配置管控将用例和集群做绑定,配置对应的参数,执行各种下发逻辑。

同时,我们还在 KubeProbe 中心端做了大量权限安全管控,脏数据资源清理以及提效增速的工作(比如采用完全以 ownerreferences 的巡检/探测用例资源自动清理能力等等),这里不再赘述。

4.5 打通发布/变更阻断

我们打通了 KubeProbe 探测与发布变更的关联,当对应集群中有任何变更发生时(如某组件在做发布),我们会自动通过相应的事件触发此集群绑定的所有巡检/探测用例,检查集群状态是否正常。如果探测失败,则会将变更阻断,降低爆炸半径,提升集群变更时稳定性。

4.6 为什么不使用Kuberhealthy

社区有一个 Operator 叫 Kuberhealthy 也可以做类似的事情,我们曾经也考虑采用,并且深度使用过 Kuberhealthy 和参与 kuberhealthy 的社区贡献,最终得出不适合的结论,主要原因是对大规模集群的支持较弱,同时高频调用时主流程卡死问题比较严重,不支持事件/手动单次触发特性,不支持统一上报数据中心等等,最终选择了自研自建的方式,目前来看是一个比较正确的选择。

5 小结果

KubeProbe 上线以来,实现探测/巡检用例几十个,在集团数百个 ASI 集群中运行千万余次,主动发现集群故障和问题百余次,其中某些小故障一旦没有发觉很有可能升级成为大故障,有效降低了系统风险。同时打通了变更/发布系统,提升了变更稳定性。并且在特殊故障时,多次先于业务方提前发现问题,更早地推动解决问题,客观降低了故障损失。

下面是一个具体例子:

我们会接收到每个集群中各个组件的发布事件,由发布事件触发我们会在对应集群中运行相关的巡检/探测,比如调度一个定向的 pod 到某个节点组件发布的节点上去。我们发现 kube-proxy 的发布会导致节点的短暂不可用,调度上去的 pod 无法创建成功,从简单的返回/日志/集群事件上看不出具体的问题,并且持续复现。经过深入排查,得知是 kube-proxy 的问题,存在 netns 泄露。运行久了会泄露,当 kube-proxy 重启的时候,内核要清理 netns,会卡一段时间来清理,导致节点一段时间链路不通,pod 可以调度上去但是运行不起来,从而后续推进了 kube-proxy 的问题修复。

发现问题之后

KubeProbe和数据监控告警区别

KubeProbe所面对的场景和数据监控不同,更多偏向于链路探测;

比如,监控告警一般的告警可能如下:

  • Controller容器内存使用率 99%
  • Webhook双副本全部挂掉了
  • APIServer三副本全部宕机了

这些告警,往往内容中就包含了具体的故障点,而KubeProbe的链路探测告警就有很多不一样,比如:

  • Statefulset链路探测失败,Failed to create pod sandbox: rpc error: code = Unknown
  • etcd全流程黑盒探测失败,context deadline exceeded
  • CloneSet扩容失败,connect: connection refused

这些KubeProbe的告警往往比较难从字面看出到底这次巡检/探测是为什么失败了,我们往往需要根据相关的用例返回日志,巡检/探测pod日志,KubeProbe相关集群事件综合排查,定位失败原因

根因定位

我们以比较浑沌的KubeProbe探测失败告警作为线索,构建了一套KubeProbe自闭环的根因定位系统,将问题排查的专家经验下沉进系统中,实现了快速和自动的问题定位功能,一个简单的定位规则如下:

我们会通过普通的根因分析树以及对失败巡检探测事件/日志的机器学习分类算法(持续开发投入中),为每一个KubeProbe的探测失败Case做根因定位,并通过KubeProbe内统一实现的问题严重性评估系统(目前这里的规则仍比较简单),为告警的严重性做评估,从而判断应该如何做后续的处理适宜,比如是否自愈,是否电话告警等等。

Oncall和ChatOps

有了上面提到的根因定位以及告警严重性评估系统,我们使用了nlp告警机器人,实现了一套自动化的Oncall系统以及ChatOps,展示一些使用的case如下,通过ChatOps和Oncall机器人,极大的降低了问题处理的复杂度,尽量用技术的手段解决重复的问题;

以上是我们在管理大规模Kubernetes集群中的一点点微小的经验,也解决了一些普通的问题,希望能对大家有所帮助。在阿里云如此海量规模的场景下,我们还需要持续打磨,我们仍在路上,并且将持续在路上。

来源阿里巴巴云原生

作者: 彭南光(光南)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
3 条评论
热度
最新
确实好
确实好
回复回复点赞举报
好文章
好文章
回复回复点赞举报
学习一下
学习一下
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
用更云原生的方式做诊断|大规模 K8s 集群诊断利器深度解析
通常而言,集群的稳定性决定了一个平台的服务质量以及对外口碑,当一个平台管理了相当规模数量的 Kubernetes 集群之后,在稳定性这件事上也许会“稍显被动”。
开源小E
2022/05/19
5940
用更云原生的方式做诊断|大规模 K8s 集群诊断利器深度解析
在大规模 Kubernetes 集群上实现高 SLO 的方法
导读:随着 Kubernetes 集群规模和复杂性的增加,集群越来越难以保证高效率、低延迟的交付 pod。本文将分享蚂蚁金服在设计 SLO 架构和实现高 SLO 的方法和经验。
CNCF
2020/11/09
1.3K0
在大规模 Kubernetes 集群上实现高 SLO 的方法
大规模 K8s 集群管理经验分享 · 上篇
11 月 23 日,Erda 与 OSCHINA 社区联手发起了【高手问答第 271 期 -- 聊聊大规模 K8s 集群管理】,目前问答活动已持续一周,由 Erda SRE 团队负责人骆冰利为大家解答,以下是本次活动的部分问题整理合集,其他问题也将于近期整理后发布,敬请期待!
开源小E
2021/12/01
1.1K0
大规模 K8s 集群管理经验分享 · 上篇
治大国若烹小鲜,大规模Kubernetes集群的运营哲学
有些人会说,Kubernetes 已经这么成熟了,都是开源的,而且已经有这么多的工具进行部署监控了,集群的运维会有什么难度。其实不然,集群运营,特别是大规模集群运营,需要丰富的经验,成熟的体系,辅助的工具链等等,因此其难度并不亚于开发一套大型系统。所谓治大国若烹小鲜,集群需要精细化的运营,对于细节的要求更是严格甚至苛刻。
CNCF
2019/12/06
6030
vivo大规模 Kubernetes 集群自动化运维实践
随着vivo业务迁移到K8s的增长,我们需要将K8s部署到多个数据中心。如何高效、可靠的在数据中心管理多个大规模的K8s集群是我们面临的关键挑战。kubernetes的节点需要对OS、Docker、etcd、K8s、CNI和网络插件的安装和配置,维护这些依赖关系繁琐又容易出错。
2020labs小助手
2022/06/13
9360
Kubernetes 排障实战:用 Prometheus 提升集群可用性和排障效率
导语:本文主要探讨 Prometheus 在观测 Kubernetes 方面的独特优势和最佳实践,包括如何在 Kubernetes 不同层次和维度上实现全面的可观测性,如何排查最常见的 Kubernetes 故障,以及维护集群稳定高效运行的最佳实践。
腾讯云可观测平台
2025/02/11
1380
Kubernetes 排障实战:用 Prometheus 提升集群可用性和排障效率
万字警告 - k8s入门,理应Pod先行!
大家好,欢迎来到小菜个人 solo 学堂。在这里,知识免费,不吝吸收!关注免费,不吝动手!死鬼~看完记得给我来个三连哦!
蔡不菜丶
2021/04/29
8010
万字警告 - k8s入门,理应Pod先行!
k8s集群5个故障案例分析
最近看到了一份收集Kubernetes故障案例的资料,资料由ZalandoTech的高级首席工程师Henning Jacobs加以维护。这个由社区驱动的项目全面介绍了Kubernetes反模式以及为何导致Kubernetes运行错误的原因。
iginkgo18
2022/03/14
2.7K0
万级K8s集群背后etcd稳定性及性能优化实践
随着腾讯自研上云及公有云用户的迅速增长,一方面,腾讯云容器服务TKE服务数量和核数大幅增长, 另一方面我们提供的容器服务类型(TKE托管及独立集群、EKS弹性集群、edge边缘计算集群、mesh服务网格、serverless knative)也越来越丰富。各类容器服务类型背后的核心都是K8s,K8s核心的存储etcd又统一由我们基于K8s构建的etcd平台进行管理。基于它我们目前管理了千级etcd集群,背后支撑了万级K8s集群。
腾讯云原生
2020/09/11
4K0
万级K8s集群背后etcd稳定性及性能优化实践
私有云与K8S对比
mdo架构如下, 通过manager + agent两个概念管理集群,manager 和 agent上运行的都是无状态的服务,集群状态持久化到etcd中。
ruochen
2021/12/07
1.5K0
K8S 部署电商项目
域名分配及动态更新问题 从上面的方法,采用 Nginx-Pod 似乎已经解决了问题,但是其实这里面有一个很大缺陷:当每次有新服务加入又该如何修改 Nginx 配置呢?我们知道使用 Nginx 可以通过虚拟主机域名进行区分不同的服务,而每个服务通过 upstream 进行定义不同的负载均衡池,再加上 location 进行负载均衡的反向代理,在日常使用中只需要修改 nginx.conf 即可实现,那在 K8S 中又该如何实现这种方式的调度呢?假设后端的服务初始服务只有 ecshop,后面增加了 bbs 和 member 服务,那么又该如何将这 2 个服务加入到 Nginx-Pod 进行调度呢?总不能每次手动改或者 Rolling Update 前端 Nginx Pod 吧!此时Ingress 出现了,如果不算上面的 Nginx,Ingress 包含两大组件:Ingress Controller 和 Ingress。
全栈程序员站长
2022/09/02
8920
k8s 日志采集最佳实践
通常一个线上问题的定位流程是: 通过 Metric 发现问题, 根据 Trace 定位到问题模块,根据模块具体的日志定位问题原因。在日志中包括了错误、关键变量、代码运行路径等信息,这些是问题排查的核心,因此日志永远是线上问题排查的必经路径;
iginkgo18
2021/11/09
2.5K0
石墨文档基于k8s的Go微服务实践(上)
单体应用时期一般处于一个公司的创业初期,他的好处就是运维简单、开发快速、能够快速适应业务需求变化。但是当业务发展到一定程度后,会发现许多业务会存在一些莫名奇妙的耦合,例如你修改了一个支付模块的函数,结果登录功能挂了。为了避免这种耦合,会将一些功能模块做一个垂直拆分,进行业务隔离,彼此之间功能相互不影响。但是在业务发展过程中,会发现垂直应用架构有许多相同的功能,需要重复开发或者复制粘贴代码。所以要解决以上复用功能的问题,我们可以将同一个业务领域内功能抽出来作为一个单独的服务,服务之间使用RPC进行远程调用,这就是我们常所说的微服务架构。
iginkgo18
2021/09/17
9810
有3亿用户的美版“小红书”Pinterest如何平稳扩展K8s?
作者 | Anson Qian 译者 | 马可薇 策划 | 万佳 作为美国知名的图片社交网站,Pinterest 坐拥 3 亿用户,类似于中国小红书。2017 年,Pinterest 走上 Kubernetes 之旅。但随着用户激增,负载飙升,其 K8s 平台问题不断。如何平稳扩展 K8s 平台变得至关重要。 1前言 距离上一次分享我们在 Pinterest 上搭建 Kubernetes 之旅已经过去一年多了。从那时开始,我们交付了许多功能,方便用户进行采用,确保可靠性和可延展性,并积累了很多运维经验和最佳
深度学习与Python
2023/04/01
9820
有3亿用户的美版“小红书”Pinterest如何平稳扩展K8s?
大规模场景下 k8s 集群的性能优化
对于不同 object 进行分库存储,首先应该将数据与状态分离,即将 events 放在单独的 etcd 实例中,在 apiserver 的配置中加上--etcd-servers-overrides=/events#https://xxx:3379;https://xxx:3379;https://xxx:3379;https://xxxx:3379;https://xxx:3379,后期可以将 pod、node 等 object 也分离在单独的 etcd 实例中。
我的小碗汤
2019/11/12
7.7K0
大规模场景下 k8s 集群的性能优化
最详细的 K8S 学习笔记总结(2021最新版)!建议收藏
虽然 Docker 已经很强大了,但是在实际使用上还是有诸多不便,比如集群管理、资源调度、文件管理等等。那么在这样一个百花齐放的容器时代涌现出了很多解决方案,比如 Mesos、Swarm、Kubernetes 等等,其中谷歌开源的 Kubernetes 是作为老大哥的存在。
民工哥
2021/04/18
9.3K2
万字详解:K8s核心组件与指标监控体系
K8s 是容器编排领域的事实标准,作为一名后端开发,如果对 K8s 的技术原理不够了解,未来无论是在日常工作还是求职面试中,可能都会面临一些挑战问题。 本文是腾讯云可观测平台工程师柯开所总结的 K8s 核心技术原理,帮助你轻松拿捏!长文干货预警,建议先点赞转发收藏一键三连再来仔细阅读,对照问题场景印证效果更佳!
腾讯云开发者
2025/03/19
1990
万字详解:K8s核心组件与指标监控体系
推荐21-备战双 11!蚂蚁金服万级规模 K8s 集群管理系统如何设计?
导读:Kubernetes 的出现使得广大开发同学也能运维复杂的分布式系统,它大幅降低了容器化应用部署的门槛,但运维和管理一个生产级的高可用 Kubernetes 集群仍十分困难。本文将分享蚂蚁金服是如何有效可靠地管理大规模 Kubernetes 集群的,并会详细介绍集群管理系统核心组件的设计。
猿哥
2019/10/29
7.5K0
如何构建万级Kubernetes集群场景下的etcd监控平台?
周成,腾讯云工程师,主要负责腾讯 etcd 监控平台设计、开发、运维工作,具备大规模 Kubernetes 和 etcd 集群运维开发经验。 唐聪,腾讯云资深工程师,极客时间专栏《etcd实战课》作者,etcd活跃贡献者, 主要负责腾讯云万级K8s集群和内部业务的公共etcd平台以及serverless 产品研发设计工作。 背景 随着 Kubernetes 成为容器编排领域的霸主,越来越多的业务大规模在生产环境使用 Kubernetes 来部署、管理服务。腾讯云TKE正是基于原生 Kubernetes,提
腾讯云原生
2021/03/08
1.2K0
成本最高降低70%,腾讯大规模业务集群的云原生成本优化实践!
唐聪,腾讯云容器技术专家,极客时间专栏《etcd实战课》作者,开源项目kstone和crane内部雏形版 founder,etcd活跃贡献者,主要负责腾讯云大规模k8s和etcd平台稳定性和性能优化、业务集群成本优化、有状态服务容器化等产品研发设计工作。 背景 2021年下半年以来,在新冠疫情和互联网政策的冲击之下,各大互联网公司都在进行降本增效。降本增效的一大核心手段就是优化计算资源成本,本文将以腾讯某内部 Kubernetes/TKE 业务为案例,详细阐述如何从 0到1(成本数据采集与分析、优化措施、行
腾讯云原生
2022/07/01
2.9K0
成本最高降低70%,腾讯大规模业务集群的云原生成本优化实践!
推荐阅读
相关推荐
用更云原生的方式做诊断|大规模 K8s 集群诊断利器深度解析
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文