當前位置:
首頁 > 科技 > 程序員必備!推薦50+有用的Kubernetes工具

程序員必備!推薦50+有用的Kubernetes工具

關注雲加社區提升技術能力

學習雲計算,AI,大數據,小程序開發等技術

助你一臂之力 成為技術大牛

在短短兩年的時間裡,Kubernetes在集裝箱管道戰場上給其競爭對手帶來了浪費。令人遺憾的是,Docker Swarm自2016年以來並未成為主要的競爭者。

由於Kubernetes作為首選的容器解決方案已經大受歡迎,因此這裡列出了所有補充K8的工具,以進一步增強您的開發工作。

Kube群集部署工具


1. Kubespray

Kubespray為Kubernetes部署和配置提供了一組Ansible角色。Kubespray可以使用AWS,GCE,Azure,OpenStack或裸機基礎架構即服務(IaaS)平台。Kubespray是一個開源項目,具有開放的開發模型。對於已經了解Ansible的人來說,該工具是一個不錯的選擇,因為不需要使用其他工具進行配置和編排。Kubespray在引擎蓋下使用kubeadm。

鏈接:https://github.com/kubernetes-incubator/kubespray

費用:免費


2. Minikube

Minikube允許您在本地安裝和試用Kubernetes。該工具是Kubernetes勘探的良好起點。在筆記本電腦上的虛擬機(VM)中輕鬆啟動單節點Kubernetes群集。Minikube適用於Windows,Linux和OSX。在短短的5分鐘內,您將可以探索Kubernetes的主要特色。只需一個命令即可直接啟動Minikube儀錶板。

鏈接:https://github.com/kubernetes/minikube

費用:免費


3. Kubeadm

Kubeadm是自1.4版以來的Kubernetes分發工具。該工具有助於在現有基礎架構上引導最佳實踐Kubernetes集群。但Kubeadm無法為您提供基礎設施。它的主要優點是能夠在任何地方發布最小的可行Kubernetes集群。但是,附加組件和網路設置都不屬於Kubeadm的範圍,因此您需要手動或使用其他工具進行安裝。

鏈接:https://github.com/kubernetes/kubeadm

費用:免費


4. Kops

Kops可以幫助您從命令行創建,銷毀,升級和維護生產級,高可用性的Kubernetes集群。亞馬遜網路服務(AWS)目前正式受到支持,GCE處於測試版支持狀態,而alpha vSphere中的VMware vSphere以及其他平台支持計劃得到支持。Kops允許您控制完整的Kubernetes集群生命周期; 從基礎架構配置到集群刪除。

鏈接:https://github.com/kubernetes/kops

費用:免費


5. Bootkube

CoreOS提供了1.4版本的自託管Kubernetes集群的概念。在自託管集群方法的中心是Bootkube。Bootkube可幫助您設置臨時Kubernetes控制平面,該平面將一直運行,直到自託管控制平面能夠處理請求。

鏈接:https://github.com/kubernetes-incubator/bootkube

費用:免費


6. AWS上的Kubernetes(Kube-AWS)

Kube-AWS是CoreOS提供的控制台工具,它使用AWS CloudFormation部署功能齊全的Kubernetes集群。Kube-AWS允許您部署傳統的Kubernetes集群,並使用本機AWS功能(例如,ELB,S3和Auto Scaling等)自動配置每個K8s服務。

鏈接:https://github.com/kubernetes-incubator/kube-aws

費用:免費


7. 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

費用:免費


8. Juju

Juju是Canonical的一名協調員,可讓您遠程操作雲提供商解決方案。Juju的工作抽象級別高於Puppet / Ansible / Chef,並且管理服務而不是機器/虛擬機。Canonical努力在生產中提供他們稱之為合適的「Kubernetes-core bundle」。Juju可作為專用工具使用,具有自己的控制台/ UI界面,也可作為服務(JaaS),在測試期間免費提供。

鏈接:https://jujucharms.com/

費用:

社區版-免費

商業版 - 每年200美元


9. Conjure-up

Conjure-up是另一款Canonical產品,它允許您使用一些簡單的命令部署「Kubernetes在Ubuntu上的規範分布」。它支持AWS,GCE,Azure,Joyent,OpenStack,VMware,裸機和localhost部署。Juju,MAAS和LXD是Conjure-up的基礎技術。

鏈接:https://conjure-up.io/

費用:免費


監控工具

10. Kubebox

Kubebox是Kubernetes集群的終端控制台,允許您使用漂亮的舊式界面管理和監控集群實時狀態。Kubebox顯示您的pod資源使用情況,群集監視和容器日誌等。此外,您可以輕鬆導航到所需的命名空間並執行到所需的容器,以便快速排除故障/恢復。

鏈接:https://github.com/astefanutti/kubebox

費用:免費


11. Kubedash

Kubedash為Kubernetes提供性能分析UI。Kubedash匯總並匯總來自不同來源的指標,並為管理員提供高級分析數據。Kubedash使用Heapster作為數據源,默認情況下在所有Kubernetes集群中作為服務運行,為各個容器收集指標和分析。

鏈接:https://github.com/kubernetes-retired/kubedash

費用:免費


12. Kubernetes運營視圖(Kube-ops-view)

Kube-ops-view是一個用於多個K8群集的只讀系統儀錶板。使用Kube-ops-view,您可以輕鬆地在群集和監控節點之間導航,以及您的pod的健康狀況。Kube-ops-view可以動畫一些Kubernetes進程,例如pod創建和終止。它還使用Heapster作為數據源。

鏈接:https://github.com/hjacobs/kube-ops-view

費用:免費


13. Kubetail

Kubetail是一個小型bash腳本,允許您將來自多個pod的日誌聚合到一個流中。最初的Kubetail版本沒有過濾或突出顯示功能,但Github上還有一個額外的Kubetail版本。這可以使用多尾工具形成和執行日誌著色。

鏈接:https://github.com/johanhaleby/kubetai

14. Kubewatch

Kubewatch是一名Kubernetes觀察員,可以將K8s活動發布到團隊溝通應用程序Slack。Kubewatch作為Kubernetes集群內的pod運行,並監視系統中發生的變化。您可以通過編輯配置文件來指定要接收的通知。

鏈接:https://github.com/bitnami-labs/kubewatch

費用:免費


15. Weave Scope

Weave Scope是Docker和Kubernetes集群的故障排除和監視工具。它可以自動生成應用程序和基礎架構拓撲,可以幫助您輕鬆識別應用程序性能瓶頸。您可以將Weave Scope部署為本地伺服器/筆記本電腦上的獨立應用程序,也可以選擇Weave Cloud上的Weave Scope軟體即服務(SaaS)解決方案。使用Weave Scope,您可以使用名稱,標籤和/或資源消耗輕鬆地對容器進行分組,過濾或搜索。

鏈接:https://www.weave.works/oss/scope/

成本:獨立模式下免費

標準模式 - 每月30%(30天免費試用)

企業模式 - 每個節點/月150美元


16. Searchlight

AppsCode的Searchlight是Icinga的Kubernetes運營商。Searchlight會定期對Kubernetes群集執行各種檢查,並在出現問題時通過電子郵件,簡訊或聊天提醒您。Searchlight包含專門為Kubernetes編寫的默認檢查套件。此外,它還可以通過外部黑盒監控增強Prometheus監控,並在內部系統完全失效的情況下作為後備。

鏈接:https://github.com/appscode/searchlight

費用:免費


17. Heapster

Heapster為Kubernetes提供容器集群監控和性能分析。Heapster本身支持Kubernetes,可以在所有K8s設置上作為pod運行。然後可以將Heapster的數據推送到可配置的後端進行存儲和可視化。

鏈接:https://github.com/kubernetes/heapster

費用:免費


測試

18. Kube-monkey

Kube-monkey是Kubernetes版本的Netflix的Chaos Monkey。Kube-monkey是一種遵循混沌工程原理的工具。它可以隨機刪除K8s pod,檢查服務是否具有故障恢復能力,並有助於提高系統的健康性。Kube-monkey也由TOML文件配置,您可以在其中指定要殺死的應用程序以及何時練習恢復策略。

鏈接:https://github.com/asobti/kube-monkey

費用:免費


19. K8s-testsuite

K8s-testsuite由2個Helm圖組成,可用於網路帶寬測試和單個Kubernetes集群的負載測試。負載測試模擬帶有loadbots的簡單Web伺服器,這些伺服器作為基於Vegeta的Kubernetes微服務運行。網路測試在內部使用iperf3和netperf-2.7.0並運行三次。這兩組測試都會生成包含所有結果和指標的綜合日誌消息。

鏈接:https://github.com/mrahbar/k8s-testsuite

費用:免費


20. Test-infra

Test-infra是用於Kubernetes測試和結果驗證的工具集合。Test-infra包括一些儀錶板,用於顯示歷史記錄,聚合故障以及顯示當前正在測試的內容。您可以通過創建自己的測試作業來增強測試 - infra套件。Test-infra可以使用Kubetest工具對不同提供商的完整Kubernetes生命周期模擬進行端到端Kubernetes測試。

鏈接:https://github.com/kubernetes/test-infra

費用:免費


21. Sonobuoy

Sonobuoy允許您通過以可訪問和非破壞性方式運行一組測試來了解您當前的Kubernetes集群狀態。Sonobuoy生成信息報告,其中包含有關群集性能的詳細信息。Sonobuoy支持Kubernetes 1.8及更高版本。Sonobuoy Scanner是一個基於瀏覽器的工具,它允許您通過幾次單擊測試Kubernetes集群,但CLI版本有更多的測試可用。

鏈接:https://github.com/heptio/sonobuoy

費用:免費


22. PowerfulSeal

PowerfulSeal是一種類似於Kube-monkey的工具,遵循混沌工程原理。PowerfulSeal可以殺死pod並從群集中刪除/添加VM。與Kube-monkey相比,PowefulSeal具有交互模式,允許您手動中斷特定的群集組件。此外,PowefulSeal除了SSH之外不需要外部依賴。

鏈接:https://github.com/bloomberg/powerfulseal

費用:免費


安全

23. Trireme

Trireme是Kubernetes網路政策的靈活而直接的實施。Trireme適用於任何Kubernetes集群,允許您管理來自不同集群的pod之間的流量。Trireme的主要優點是不需要任何集中的策略管理,能夠輕鬆組織部署在Kubernetes中的兩種資源的交互,以及缺乏SDN,VLAN標記和子網的複雜性(Trireme使用傳統的L3-網路)。

鏈接:https://github.com/aporeto-inc/trireme-kubernetes

費用:免費


24. Aquasec

Aquasec為Kubernetes部署提供完整的生命周期安全性。Aqua Security在每個容器實例上部署專用代理,該實例用作防火牆並阻止容器中的安全漏洞。此代理與中央Aqua Security控制台進行通信,該控制台強制執行已定義的安全限制。Aqua Security還有助於為雲和內部部署環境組織靈活的安全交付管道。Kube-Bench是AquaSec發布的一個開源工具,它根據CIS Kubernetes Benchmark中列出的一長串測試列表檢查Kubernetes環境。

鏈接:https://www.aquasec.com/

費用:每次掃描0.29美元


25. Twistlock

Twistlock是另一種工具,可用作「雲原生應用程序防火牆」,並分析容器和服務之間的網路流量。Twistlock能夠分析標準容器行為並根據此行為生成適當的規則,以便管理員不必手動生成策略規則。Twistlock還支持2.2版本的Kubernetes CIS基準測試。

鏈接:https://www.twistlock.com/

費用:每個許可證每年1700美元(免費試用)


26. Sysdig Falco

Sysdig Falco是一種行為活動監視器,旨在檢測應用程序中的異常活動。Falco基於Sysdig項目,這是一個開源工具(現在是商業服務),用於通過跟蹤內核系統調用來監控容器性能。Falco允許您使用一組規則持續監視和檢測容器,應用程序,主機和網路活動。

鏈接:https://sysdig.com/opensource/falco/

成本:免費作為獨立工具

基本云:每月20美元(免費試用)

Pro Cloud:每月30美元

專業軟體:定製價格


27. Sysdig Secure

Sysdig Secure是Sysdig Container Intelligence Platform的一部分,具有無與倫比的容器可見性和與容器編排工具的深度集成,開箱即用。其中包括Kubernetes,Docker,AWS ECS和Apache Mesos。使用Sysdig Secure,您可以實施服務感知策略,阻止攻擊,分析歷史記錄以及監控群集性能。Sysdig Secure可作為雲和內部部署軟體提供。

鏈接:https://sysdig.com/product/secure/

成本:免費作為獨立工具

Pro Cloud:定製價格

專業軟體:定製價格


28. Kubesec.io

Kubesec.io是一項服務,允許您為Kubernetes資源評分以獲取安全功能。Kubesec.io根據Kubernetes安全性最佳實踐驗證資源配置。因此,您將獲得有關如何提高整體系統安全性的全面控制和其他建議。該網站還包含大量與容器和Kubernetes安全相關的外部鏈接。

鏈接:https://kubesec.io/

費用:免費


有用的CLI工具

29. Cabin

Cabin用作移動儀錶板,用於遠程管理Kubernetes集群。藉助Cabin,用戶可以快速管理應用程序,擴展部署,並通過Android或iOS設備對整個K8群集進行故障排除。Cabin是K8s集群運營商的理想工具,因為它允許您在發生事故時執行快速補救措施。

鏈接:https://github.com/bitnami-labs/cabin

費用:免費


30. Kubectx / Kubens

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

鏈接:https://github.com/ahmetb/kubectx

費用:免費


31. Kube-shell

使用kubectl時,Kube-shell可提高您的工作效率。Kube-shell啟用命令自動完成和自動建議。此外,Kube-shell將提供有關已執行命令的在線文檔。Kube-shell甚至可以在錯誤輸入時搜索和更正命令。它是提高K8s控制台性能和工作效率的絕佳工具。

鏈接:https://github.com/cloudnativelabs/kube-shell

費用:免費


32. Kail

Kail是Kubernetes尾巴的縮寫,適用於Kubernetes集群。使用Kail,您可以為所有匹配的pod添加Docker日誌。Kail允許您按服務,部署,標籤和其他功能過濾pod。如果Pod符合條件,則會在啟動後自動添加(或刪除)到日誌中。

鏈接:https://github.com/boz/kail

費用:免費


開發工具


33. Telepresence

遠程呈現提供了通過Kubernetes環境中的代理數據本地調試Kubernetes集群到本地進程的可能性。遠程呈現能夠為本地代碼提供對Kubernetes服務和AWS / GCP資源的訪問,因為它將部署到群集。通過遠程呈現,Kubernetes將本地代碼視為群集中的普通pod。

鏈接:https://www.telepresence.io/

費用:免費


34. Helm

Helm是Kubernetes的包裹經理。它就像APT / Yum / Homebrew,但對於Kubernetes。Helm與Char一起運行,Char是構成分散式應用程序的Kubernetes資源清單的歸檔集。您可以通過創建Helm圖表來共享您的應用程序。Helm允許您創建可重現的構建並輕鬆管理Kubernetes清單。

鏈接:https://github.com/kubernetes/helm

費用:免費


35. Keel

Keel允許您自動執行Kubernetes部署更新,並可以在專用命名空間中作為Kubernetes服務啟動。通過這種組織,Keel為您的環境帶來了最小的負載,並增加了顯著的穩健性。Keel通過標籤,注釋和圖表幫助部署Kubernetes服務。您只需為每個部署或Helm版本指定更新策略。一旦新的應用程序版本在存儲庫中可用,Keel將自動更新您的環境。

鏈接:https://keel.sh/

費用:免費


36. Apollo

Apollo是一個開源應用程序,為團隊提供自助UI,用於創建和部署Kubernetes服務。Apollo允許操作員只需單擊一下即可查看日誌並將部署恢復到任何時間點。Apollo具有靈活的部署許可權模型。每個用戶只能部署他需要部署的內容。

鏈接:https://github.com/logzio/apollo

費用:免費


37. Draft

草稿是Azure團隊提供的工具,可簡化應用程序開發和部署到任何Kubernetes集群。草稿在代碼部署和代碼提交之間創建「內部循環」,這顯著加快了變更驗證過程。使用Draft,開發人員可以準備應用程序Dockerfiles和Helm圖表,並使用兩個命令將應用程序部署到遠程或本地Kubernetes集群。

鏈接:https://github.com/azure/draft

費用:免費


38. Deis Workflow

Deis Workflow是一個開源工具。平台即服務(PaaS)在Kubernetes集群之上創建了額外的抽象層。這些層允許您在沒有開發人員特定領域知識的情況下部署和/或更新Kubernetes應用程序。工作流基於Kubernetes概念構建,以提供簡單,易於開發人員的應用程序部署。作為一組Kubernetes微服務提供,運營商可以輕鬆安裝該平台。工作流程可以在零停機時間內部署新版本的應用程序。

鏈接:https://deis.com/workflow/

費用:免費


39. Kel

Kel是Eldarion公司的開源PaaS,它有助於在整個生命周期內管理Kubernetes應用程序。Kel在Kubernetes上提供了兩個用Python和Go編寫的附加層。級別0允許您配置Kubernetes資源,級別1可幫助您在K8上部署任何應用程序。

費用:免費


持續集成/持續交付管道


40. Cloud 66

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

費用:14天免費


無伺服器/功能工具

41. Kubeless

Kubeless是一個Kubernetes本機無伺服器框架,允許您部署少量代碼,而無需擔心底層基礎架構管道。Kubeless了解Kubernetes的開箱即用資源,還提供自動擴展,API路由,監控和故障排除。Kubeless完全依賴於K8s原語,因此Kubernetes用戶也可以使用原生K8s API伺服器和API網關。

鏈接:https://github.com/kubeless/kubeless

費用:免費


42. Fission

Fission是Kubernetes的快速無伺服器框架,專註於開發人員的工作效率和高性能。Fission可在任何地方的Kubernetes集群上運行:在您的筆記本電腦上,在任何公共雲中,或在私有數據中心。您可以使用Python,NodeJS,Go,C#或PHP編寫函數,並使用Fission將其部署在K8s集群上。

鏈接:https://fission.io/

費用:免費


43. Funktion

很長一段時間,Kubernetes只有一個功能即服務(FaaS)實現:Funktion。Funktion是一個為Kubernetes設計的開源事件驅動的lambda式編程模型。Funktion與fabric8平台緊密結合。使用Funktion,您可以創建從200多個事件源訂閱的流來調用您的功能,包括大多數資料庫,消息傳遞系統,社交媒體以及其他中間件和協議。

鏈接:https://github.com/funktionio/funktion

費用:免費


44. IronFunction

IronFunctions是一個開源的無伺服器平台或FaaS平台,您可以在任何地方運行。IronFunction是在Golang上編寫的,並且真正支持任何語言的函數。IronFunction的主要優點是它支持AWS Lambda格式。直接從Lambda導入函數並在任何地方運行它們。

鏈接:https://github.com/iron-io/functions

費用:免費


45. OpenWhisk

Apache OpenWhisk是一個由IBM和Adobe驅動的強大的開源-FaaS平台。OpenWhisk可以部署在本地內部部署設備上,也可以部署在雲上。Apache OpenWhisk的設計意味著它充當非同步且鬆散耦合的執行環境,可以針對外部觸發器運行函數。OpenWhisk在Bluemix上作為SaaS解決方案提供,或者您可以在本地部署基於Vagrant的VM。

鏈接:https://console.bluemix.net/openwhisk/

費用:免費


46. OpenFaaS

OpenFaaS框架旨在管理Docker Swarm或Kubernetes上的無伺服器功能,它將收集和分析各種指標。您可以在函數內打包任何進程並使用它,無需重複編碼或任何其他例行操作。FaaS具有Prometheus指標,這意味著它可以根據需求自動調整功能。FaaS本身支持基於Web的界面,您可以在其中試用您的功能。

鏈接:https://github.com/openfaas/faas

費用:免費


47. Nuclio

Nuclio是一個無伺服器項目,旨在進行高性能事件和大量數據。Nuclio可以作為獨立庫在內部部署設備上啟動,也可以在VM / Docker容器內啟動。此外,Nuclio支持開箱即用的Kubernetes。Nuclio提供實時數據處理,具有最大的並行性和最小的開銷。您可以在操場頁面上試用Nuclio。

鏈接:https://github.com/nuclio/nuclio

費用:免費


48. Virtual-Kubelet

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

鏈接:https://github.com/virtual-kubelet/virtual-kubelet

費用:免費


49. Fnproject

Fnproject是一個容器本機無伺服器項目,它幾乎支持任何語言,幾乎可以在任何地方運行。Fn是在Go上編寫的,因此它具有性能和輕量級。Fnproject支持AWS Lambda格式樣式,因此您可以輕鬆導入Lambda函數並使用Fnproject啟動它。

鏈接:http://fnproject.io/

費用:免費


本機服務發現

50. CoreDNS

CoreDNS是一組用Go編寫的插件,用於執行DNS功能。帶有額外Kubernetes插件的CoreDNS可以取代默認的Kube-DNS服務,並實現為Kubernetes基於DNS的服務發現定義的規範。CoreDNS還可以偵聽通過UDP / TCP,TLS和gRPC傳入的DNS請求。

鏈接:https://coredns.io/

費用:免費


原生可視化與控制

51. Kubernetes儀錶板

Kubernetes Dashboard是Kubernetes集群的基於Web的通用UI。使用本機儀錶板對K8群集進行故障排除和監控要容易得多。您需要在計算機和Kubernetes API伺服器之間創建安全代理通道才能訪問儀錶板。本機Kubernetes儀錶板依賴於Heapster數據收集器,因此它也需要安裝在系統中。

鏈接:https://github.com/kubernetes/dashboard#kubernetes-dashboard

費用:免費

這就是完整的清單!

原文標題《50+ Useful Kubernetes Tools》

作者:Stefan Thorpe

譯者:February

本文為譯文,不代表雲加社區觀點

關注云加社區,回復

3加讀者群


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雲加社區 的精彩文章:

王珺:智能音箱語音技術分享
大數據在智能外呼系統的應用

TAG:雲加社區 |