若是你正在 Kubernetes 上工做,你的 SRE 和 Ops 團隊須要正確的工具來確保Kubernetes集羣的高可用和在其中運行的工做負載。這裏咱們列出了10個開源Kubernetes工具來使得你的SRE和Ops團隊更高效的達到他們的服務水平目標(SLA)。ios
Kube-ops-view爲多個Kubernetes集羣提供了一個通用的操做視圖,對於SRE和Ops團隊來講這是一個方便的工具,Kube-ops-view提供只讀的系統儀表。Kube-ops-view 提供了一些很是酷的特性:git
Cabin是一個Kubernetes 的原生的手機App儀表盤。Cabin UI是使用React Native,所以能夠運行在 IOS和Android硬件上。它是一個移動助手,提供了細粒度操做來維護Kubernetes 資源。Cabin app作了觸摸優化。例如,你能夠經過一個左滑動來刪除一個pod。你也能夠經過一個手指滾動來擴展部署。 github
Cabin 的一些有趣的特性:若是你工做在多k8s 集羣,kubectx是另一個必需要有的工具。Kubectx與kubens捆綁在一塊兒,當你使用kubectl的時候,容許你在Kubernetes集羣和命名空間之間切換。 shell
kubectx 和 kubens支持在bash/zsh 環境經過 tab 來幫助你補全長的長下文名稱。你不在須要記得完整的上下文名稱。數據庫
Kube-shell是一個和Kubernetes CLI集成的 Shell,它有一些很是漂亮的特性,好比:安全
Kube-prompt是另一個有自動補全特性的交互式Kubernetes客戶端。它接受沒有kubect前綴的命令。bash
另外,Kube-ps1是一個相似的腳本讓你添加配置在kubectl的當前Kubernetes 上下文和命名空間到你的Bash/Zsh提示字符。服務器
最後,Kail是一個 Kubernetes tail。做爲一個Kubernetes日誌查看器,kail容許你使用選擇器從匹配的pods流式的查看日誌。網絡
Kail - kubernetes 日誌查看器 架構
你能夠基於標準的標籤選擇器匹配 pods,經過名字,經過服務,經過部署,等等。
Stern是另一個專一於 pods和 pods中容器的日誌 tail 解決方案。使用 Stern,爲了快速調試,結果是有顏色的。
Telepresence是一個開源的工具,可讓你在本地調試服務,雖然該服務與它位於遠程Kubernetes集羣或者是遠程雲服務資源(如數據庫)的依賴服務保持鏈接。
Telepresence 本地開發和和對遠程Kubernetes 集羣的調試。
就我的而言,我認爲Telepresence有很大的潛力,對於運行在 Kubernetes 上的服務而言,Telepresence已是一個豐富的本地開發環境。在線調試是一個新事物,可是發展很快。
Weave Scope是一個Docker 和 Kubernetes的排錯&監控工具。它爲你的應用自動的構建邏輯拓撲以及基礎設施,以便你的SRE和Ops團隊能夠直觀的明白,監控,控制你的容器,基於應用的微服務。
除了拓撲視圖,Weave Scope也提供了一個深刻視圖,好比節點和進程之間的任何事情,包括部署,服務,副本集,pods 和容器。另外,你基於CPU和內存使用率應用過濾,或者是經過名字,標籤,甚至路徑使用搜索快速的找到節點類型,容器和進程。
PowerfulSeal 的靈感來源於 Chaos Monkey,由 Bloomberg 工程師團隊開發。它能夠給你的Kubernetes集羣添加混亂,如殺掉目標的pods或者是節點。它以兩個模式操做:交互式和自治的。
策略文件是以YAML 格式編寫的,包含將被自治客戶端執行的場景。
kube-monkey是用於Kubernetes集羣的Netflix的Chaos Monkey 的另一種實現方式。它隨機刪除在Kubernetes集羣中的pods,鼓勵並驗證恢復服務的開發。
Marmot是一個來自於谷歌的工做流執行引擎,用於處理SRE和Ops須要的工做流。它被設計爲處理基礎架構變動的工具,但它能夠和Kubernetes一塊兒使用。
它特別適用於那些有必定節奏,可能須要對健康進行狀態檢查的任何類型的操做。所以,好比,你正在使用大量實例發佈一個新服務版本,這時你執行了一個增量在受控的發佈(金絲雀發佈)。
Ark 是一個用於管理從你的Kubernetes資源和卷作災難恢復的工具。Ark提供一個簡單而且魯棒的方式來備份和從系列的檢查點恢復Kubernetes資源和持久化的卷。備份文件被存儲在一個對象存儲服務(如,Amazon S3)。
Ark 確保你以一個高效的方式自動化如下場景:
Ark 附帶一個集羣服務(Ark server)和CLI(Ark 客戶端),集羣服務最重要的工做就是它運行全部的Ark控制器。Ark服務器執行實際的備份,校驗,和把備份文件加載進雲對象存儲中。
Sysdig是一個容器排錯工具,它能夠捕獲系統調用和來自於Linux內核的事件。簡單的說,對於整個集羣,Sysdig就是strace + tcpdump + htop + iftop + lsof + wireshark。
Sysdig Inspect是一個可視化經過Sysdig收集的數據的接口。Sysdig Inspect 使得SRE和Ops團隊在容器排錯和安全調查方面很方便。
Sysdig Falco 是另一個構建與Sysdig收集的數據基礎之上的工具。Falco監控活動行爲,它被設計爲發現你應用中異常的活動。好比,使用Falco你能夠發現活動,如:
Kubernetes 生態系統正在爆炸性增加。有大量的開源和商業工具能夠幫助你更高效的操做非關鍵性的Kubernetes集羣和服務。