螞蟻集團如何在大規模 Kubernetes 集羣上實現高 SLO?

隨着 Kubernetes 逐漸成爲雲計算的標準,企業中的 Kubernetes 應用正成爲主流。根據 CNCF 2019 Kubernetes 使用調查報告的顯示:目前 84% 的用戶已經在生產環境中使用 Kubernetes,生產環境中容器部署規模超過 1000 的比例是 34%,其中超過 5000 的大規模應用比例是 19%。當集羣越來越大、越來越複雜,集羣可用性就會面臨挑戰。

  • 整體指標:集羣是否健康,所有組件是否正常工作,集羣中 Pod 創建的失敗數量有多少等等;
  • 追蹤能力:集羣中發生了什麼,是否有異常,用戶做了什麼事情等等;
  • 原因定位:出現異常之後,找到是哪個組件出了問題。

想要解決這些問題,比較好的一個方法就是 SLO,通過定義 SLO 來描述集羣的可用性,追蹤集羣中 Pod 的生命週期,一旦出現失敗 Pod,快速定位異常組件。本文采訪了螞蟻集團技術專家範康和姚菁華來分享螞蟻集團 的 SLO 體系是如何建立的。

大家常會聽到 SLA,其實 SLA 是 SLO 衍生出來的協議,SLA 協議會形成具有法律效力的合同,通常是服務供應商和外部客戶之間簽訂的,而 SLO 是用於內部服務之間,定義服務所提供功能的一種期望狀態。

SLO 指標定義

如果我們要通過定義來描述集羣的可用性,那麼具體的描述指標就成爲了需要解決的關鍵問題。在螞蟻 集團 內部,集羣可用性的關鍵指標包含五個:集羣健康度、Pod 創建成功率、殘留 Terminating Pod 的數量、服務在線率和故障機數量。

原文鏈接:【https://www.infoq.cn/article/VuCOims462XbPQwrcftl】。未經作者許可,禁止轉載。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章