在 DevOps 生態(tài)系統(tǒng)中,擁有出色的 DevOps 工具來減輕人為操作非常重要。每個 DevOps 階段都可以使用大量的 DevOps 工具。
如果您在 DevOps 領域中工作并在容器中運行應用程序,那么 Kubernetes 是必備工具之一。有數(shù)百種工具可與 Kubernetes 配合使用以添加更多功能。我說的是用于更好地管理,安全性,儀表板和 Kubernetes 集群監(jiān)控的工具。
這是一系列令人驚奇的工具,它們?yōu)槟?Kubernetes 增加了更多功能。
Helm
Helm 是 Kubernetes 的軟件包管理器,可以輕松地獲得高度可重復的應用程序和服務,或在許多不同的場景中使用它們,從而使將它們輕松部署到典型的Kubernetes集群中變得更加容易。使用 Helm,您可以查找,共享和使用為 Kubernetes 構建的軟件。
它使用稱為 Helm Charts 的圖表來定義,安裝和升級復雜的 Kubernetes 應用程序。
Helm功能:
使用圖表處理所有Kubernetes應用程序的復雜性
使用升級和自定義鉤子輕松更新內(nèi)容。
可以在公共或私有服務器上輕松共享圖表。
只需一個命令即可輕松回滾
提高開發(fā)人員的生產(chǎn)力并增強操作準備
Flagger
Flagger 是 Kubernetes 的漸進交付 operator。
它使用 Istio,App Mesh,Nginx,Linkerd,Contour,Gloo,Skipper 路由進行流量轉移,并使用 Prometheus 進行金絲雀分析,從而自動促進金絲雀部署。在 Canary 部署中,您將發(fā)行版發(fā)布給一小群用戶,對其進行測試,如果運行良好,則將發(fā)行版發(fā)布給所有人。
它使用集群中運行的服務網(wǎng)格來管理一個部署和另一個部署之間進行的通信。為了將流量轉移到Canary,它會測量性能指標,例如平均請求持續(xù)時間,HTTP請求成功率,pod運行狀況等。
Flagger可以針對幾種部署策略(如Canary,A / B測試,藍/綠部署)運行自動化的應用程序分析,升級和回滾。
Kubewatch
Kubewatch 是開源的 Kubernetes 觀察程序,它通過 slack 發(fā)送通知。
它是用 Go 編程編寫的,由 Bitnami Labs 開發(fā)。它用于監(jiān)視Kubernetes資源并通知是否有任何更改。
您可以通過 kubectl 或使用 helm 圖表來安裝 Kubewatch。它易于理解,并且具有非常易于使用的界面。除了slack之外,它還支持 HipChat,Mattermost,F(xiàn)lock,webhook和 SMTP。
根據(jù)要監(jiān)視的 Kubernetes,可以在ConfigMap文件中為那些資源設置true或false。設置kubewatch配置并運行Pod之后,您將開始在Kubernetes事件上接收通知,如下所示。
Gitkube
Gitkube 是使用 git push 在 Kubernetes 上構建和部署 Docker 鏡像的工具。它包含三個組件–Remote,gitkube-controller和gitkubed。Remote由gitkube-controller管理的自定義資源組成。gitkube-controller將更改發(fā)送到gitkubed,然后gitkubed構建并部署docker鏡像。
Gitkube 功能:
易于安裝,即插即用
提供基于角色的訪問控制以提高安全性
使用公鑰即可輕松進行身份驗證
支持多租戶的名稱空間
除了kubectl和git外沒有其他依賴項
kube-state-metrics
kube-state-metrics是一項通過偵聽Kubernetes API服務器生成狀態(tài)對象指標的服務。它用于檢查各種對象(例如節(jié)點,吊艙,名稱空間和部署)的運行狀況。它通過Kubernetes API為您提供未經(jīng)修改的原始數(shù)據(jù)。
以下是kube-state-metrics提供的信息:
CronJob和Job狀態(tài)
Pod的狀態(tài)(就緒,正在運行等)
資源需求及其范圍
節(jié)點容量及其狀態(tài)
副本集的規(guī)格
Kamus
Kamus是一個開源GitOps工具,用于對Kubernetes應用程序的secret進行加密和解密。Kamus所做的加密secret只能由Kubernetes集群上運行的應用程序解密。它使用AES,Google Cloud KMS,Azure KeyVault進行secret加密。您可以使用Helm圖表開始使用Kamus。
Kamus帶有兩個實用程序– Kamus CLI和Kamus init容器。Kamus CLI用于與加密API集成,而Kamus初始化容器用于與API解密集成。
Kubernetes普通secret未加密;它們是base64編碼的。您不能按原樣保留它。這是不安全的。任何有權訪問該存儲庫的人都可以使用這些secret。因此,需要像Kamus這樣的適當?shù)募用?解密解決方案。它還提供了一種威脅模型,可以處理威脅并確保secret安全。
Untrak
Untrak是Kubernetes中使用的一種開源工具,用于查找未跟蹤的資源并對其進行垃圾收集。它可以幫助您從集群中查找和刪除那些未跟蹤的文件。
在使用kubectl apply或helm模板將清單注入到CI/CD管道后,Kubernetes不知道何時從存儲庫中刪除對象。刪除對象后,將不會在交付過程中對其進行跟蹤,而仍將其駐留在Kubernetes集群上。
它使用簡單的配置文件 untrak.yaml在內(nèi)部執(zhí)行命令,以查找不再屬于源代碼管理一部分的資源。
Scope
Weave Scope用于可視化,監(jiān)視Docker和Kubernetes并對其進行故障排除。
它顯示了容器化應用程序的俯視圖以及完整的基礎結構,您可以使用它們輕松地發(fā)現(xiàn)任何問題并進行診斷。
在Docker容器中運行微服務架構應用程序并不是那么容易。這里的組件非常動態(tài),很難監(jiān)控。借助scope,您可以輕松地解決內(nèi)存泄漏問題并控制CPU消耗,可視化網(wǎng)絡瓶頸。
Scope 功能:
幫助您實時監(jiān)控Docker容器
提供在容器中運行的進程之間的輕松導航
顯示主機或服務的CPU和內(nèi)存使用情況
使用CLI重新啟動,停止或暫停容器,而無需離開范圍瀏覽器窗口
支持自定義插件以獲取有關容器,進程和主機的更多詳細信息
Kubernetes Dashboard
Kubernetes 儀表板是 Kubernetes 提供的 Web 界面。它用于在 Kubernetes 集群上部署,故障排除和管理容器化的應用程序。它提供了有關集群的所有信息,例如有關節(jié)點,名稱空間,角色,工作負載等的詳細信息。
Kops
Kops是一個開源項目,用于非常輕松,快速地建立可投入生產(chǎn)的Kubernetes集群。Kops主要可用于在AWS和GCE上部署Kubernetes集群。
小型 Kubernetes 集群很容易創(chuàng)建和維護,但是在擴展集群時,會添加許多配置,并且很難進行操作管理。Kops 是可幫助您解決此類問題的工具。它遵循配置驅動的方法,該方法可以使集群始終保持最新和安全。
Kops 還具有許多網(wǎng)絡后端,根據(jù)使用情況選擇其中一個,可以使您輕松設置各種類型的集群。
cAdvisor
cAdvisor是用于監(jiān)視容器的開源工具。它用于了解集群上運行的容器的性能特征和資源使用情況。
它在節(jié)點級別上運行,并且可以自動發(fā)現(xiàn)在特定節(jié)點上運行的所有容器,并收集內(nèi)存,文件系統(tǒng),CPU和網(wǎng)絡統(tǒng)計信息。它提供了一個Web界面,可顯示集群中所有容器的實時數(shù)據(jù)。
要開始使用cAdvisor,您需要運行其 docker image google/cadvisor,然后可以在Web瀏覽器中的http://localhost:8080上訪問它。
Kubespray
Kubespray是一個免費工具,它是通過組合Ansible 劇本和Kubernetes創(chuàng)建的。它用于Kubernetes集群生命周期管理。
通過使用Kubespray,您可以快速部署集群并自定義集群實施的所有參數(shù),例如部署模式,網(wǎng)絡插件,DNS配置,組件版本,證書生成方法等。
通過僅運行一本簡單的ansible-playbook,您的集群即可啟動并運行。您可以輕松擴展或升級Kubernetes集群。
K9s
K9s是基于開源終端的工具,其儀表板實用程序可以完成Kubernetes Web UI的所有工作。它用于導航,觀察和管理Kubernetes集群上部署的應用程序。
k9s功能:
實時跟蹤您的集群
根據(jù)每個資源自定義顯示
放大以解決資源問題
支持基于角色的訪問控制
內(nèi)置基準以驗證資源性能
Kubetail
Kubetail是一種簡單的bash腳本,用于在一個流中聚合來自多個pod的日志。
最新的Kubetail版本還具有突出顯示和過濾功能。此功能使您可以執(zhí)行日志著色。使用自制軟件,您可以使用單個命令安裝Kubetail。您可以在Kubetail可以讀取的環(huán)境變量中添加默認值,例如 KUBETAIL_NAMESPACE, KUBETAIL_TAIL, KUBETAIL_SKIP_COLORS等。
PowerfulSeal
PowerfulSeal是一個用Python編寫的,用于Kubernetes集群的開源,功能強大的混沌工程工具。
混沌工程用于使系統(tǒng)有信心檢查其處理生產(chǎn)中問題情況的能力。它給Kubernetes集群注入了故障,以便盡早發(fā)現(xiàn)其中的問題。
它受到Netflix Chaos Monkey的啟發(fā),用于提高Kubernete的彈性。工程師使用PowerfulSeal故意破壞集群中的內(nèi)容,以檢查系統(tǒng)的反應。
PowerfulSeal在三種模式下工作-自主,交互,標簽。
在自主模式下,它通過讀取您提供的策略文件來執(zhí)行方案。在交互模式下,它會告訴您有關手動嘗試破壞的集群組件的信息。在標簽模式下,您可以使用標簽殺死集群上的目標對象,例如Pod。
Popeye
Popeye是一種清潔實用程序,可充當Kubernetes集群的消毒器。
它將掃描整個集群,并報告與配置和資源有關的問題。它可以幫助您在Kubernetes集群上執(zhí)行最佳實踐,以避開常見問題。
該實用程序可用于Windows,Linux和macOS。當前,它僅適用于節(jié)點,Pod,名稱空間,服務。使用Popeye,您可以輕松地識別已用和未使用的資源,端口不匹配,RBAC規(guī)則,指標利用率等。
結論
DevOps 工具在成功中扮演著至關重要的角色,我希望以上內(nèi)容可以幫助您更好地管理Kubernetes。
責任編輯:彭菁
-
管理器
+關注
關注
0文章
246瀏覽量
18502 -
容器
+關注
關注
0文章
495瀏覽量
22060 -
kubernetes
+關注
關注
0文章
224瀏覽量
8709
原文標題:16個 Awesome 工具讓 Kubernetes 如虎添翼
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論