Robusta 是一個用於K8s 自動化和故障排除的開源框架。它不僅會在出現問題時發出警報,而且還提供有關可能導致這種情況發生的原因的洞察力,甚至建議一鍵修復您遇到的最常見問題(OOMKill、Crashloop、CPUthrottling)。

它使用Prometheus 作為監控部分,並建議在其之上進行修復。它還使您能夠找出可能影響您的集群的任何最近更改。簡而言之,Robusta 正在構建一個包含所有錯誤的數據庫,您可以使用所有可能的解決方案來解決這些錯誤。

安裝

1.建立設定檔

vi Dockerfile

FROM ubuntu:latest
RUN apt-get update && apt-get install -y python3
RUN apt-get -y install python3-pip
RUN pip3 install -U robusta-cli --no-cache
WORKDIR /data
ENTRYPOINT ["robusta"]

docker build -t robusta .

接下來我們需要生成 Robusta 配置文件。 這是我使用剛剛創建的 docker 容器鏡像

docker run -it -v $PWD:/data  robusta  gen-config

完成後,一個基本的 generated_values.yaml 文件將存儲在當前目錄中,其中包含用於在集群中安裝 Robusta 

接入slack成功會出現訊息

加入helm repo

helm repo add robusta \
https://robusta-charts.storage.googleapis.com && helm repo update

安裝

helm install robusta robusta/robusta -f ./generated_values.yaml --set clusterName='cluster-architecture'

安裝完成訊息

NAME: robusta
LAST DEPLOYED: Mon Dec 26 15:01:22 2022
NAMESPACE: default
STATUS: deployed
REVISION: 1
NOTES:
Thank you for installing Robusta 0.10.8

As an open source project, we collect general usage statistics.
This data is extremely limited and contains only general metadata to help us understand usage patterns.
If you are willing to share additional data, please do so! It really help us improve Robusta.

You can set sendAdditionalTelemetry: true as a Helm value to send exception reports and additional data.
This is disabled by default.

To opt-out of telemetry entirely, set a ENABLE_TELEMETRY=false environment variable on the robusta-runner deployment.

Visit the web UI at: https://platform.robusta.dev/

部署一個測試pod 驗證告警

kubectl apply -f https://gist.githubusercontent.com/robusta-lab/283609047306dc1f05cf59806ade30b6/raw

測試OOMKilld 修改應用的記憶體讓它不能啟動

告警訊息

點擊告警上面的連結會到後台可以看到Timeline時間線發生的事件

後台也可以看到所有app的狀態

當線上問題解決後也會發回復正常的告警

 

By tony

自由軟體愛好者~喜歡不斷的思考各種問題,有新的事物都會想去學習嘗試 做實驗並熱衷研究 沒有所謂頂天的技術 只有謙虛及不斷的學習 精進專業,本站主要以分享系統及網路相關知識、資源而建立。 Github http://stnet253.github.io

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料