Kubernetes 稳定性保障手册 -- 极简版
作者 | 悟鵬
來源 | 阿里巴巴云原生公眾號
Kubernetes 在生產環境中的采用率越來越高,復雜度越來越高,由此帶來的穩定性保障的挑戰越來越大。
對于基于 Kubernetes 的云產品,穩定性保障已成為基本訴求,穩定性缺陷會給產品帶來巨大的損失,如用戶流失、用戶信心下降、產品迭代速度變慢等。
雖然基于 Kubernetes 的穩定性保障很重要,但業界缺少基于實踐的標準化穩定性保障方案,導致同樣的問題在同一產品或不同的產品中重復出現,最佳實踐不能應用在更多相同技術棧的產品中,不同產品形成的穩定性保障最佳實踐也不能互補。
為此,基于過去的開發實踐以及基于 Kubernetes 的穩定性保障經驗,嘗試形成《Kuberentes 穩定性保障手冊》,將穩定性保障最佳實踐進行沉淀,使得人人對 Kubenretes 穩定性保障的理論形成全面的理解,相應的工具和服務成為基礎設施,復用在類似技術棧的產品中,加速穩定性保障最佳實踐的傳播、迭代和應用。
本篇文章作為《Kubernetes 穩定性保障手冊》第一篇文章,抽象穩定性保障中的核心內容,作為穩定性保障最簡使用手冊。
極簡手冊目標
- 1min 理解穩定性保障目標
- 3min 把握穩定性保障全局視圖
- 一站查找穩定性保障推薦工具或服務
穩定性保障目標
- 滿足服務或產品對穩定性的訴求
- 加速服務或產品的迭代
穩定性保障檢查項
穩定性保障級別
實踐
方法論
全局視圖
實踐流程:
為了降低實踐的成本,需要把握云產品中的元素及交互關系,從基礎的元素和交互方面解構復雜系統:
-
元素 (2 類)
- 云產品組件
- 云產品
-
交互 (2 類,共 3 種場景)
- 云產品內部
- 組件自身
- 組件與組件之間
- 云產品之間
- 云產品與云產品之間
- 云產品內部
如下圖:
隨著元素數量和交互關系的增多,系統會逐步變得復雜,穩定性保障面臨的挑戰也會越來越大,要避免引入非必要的復雜性。
因此,需要先梳理清楚當前的運行鏈路圖,進行鏈路重要性分析,并整理組件大圖,判斷組件的爆炸半徑。在此基礎上,還需要進行參與人員的 review,避免在人員的投入方面存在單點風險。
運行鏈路圖示例:
鏈路重要性示例:
云產品間交互示例:
基于上述對系統復雜度、運行鏈路的分析,面對穩定性保障的問題域,可以有效提出、落地解決方案。
問題處理
實踐流程:
對于復雜的系統,通常會有如下的角色關系:
梳理清楚每層的角色,并使得參與同學可以方便查找目標同學,會縮短問題處理時間。
問題域
概述
推薦
后續
對于《Kubernetes 穩定性保障手冊》,接下來會進行如下的章節細化,分別從方法論和工具/服務的角度進行總結,形成初版后與大家分享,進行共建:
總結
以上是生活随笔為你收集整理的Kubernetes 稳定性保障手册 -- 极简版的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 应云而生,幽灵的威胁 - 云原生应用交付
- 下一篇: Serverless 如何在阿里巴巴实现