Kubernetes 稳定性保障手册 -- 极简版

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
可观测可视化 Grafana 版,10个用户账号 1个月
简介: Kubernetes 在生产环境中的采用率越来越高,复杂度越来越高,由此带来的稳定性保障的挑战越来越大。

头图.png

作者 | 悟鹏
来源 | 阿里巴巴云原生公众号

Kubernetes 在生产环境中的采用率越来越高,复杂度越来越高,由此带来的稳定性保障的挑战越来越大。

对于基于 Kubernetes 的云产品,稳定性保障已成为基本诉求,稳定性缺陷会给产品带来巨大的损失,如用户流失、用户信心下降、产品迭代速度变慢等。

虽然基于 Kubernetes 的稳定性保障很重要,但业界缺少基于实践的标准化稳定性保障方案,导致同样的问题在同一产品或不同的产品中重复出现,最佳实践不能应用在更多相同技术栈的产品中,不同产品形成的稳定性保障最佳实践也不能互补。

为此,基于过去的开发实践以及基于 Kubernetes 的稳定性保障经验,尝试形成《Kuberentes 稳定性保障手册》,将稳定性保障最佳实践进行沉淀,使得人人对 Kubenretes 稳定性保障的理论形成全面的理解,相应的工具和服务成为基础设施,复用在类似技术栈的产品中,加速稳定性保障最佳实践的传播、迭代和应用。

本篇文章作为《Kubernetes 稳定性保障手册》第一篇文章,抽象稳定性保障中的核心内容,作为稳定性保障最简使用手册。

极简手册目标

  • 1min 理解稳定性保障目标
  • 3min 把握稳定性保障全局视图
  • 一站查找稳定性保障推荐工具或服务

稳定性保障目标

  • 满足服务或产品对稳定性的诉求
  • 加速服务或产品的迭代

稳定性保障检查项

1.jpg
2.jpg
3.jpg

稳定性保障级别

4.jpg

实践

方法论

全局视图

实践流程:

  1. 整理运行链路图,标记链路是否是关键链路
  2. 基于运行链路图,进行可观测性配置
  3. 基于链路重要程度,进行可控性治理

为了降低实践的成本,需要把握云产品中的元素及交互关系,从基础的元素和交互方面解构复杂系统:

  • 元素 (2 类)

    • 云产品组件
    • 云产品
  • 交互 (2 类,共 3 种场景)

    • 云产品内部

      • 组件自身
      • 组件与组件之间
    • 云产品之间

      • 云产品与云产品之间

如下图:

5.png

随着元素数量交互关系的增多,系统会逐步变得复杂,稳定性保障面临的挑战也会越来越大,要避免引入非必要的复杂性。

因此,需要先梳理清楚当前的运行链路图,进行链路重要性分析,并整理组件大图,判断组件的爆炸半径。在此基础上,还需要进行参与人员的 review,避免在人员的投入方面存在单点风险。

运行链路图示例:

6.png

链路重要性示例:

7.png

云产品间交互示例:

8.png

基于上述对系统复杂度、运行链路的分析,面对稳定性保障的问题域,可以有效提出、落地解决方案。

问题处理

实践流程:

  1. 长期维护角色列表、功能流程图、运行链路图
  2. 在多个分级的「告警群」中感知问题的发生和恢复
  3. 在唯一的「问题处理群」中处理问题和复盘问题

对于复杂的系统,通常会有如下的角色关系:

9.png

梳理清楚每层的角色,并使得参与同学可以方便查找目标同学,会缩短问题处理时间。

问题域

概述

10.png

推荐

11.jpg
12.jpg
13.jpg
14.jpg

后续

对于《Kubernetes 稳定性保障手册》,接下来会进行如下的章节细化,分别从方法论和工具/服务的角度进行总结,形成初版后与大家分享,进行共建:

15.jpeg

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
9月前
|
容器
阿里云最新产品手册——云基础产品与基础设施——计算——弹性容器实例——通用部署ACK虚拟节点组件创建ECI Pot——ECI Pot——特殊实例
阿里云最新产品手册——云基础产品与基础设施——计算——弹性容器实例——通用部署ACK虚拟节点组件创建ECI Pot——ECI Pot——特殊实例自制脑图
360 4
|
9月前
|
容器
阿里云最新产品手册——云基础产品与基础设施——计算——弹性容器实例——通用部署ACK虚拟节点组件创建ECI Pot——ECI Pot——创建ECI Pot
阿里云最新产品手册——云基础产品与基础设施——计算——弹性容器实例——通用部署ACK虚拟节点组件创建ECI Pot——ECI Pot——创建ECI Pot自制脑图
309 1
|
9月前
|
容器
阿里云最新产品手册——云基础产品与基础设施——计算——弹性容器实例——通用部署ACK虚拟节点组件创建ECI Pot——ECI Pot
阿里云最新产品手册——云基础产品与基础设施——计算——弹性容器实例——通用部署ACK虚拟节点组件创建ECI Pot——ECI Pot自制脑图
259 1
|
6天前
|
Kubernetes Cloud Native Linux
云原生|kubernetes|rancher-2.6.4安装部署简明手册
云原生|kubernetes|rancher-2.6.4安装部署简明手册
379 0
云原生|kubernetes|rancher-2.6.4安装部署简明手册
|
6天前
|
Kubernetes Cloud Native 虚拟化
云原生|kubernetes|minikube的部署安装完全手册(修订版)
云原生|kubernetes|minikube的部署安装完全手册(修订版)
670 1
|
5月前
|
运维 Kubernetes 监控
阿里云 ACK 云上大规模 Kubernetes 集群高可靠性保障实战
本文基于 ACK 稳定性保障实践经验,帮助用户全面理解 ACK 稳定性理论和优化策略,并了解如何使用相应的工具和服务进行稳定性保障。
184156 23
|
7月前
|
Kubernetes Java 微服务
再次登顶GitHub!阿里内网首次自曝炫彩版微服务响应式与K8S手册
“物之所至者,志亦至焉;志之所至者,礼亦至焉;礼之所至者,乐亦至焉:乐之所至者,哀亦至焉。”
|
8月前
|
运维 Kubernetes 监控
基于 Kubernetes 的 Serverless PaaS 稳定性建设万字总结
本文将侧重于实际落地而非方法论,阐述云产品 SAE 业务侧稳定性实际建设过程中的经验和思考。
156621 11
|
8月前
|
运维 Kubernetes 监控
基于Kubernetes的Serverless PaaS稳定性建设万字总结
本文将侧重于实际落地而非方法论,阐述云产品 SAE 业务侧稳定性实际建设过程中的经验和思考。
|
8月前
|
存储 Kubernetes 数据安全/隐私保护
Kubernetes Error 手册(上)
Kubernetes Error 手册(上)

相关产品

  • 容器服务Kubernetes版