Linux中國

在 Kubernetes 中使用混沌工程

混沌工程是由科學、規劃以及實驗組成的。它是一門在系統上進行實驗的學科,用來建立系統在生產中承受混亂條件能力的信心。

首先,我會在文章導論部分解釋混沌系統如何工作。

如何開始學習混沌系統呢?

以我的經驗,開始學習混沌系統的最好方式是觸發一個此前生產中出現的事故來進行實驗。使用過去的數據,制定一個計劃,以相同的方式破壞你的系統,然後建立修復策略,並確認結果滿足你預期。如果計劃失敗,你就有了一種新的實驗方式,並朝著快速處理問題的新方式前進。

最重要的是,你可以隨時記錄所有內容,這意味著,隨著時間的推移,整個系統將被完整記錄下來,任何人都可以值守而無需太多加碼,每個人都可以在周末好好休息。

你要在混沌工程中做什麼?

混沌系統實驗運行背後有一些科學依據。我記錄了其中一些步驟:

  1. 定義一個穩定狀態: 使用監控工具來搜集當系統沒有問題或事故時,看起來功能正常的數據。
  2. 提出假設或使用先前的事故: 現在你已經定義了一個穩定狀態,請提出一個關於在事故或中斷期間會發生(或發生過)的情況的假設。用這個假設來得出一系列將會發生的事故,以及如何解決問題的理論。然後你可以制定一個故意引發該問題的計劃。
  3. 引發問題: 用這個計劃來破壞系統,並開始在真實環境中測試。收集破壞時的指標狀態,按計劃修復,並追蹤提出解決方案所需時長。確保你把所有的東西都記錄下來,以備將來發生故障時使用。
  4. 試圖推翻你的假設: 實驗中最精彩的部分是嘗試推翻你的思考或計劃。你要創建一個不同的狀態,看看你能走多遠,並在系統中生成一個不同的穩定狀態。

確保在你在另一個系統中生成的破壞因素前,建立一個處於穩定狀態的控制系統。這將使你更容易在實驗前、期間和之後發現各種穩定狀態的差異。

混沌工程需要什麼?

這有一些初學混沌工程很好的工具:

  • 良好的文檔編製方法
  • 一個捕捉你系統是否處於穩定狀態的監控系統
    • Grafana
    • Prometheus
  • 混沌工程工具:
    • Chaos mesh
    • Litmus
    • 之後的文章我會介紹更多
  • 一個假設
  • 一個計劃

去搞破壞吧

現在你已經掌握了基礎,是時候去安全的摧毀你的系統了。我計劃每年製造四次混亂,然後努力實現每月一次的破壞。

混沌工程是一種很好的實踐,也是推進你的內部文檔保持最新的好方法。此外,隨著時間的推移,新升級或應用程序部署將更加順暢,你的日常生活管理將通過 Kubernetes 變得更加輕鬆。

via: https://opensource.com/article/21/5/kubernetes-chaos

作者:Jessica Cherry 選題:lujun9972 譯者:Donkey 校對:turbokernel, wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國