50+頂級開源Kubernetes工具列表

近日,Kubernetes 1.13 正式發佈,這是2018年發佈的第四次也是最後一次大版本,該版本繼續關注Kubernetes穩定性和可擴展性,對存儲和集羣生命週期的主要功能實現高可用。Kubeadm簡化了集羣管理、容器存儲接口(CSI)並將CoreDNS作爲默認DNS。

最近兩年,Kubernetes給容器戰場帶來了巨大沖擊,Docker Swarm也未能成爲其對手,類似AWS的主流雲供應商紛紛提供K8s支持。本文總結了50多種Kubernetes集羣部署、監控、安全及測試等相關工具,大部分爲開源項目,非常適合技術人員入門。

原生可視化與控制

1、Kubernetes Dashboard

Kubernetes Dashboard是Kubernetes集羣基於Web的通用UI,使用本地儀表板對K8s集羣進行故障排除和監控要容易得多,但需要在計算機和Kubernetes API服務器之間創建安全代理通道才能訪問。原生Kubernetes Dashboard依賴Heapster數據收集器,因此也需安裝在系統中。
鏈接:
https://github.com/kubernetes/dashboard#kubernetes-dashboard
成本: 免費

測試

2、Kube-monkey

Kube-monkey遵循混沌工程原理,可隨機刪除K8s pod並檢查服務是否具有故障恢復能力,並提高系統健康性。Kube-monkey由TOML文件配置,可在其中指定要殺死的應用程序及恢復時間。
鏈接: https://github.com/asobti/kube-monkey
成本: 免費

3、K8s-testsuite

K8s-testsuite由兩個Helm圖組成,可用於網絡帶寬測試和單個Kubernetes集羣負載測試。負載測試模擬帶有loadbots的簡單Web服務器,這些服務器作爲基於Vegeta的Kubernetes微服務運行。網絡測試在內部使用iperf3和netperf-2.7.0並運行三次,兩組測試均會生成包含所有結果和指標的綜合日誌消息。
鏈接: https://github.com/mrahbar/k8s-testsuite
成本: 免費

4、Test-infra

Test-infra是Kubernetes測試和結果驗證的工具集合,可顯示歷史記錄、聚合故障及當前正在測試的內容。用戶可通過創建測試作業增強 test-infra套件。Test-infra可使用Kubetest工具對不同提供商的完整Kubernetes生命週期模擬並進行端到端測試。
鏈接: https://github.com/kubernetes/test-infra
成本: 免費

5、Sonobuoy

Sonobuoy允許以可訪問和非破壞方式運行一組測試瞭解當前Kubernetes集羣狀態。Sonobuoy生成信息報告,其中包含有關集羣性能的詳細信息。Sonobuoy支持Kubernetes 1.8及更高版本,Sonobuoy Scanner是一個基於瀏覽器的工具,允許通過幾次單擊測試Kubernetes集羣,但CLI版本有更多測試可用。
鏈接: https://github.com/heptio/sonobuoy
成本: 免費

6、PowerfulSeal

PowerfulSeal是一種類似Kube-monkey的工具,遵循混沌工程原理。PowerfulSeal可殺死pod並從集羣中刪除或者添加VM。與Kube-monkey相比,PowefulSeal具有交互模式,允許手動中斷特定集羣組件。此外,PowefulSeal除了SSH之外不需要外部依賴。
鏈接: https://github.com/bloomberg/powerfulseal
成本: 免費

集羣部署工具

7、Kubespray

Kubespray爲Kubernetes部署和配置提供一組Ansible角色。Kubespray可使用AWS,GCE,Azure,OpenStack或裸機基礎架構即服務(IaaS)平臺。 Kubespray是一個開源項目,具有開放的開發模型。對於已經瞭解Ansible的人來說,該工具是一個不錯的選擇,因爲不需要使用其他工具進行配置和編排。
鏈接: https://github.com/kubernetes-incubator/kubespray
成本: 免費

8、Minikube

Minikube允許在本地安裝和試用Kubernetes,該工具是使用Kubernetes的良好起點,可在筆記本電腦的虛擬機(VM)中輕鬆啓動單節點Kubernetes集羣。Minikube適用於Windows、Linux和OSX。在短短5分鐘內,用戶就可以探索Kubernetes的特點,只需一個命令即可啓動Minikube儀表板。
鏈接: https://github.com/kubernetes/minikube
成本: 免費

9、Kubeadm

Kubeadm是自1.4版以來的Kubernetes分發工具,該工具有助於在現有基礎架構上引導最佳Kubernetes集羣實踐,但Kubeadm無法配置基礎架構,其主要優點是能夠在任何地方發佈最小的可行Kubernetes集羣。但是,附加組件和網絡設置都不屬於Kubeadm範圍,因此需要手動或使用其他工具進行安裝。
鏈接: https://github.com/kubernetes/kubeadm
成本: 免費

10、Kops

Kops可幫助用戶從命令行創建、銷燬、升級和維護生產級高可用Kubernetes集羣。AWS目前正式支持,GCE處於測試支持狀態,而alpha vSphere中的VMware vSphere以及其他平臺均予以支持。Kops可控制完整Kubernetes集羣生命週期,從基礎架構配置到集羣刪除。
鏈接: https://github.com/kubernetes/kops
成本: 免費

11、Bootkube

CoreOS提供自託管Kubernetes集羣概念,自託管集羣方法的中心是Bootkube。Bootkube可設置臨時Kubernetes控制平面,該平面將一直運行,直到自託管控制平面能夠處理請求。
鏈接: https://github.com/kubernetes-incubator/bootkube
成本: 免費

12、Kubernetes on AWS (Kube-AWS)

Kube-AWS是CoreOS提供的控制檯工具,使用AWS CloudFormation部署功能齊全的Kubernetes集羣。Kube-AWS允許部署傳統Kubernetes集羣,並使用本機AWS功能(比如ELB、S3和Auto Scaling等)自動配置每個K8s服務。
鏈接: https://github.com/kubernetes-incubator/kube-aws]">https://github.com/kubernetes-incubator/kube-aws]
成本: 免費

13、SimpleKube

SimpleKube是一個bash腳本,可在Linux服務器上部署單節點Kubernetes集羣。雖然Minikube需要虛擬機管理程序(VirtualBox,KVM),但SimpleKube會將所有K8s二進制文件安裝到服務器。Simplekube在Debian 8/9和Ubuntu 16.x / 17.x上進行測試,這同樣是入門Kubernetes的好工具。
鏈接: https://github.com/valentin2105/Simplekube
成本: 免費

14、Juju

Juju 是 Canonical 提供的服務編排工具,可讓用戶遠程操作雲提供商解決方案。Juju的工作抽象級別高於Puppet、Ansible和Chef,並且管理服務而不是虛擬機。Canonical努力在生產中提供稱之爲合適的“Kubernetes-core bundle”。Juju可作爲專用工具使用,具有控制檯UI界面,也可作爲JaaS服務。
鏈接: https://jujucharms.com/
成本: 社區版免費,商業版每年200美元起

15、Conjure-up

Conjure-up同樣是Canonical的產品,允許使用簡單命令部署Kubernetes在Ubuntu上的規範分佈,支持AWS、GCE、Azure、Joyent、OpenStack、VMware和localhost部署。Juju、MAAS和LXD是Conjure-up的基礎。
鏈接: https://conjure-up.io/
成本: 免費

監測工具

16、Kubebox

Kubebox是Kubernetes集羣的終端控制檯,允許使用界面管理和監控集羣實時狀態。Kubebox可顯示pod資源使用情況,集羣監視和容器日誌等。此外,用戶可輕鬆導航到所需的命名空間並執行到所需容器,以便快速排障或恢復。
鏈接: https://github.com/astefanutti/kubebox
成本: 免費

17、Kubedash

Kubedash爲Kubernetes提供性能分析UI,彙總不同來源的指標,併爲管理員提供高級分析數據。Kubedash使用Heapster作爲數據源,默認情況下在所有Kubernetes集羣中作爲服務運行,爲各個容器收集指標並分析。
鏈接: https://github.com/kubernetes-retired/kubedash
成本: 免費

18、Kubernetes Operational View (Kube-ops-view)

Kube-ops-view是一個用於多K8s集羣的只讀系統儀表板。使用Kube-ops-view,用戶可輕鬆在集羣和監控節點之間導航,並監控pod健康狀況。Kube-ops-view可以動畫Kubernetes進程,例如pod創建和終止,使用Heapster作爲數據源。
鏈接: https://github.com/hjacobs/kube-ops-view
成本: 免費

19、Kubetail

Kubetail是一個小型bash腳本,允許將多個pod日誌聚合到一個流中。最初的Kubetail沒有過濾或突出顯示功能,但Github上的額外Kubetail版本可使用多尾工具形成並執行日誌着色。
鏈接: 
https://github.com/johanhaleby/kubetailhttps://github.com/aks/kubetail
成本: 免費

20、Kubewatch

Kubewatch可將K8s活動發佈到Slack應用。Kubewatch作爲Kubernetes集羣內的pod運行,並監視系統中發生的變化,可通過編輯配置文件來指定要接收的通知。
鏈接: https://github.com/bitnami-labs/kubewatch
成本: 免費

21、Weave Scope

Weave Scope是Docker和Kubernetes集羣的故障排除和監視工具,可以自動生成應用程序和基礎架構拓撲,輕鬆識別應用程序性能瓶頸,可以將Weave Scope部署爲本地服務器或筆記本電腦上的獨立應用程序,也可以選擇Weave Cloud上的Weave Scope軟件即服務(SaaS)解決方案。使用Weave Scope,用戶可根據名稱、標籤或資源消耗輕鬆對容器分組、過濾或搜索。
鏈接: https://www.weave.works/oss/scope/
成本: 標準模式提供30天免費體驗,企業版每節點每月150美元

22、Searchlight

AppsCode提供的Searchlight是滿足Icinga的Kubernetes編排工具。Searchlight會定期對Kubernetes集羣執行檢查,並在出現問題時通過電子郵件、短信或其他方式提醒。Searchlight包含專門爲Kubernetes編寫的默認檢查套件。此外,可通過外部黑匣子增強Prometheus監控,並在內部系統完全失效的情況下作爲備份。
鏈接: https://github.com/appscode/searchlight
成本: 免費

23、Heapster

Heapster爲Kubernetes提供容器集羣監控和性能分析。Heapster本身支持Kubernetes,可在所有K8s設置上作爲pod運行,可將Heapster數據推送到可配置的後端進行存儲和可視化。
鏈接: https://github.com/kubernetes/heapster
成本: 免費

安全

24、Trireme

Trireme適用於所有Kubernetes集羣,允許管理來自不同集羣的pod間流量,主要優點是不需要任何集中策略管理,能夠輕鬆組織部署在Kubernetes中的資源交互,並且沒有SDN、VLAN標籤和子網的複雜性(Trireme使用傳統L3-網絡)。
鏈接: https://github.com/aporeto-inc/trireme-kubernetes
成本: 免費

25、Aquasec

Aquasec爲Kubernetes部署提供完整的生命週期安全性。Aqua Security在每個容器實例上部署專用代理,該實例用作防火牆並阻止容器中的安全漏洞,此代理與中央Aqua Security控制檯進行通信,該控制檯強制執行已定義的安全限制。Aqua Security還有助於爲雲和內部部署環境組織靈活的安全交付管道。Kube-Bench是AquaSec發佈的開源工具,根據CIS Kubernetes Benchmark中的測試列表檢查Kubernetes環境。
鏈接: https://www.aquasec.com/
成本: 每次掃描0.29美元

26、Twistlock

Twistlock可用作雲原生應用程序防火牆,並分析容器和服務之間的網絡流量。Twistlock能夠分析標準容器行爲並據此生成適當規則,管理員不必手動生成。Twistlock還支持2.2版本的Kubernetes CIS基準測試。
鏈接: https://www.twistlock.com/
成本: 每年每個許可1700美元起 (可免費試用)

27、Sysdig Falco

Sysdig Falco是一種行爲活動監視器,旨在檢測應用程序異常。Falco基於Sysdig項目,這是一個開源工具(現在是商業項目),通過跟蹤內核系統調用來監控容器性能。Falco允許使用一組規則持續監視和檢測容器、應用程序、主機和網絡活動。
鏈接: https://sysdig.com/opensource/falco/
成本: 獨立工具可免費使用 
基於雲: 每月20美元 per month (免費試用)
Pro Cloud: 每月30 美元
Pro Software: 定製價格

28、Sysdig Secure

Sysdig Secure是Sysdig Container Intelligence Platform的一部分,具有無與倫比的容器可見性並與容器編排工具深度集成,開箱即用,包括Kubernetes、Docker、AWS ECS和Apache Mesos。Sysdig Secure可實施服務感知策略,阻止攻擊並分析歷史記錄及監控集羣性能。
鏈接: https://sysdig.com/product/secure/
成本: 工具免費 
Pro Cloud:定製價格
Pro Software: 定製價格

29、Kubesec.io

Kubesec.io可爲Kubernetes資源評分並提供安全功能,Kubesec.io根據安全性最佳實踐驗證資源配置。因此,用戶將獲得有關提高整體系統安全性的全面控制和建議。該網站包含大量與容器和Kubernetes安全相關的鏈接。
成本: 免費

CLI工具

30、Cabin

Cabin用作移動儀表板,可遠程管理Kubernetes集羣。 藉助Cabin,用戶可快速管理應用程序,擴展部署並通過Android或iOS設備對整個K8s集羣進行故障排除。Cabin是K8s集羣運營商的理想工具,因爲允許在發生事故時執行快速補救措施。
鏈接: https://github.com/bitnami-labs/cabin
成本: 免費

31、Kubectx/Kubens

Kubectx是一個小型開源實用工具,可以增強Kubectl功能,輕鬆切換上下文並同時連接到幾個Kubernetes集羣。Kubens允許在Kubernetes命名空間之間導航,這兩個工具在bash/zsh/fish shell上都有自動完成功能。
鏈接: https://github.com/ahmetb/kubectx
成本: 免費

32、 Kube-shell

使用kubectl時,Kube-shell可提高工作效率,其可通過命令自動完成部分工作。此外,Kube-shell將提供有關已執行命令的在線文檔。Kube-shell甚至可以在錯誤輸入時搜索和更正命令,是提高K8s控制檯性能和工作效率的絕佳工具。
鏈接: https://github.com/cloudnativelabs/kube-shell
成本: 免費

33、Kail

Kail是Kubernetes tail的縮寫,適用於Kubernetes集羣。Kail可爲所有匹配pod添加Docker日誌。Kail允許按服務、部署、標籤和其他功能過濾pod。如果Pod符合條件,則會在啓動後自動添加(或刪除)到日誌中。
鏈接: https://github.com/boz/kail
成本: 免費

部署工具

34、Telepresence

Telepresence通過Kubernetes環境的代理數據本地調試集羣到本地進程的可能性。Telepresence能夠爲本地代碼提供對Kubernetes服務和AWS/GCP資源的訪問,因爲它將部署到集羣。通過Telepresence,Kubernetes可將本地代碼視爲集羣中的普通pod。
鏈接: https://www.telepresence.io/
成本: 免費

35、Helm

Helm可與Char一起運行,Char是構成分佈式應用程序的Kubernetes資源歸檔集,可通過創建Helm圖表共享應用程序,Helm允許構建並輕鬆管理Kubernetes配置。
鏈接: https://github.com/kubernetes/helm
成本: 免費

36、Keel

Keel允許自動執行Kubernetes部署更新,並可在專用命名空間中作爲Kubernetes服務啓動。通過這種方式,Keel爲環境帶來了最小負載,並顯著增加穩健性。Keel通過標籤、註釋和圖表幫助部署Kubernetes服務,只需爲每個部署或Helm版本指定更新策略。一旦新的應用程序版本在存儲庫中可用,Keel將自動更新環境。
鏈接: https://keel.sh/
成本: 免費

37、Apollo

Apollo是一個開源應用程序,爲團隊提供自助UI,用於創建和部署Kubernetes服務。Apollo允許管理員單擊一下即可查看日誌並將部署恢復到任何時間點。Apollo具有靈活的部署權限模型,每個用戶只能部署需要的內容。
鏈接: https://github.com/logzio/apollo
成本: 免費

38、Draft

Draft是Azure團隊提供的工具,可簡化應用程序開發和部署到任何Kubernetes集羣。Draft在代碼部署和提交之間創建內部循環,顯著加快了變更驗證過程。使用Draft,開發人員可以準備應用程序Dockerfiles和Helm圖表,並使用兩個命令將應用程序部署到遠程或本地Kubernetes集羣。
鏈接: https://github.com/azure/draft
成本: 免費

39、Deis Workflow

Deis Workflow可在Kubernetes集羣上創建額外的抽象層,這些層允許開發人員在沒有特定領域認知的情況下部署或更新Kubernetes應用程序。Workflow基於Kubernetes概念構建,提供簡單且易於使用的應用程序部署方式。作爲一組Kubernetes微服務提供,運營商可輕鬆安裝該平臺,Workflow也可在不停機的情況下部署新版本應用。
鏈接: https://deis.com/workflow/
成本: 免費

40、Kel

Kel有助於管理Kubernetes應用的整個生命週期。Kel在Kubernetes上提供兩個用Python和Go編寫的附加層。級別0允許配置Kubernetes資源,級別1可幫助在K8s上部署應用程序。
鏈接: http://www.kelproject.com/
成本: 免費

CI/CD

41、Cloud 66

Cloud 66是一個完整的DevOps工具鏈,用於生產中容器化應用程序,通過專門的Ops工具自動化DevOps大部分繁重工作。該平臺目前在Kubernetes上運行4,000個客戶工作負載,並管理2,500行配置。通過提供端到端的基礎架構管理,Cloud 66使工程師能夠在任何雲或服務器上構建、交付、部署和管理應用程序。
鏈接: www.cloud66.com
成本: 14天免費使用

無服務器相關工具

42、 Kubeless

Kubeless是一個Kubernetes本機無服務器框架,允許部署少量代碼,而無需擔心底層基礎架構。Kubeless提供自動擴展、API路由、監控和故障排除等功能。Kubeless完全依賴K8s原語,因此Kubernetes用戶也可使用原生K8s API服務器和API網關。
鏈接: https://github.com/kubeless/kubeless
成本: 免費

43、Fission

Fission是Kubernetes的快速無服務器框架,可任何地方的Kubernetes集羣上運行:筆記本電腦、公有云或私有數據中心。用戶可使用Python、NodeJS、Go、C#或PHP編寫函數,並使用Fission將其部署到K8s集羣。
鏈接: https://fission.io/
成本: 免費

44、Funktion

很長一段時間,Kubernetes只有一個功能即服務實現就是Funktion。Funktion是一個爲Kubernetes設計的開源事件驅動lambda式編程模型。Funktion與fabric8平臺緊密結合。使用Funktion,用戶可創建從200多個事件源訂閱的流來調用功能,包括大多數數據庫、消息傳遞系統、社交媒體及其他中間件和協議。
鏈接: https://github.com/funktionio/funktion
成本: 免費

45、IronFunction

IronFunctions是一個開源無服務器平臺或FaaS平臺,可以在任何地方運行。IronFunction是在Golang上編寫的,並且支持任何語言函數。IronFunction的主要優點是支持AWS Lambda格式,直接從Lambda導入函數並在任何地方運行。
鏈接: https://github.com/iron-io/functions
成本: 免費

46、OpenWhisk

Apache OpenWhisk是一個由IBM和Adobe驅動的強大開源-FaaS平臺。OpenWhisk可在本地內部部署或雲上。Apache OpenWhisk的設計意味着其充當異步且鬆散耦合的執行環境,可以針對外部觸發器運行功能。OpenWhisk在Bluemix上作爲SaaS解決方案提供,或者在本地部署基於Vagrant的VM。
鏈接: https://console.bluemix.net/openwhisk/
成本: 免費

47、OpenFaaS

OpenFaaS框架旨在管理Docker Swarm或Kubernetes上的無服務器功能,可收集和分析各種指標。用戶可在函數內打包任何進程並使用,無需重複編碼或其他任何操作。FaaS具有Prometheus指標,這意味着可以根據需求自動調整功能。FaaS本身支持基於Web的界面,可在其中試用功能。
鏈接: https://github.com/openfaas/faas
成本: 免費

48、Nuclio

Nuclio是一個無服務器項目,可作爲獨立庫在內部部署設備上啓動,也可在VM或Docker容器內啓動。此外,Nuclio支持開箱即用的Kubernetes。Nuclio提供實時數據處理,具有最大並行性和最小開銷,可在頁面上試用Nuclio。
鏈接: https://github.com/nuclio/nuclio
成本: 免費

49、Virtual-Kubelet

Virtual Kubelet是一個開源Kubernetes Kubelet實現,僞裝成一個kubelet,用於將Kubernetes連接到其他API。Virtual Kubelet允許節點由其他服務(如ACI、Hyper.sh和AWS等)提供支持。此連接器具有可插入的體系結構,可直接使用Kubernetes原語,使其更容易構建。
鏈接: https://github.com/virtual-kubelet/virtual-kubelet
成本: 免費

50、Fnproject

Fnproject是一個容器本機無服務器項目,幾乎支持任何語言,可在任何地方運行。Fn是在Go上編寫的,因此具有性能和輕量級等優勢。Fnproject支持AWS Lambda格式,可以輕鬆導入Lambda函數並使用Fnproject啓動。
鏈接: http://fnproject.io/
成本: 免費

本地服務發現

51、CoreDNS

CoreDNS是一組用Go編寫的插件,用於執行DNS,帶有額外Kubernetes插件的CoreDNS可取代默認Kube-DNS服務,並實現爲Kubernetes基於DNS服務定義的規範。CoreDNS還可偵聽通過UDP/TCP、TLS和gRPC傳入的DNS請求。
鏈接: https://coredns.io/
成本: 免費

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