RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

Awesome 工具如何更好地管理Kubernetes

馬哥Linux運維 ? 來源:馬哥Linux運維 ? 2023-06-25 16:12 ? 次閱讀

在 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ā)布給所有人。

b12db38e-110b-11ee-962d-dac502259ad0.jpg

它使用集群中運行的服務網(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事件上接收通知,如下所示。

b151b66c-110b-11ee-962d-dac502259ad0.jpg

Gitkube

Gitkube 是使用 git push 在 Kubernetes 上構建和部署 Docker 鏡像的工具。它包含三個組件–Remote,gitkube-controller和gitkubed。Remote由gitkube-controller管理的自定義資源組成。gitkube-controller將更改發(fā)送到gitkubed,然后gitkubed構建并部署docker鏡像。

b176ac24-110b-11ee-962d-dac502259ad0.jpg

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í)行命令,以查找不再屬于源代碼管理一部分的資源。

b1a3a40e-110b-11ee-962d-dac502259ad0.jpg

Scope

Weave Scope用于可視化,監(jiān)視Docker和Kubernetes并對其進行故障排除。

它顯示了容器化應用程序的俯視圖以及完整的基礎結構,您可以使用它們輕松地發(fā)現(xiàn)任何問題并進行診斷。

在Docker容器中運行微服務架構應用程序并不是那么容易。這里的組件非常動態(tài),很難監(jiān)控。借助scope,您可以輕松地解決內(nèi)存泄漏問題并控制CPU消耗,可視化網(wǎng)絡瓶頸。

b1d0c538-110b-11ee-962d-dac502259ad0.jpg

Scope 功能:

幫助您實時監(jiān)控Docker容器

提供在容器中運行的進程之間的輕松導航

顯示主機或服務的CPU和內(nèi)存使用情況

使用CLI重新啟動,停止或暫停容器,而無需離開范圍瀏覽器窗口

支持自定義插件以獲取有關容器,進程和主機的更多詳細信息

Kubernetes Dashboard

Kubernetes 儀表板是 Kubernetes 提供的 Web 界面。它用于在 Kubernetes 集群上部署,故障排除和管理容器化的應用程序。它提供了有關集群的所有信息,例如有關節(jié)點,名稱空間,角色,工作負載等的詳細信息。

b1fd20b0-110b-11ee-962d-dac502259ad0.jpg

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上訪問它。

b227b96a-110b-11ee-962d-dac502259ad0.jpg

Kubespray

Kubespray是一個免費工具,它是通過組合Ansible 劇本和Kubernetes創(chuàng)建的。它用于Kubernetes集群生命周期管理。

通過使用Kubespray,您可以快速部署集群并自定義集群實施的所有參數(shù),例如部署模式,網(wǎng)絡插件,DNS配置,組件版本,證書生成方法等。

通過僅運行一本簡單的ansible-playbook,您的集群即可啟動并運行。您可以輕松擴展或升級Kubernetes集群。

K9s

K9s是基于開源終端的工具,其儀表板實用程序可以完成Kubernetes Web UI的所有工作。它用于導航,觀察和管理Kubernetes集群上部署的應用程序。

b24e24c4-110b-11ee-962d-dac502259ad0.jpg

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。

b27a616a-110b-11ee-962d-dac502259ad0.jpg

Popeye

Popeye是一種清潔實用程序,可充當Kubernetes集群的消毒器。

b2ab073e-110b-11ee-962d-dac502259ad0.jpg

它將掃描整個集群,并報告與配置和資源有關的問題。它可以幫助您在Kubernetes集群上執(zhí)行最佳實踐,以避開常見問題。

該實用程序可用于Windows,Linux和macOS。當前,它僅適用于節(jié)點,Pod,名稱空間,服務。使用Popeye,您可以輕松地識別已用和未使用的資源,端口不匹配,RBAC規(guī)則,指標利用率等。

結論

DevOps 工具在成功中扮演著至關重要的角色,我希望以上內(nèi)容可以幫助您更好地管理Kubernetes。
責任編輯:彭菁

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 管理器
    +關注

    關注

    0

    文章

    246

    瀏覽量

    18502
  • 容器
    +關注

    關注

    0

    文章

    495

    瀏覽量

    22060
  • kubernetes
    +關注

    關注

    0

    文章

    224

    瀏覽量

    8709

原文標題:16個 Awesome 工具讓 Kubernetes 如虎添翼

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    不吹不黑,今天我們來聊一聊 Kubernetes 落地的三種方式

    信息,比如為管理工具提供狀態(tài)檢查等。此外,Kubernetes 控制器也是構建在跟開發(fā)人員和用戶使用的相同的 API 之上,用戶還可以編寫自己的控制器和調(diào)度器,也可以通過各種插件機制擴展系統(tǒng)的功能
    發(fā)表于 10-12 16:07

    Kubernetes上運行Kubernetes

    開源容器編排引擎 Kubernetes 絕對有魔力。 一直以來,容器就是個很酷的概念,但事實上,廣泛部署卻十分困難。你幾乎沒法手動管理容器之間的網(wǎng)絡、持續(xù)存儲和數(shù)百個容器間的自動擴展,而一個讓人
    發(fā)表于 09-30 13:33 ?0次下載
    在<b class='flag-5'>Kubernetes</b>上運行<b class='flag-5'>Kubernetes</b>

    Kubernetes API詳解

    摘要:Kubernetes是Google開源的容器集群管理系統(tǒng)。它構建Ddocker技術之上,為容器化的應用提供資源調(diào)度、部署運行、服務發(fā)現(xiàn)、擴容縮容等整一套功能,本文節(jié)選自龔正
    發(fā)表于 10-12 16:19 ?0次下載
    <b class='flag-5'>Kubernetes</b> API詳解

    Kubernetes和Mesos集成的優(yōu)勢與原理

    Kubernetes是一個docker集群管理工具,主要包含資源管理,部署運行,服務發(fā)現(xiàn),擴容縮容等功能,幫助用戶把所有的應用都部署在Docker Container里邊,Kubernetes
    發(fā)表于 10-12 17:46 ?0次下載
    <b class='flag-5'>Kubernetes</b>和Mesos集成的優(yōu)勢與原理

    Google Kubernetes機器學習工具包Kubeflow發(fā)布0.1版

    Kubernetes日漸成為各大基礎架構環(huán)境都要支持的公用工具時,其應用也逐漸在各個領域發(fā)酵,而該工具能調(diào)度龐大規(guī)模容器集群的能力,也相當適合與機器學習、大數(shù)據(jù)等應用場景結合。而近日,由
    發(fā)表于 05-17 08:17 ?1803次閱讀

    最常用的11款Kubernetes工具

    “到 2021 年,幾乎所有接觸過云基礎設施的人都熟悉 Kubernetes 項目。簡單地說,Kubernetes 是一個非常強大的容器編排平臺,并且 Kubernetes 社區(qū)一直在共享工具
    的頭像 發(fā)表于 08-23 10:43 ?2165次閱讀

    Awesome-IT-Books IT技術數(shù)據(jù)

    Awesome-IT-Books.zip
    發(fā)表于 04-19 14:14 ?0次下載
    <b class='flag-5'>Awesome</b>-IT-Books IT技術數(shù)據(jù)

    Awesome Python免費資源集合

    awesome-python.zip
    發(fā)表于 04-19 11:30 ?0次下載
    <b class='flag-5'>Awesome</b> Python免費資源集合

    Awesome-Android-Architecture架構文章

    Awesome-Android-Architecture.zip
    發(fā)表于 04-19 11:24 ?1次下載
    <b class='flag-5'>Awesome</b>-Android-Architecture架構文章

    Awesome Go框架、庫和軟件清單

    awesome-go.zip
    發(fā)表于 04-19 11:23 ?0次下載
    <b class='flag-5'>Awesome</b> Go框架、庫和軟件清單

    awesome-php-zh_CN PHP資源列表

    awesome-php-zh_CN.zip
    發(fā)表于 04-19 11:22 ?2次下載
    <b class='flag-5'>awesome</b>-php-zh_CN PHP資源列表

    Kubernetes 集群的功能

    Telepresence 是一個開源工具,可讓您在本地運行單個服務,同時將該服務連接到遠程 Kubernetes 集群。
    的頭像 發(fā)表于 09-05 10:58 ?1083次閱讀

    Docker、Containerd和Kubernetes之間的關系

    Docker是最早出現(xiàn)的那批容器引擎工具,所以它最早占領了市場。Kubernetes主要用來做容器編排,用來管理容器集群,是一個平臺。
    的頭像 發(fā)表于 04-08 10:44 ?1591次閱讀

    Kubernetes是怎樣工作的?

    Kubernetes 是一個可移植、可擴展的開源平臺,用于管理容器化工作負載和服務,有助于聲明式配置和自動化,它擁有龐大且快速發(fā)展的生態(tài)系統(tǒng),Kubernetes 服務、支持和工具隨處
    的頭像 發(fā)表于 05-12 16:13 ?537次閱讀
    <b class='flag-5'>Kubernetes</b>是怎樣工作的?

    使用Velero備份Kubernetes集群

    Velero 是 heptio 團隊(被 VMWare 收購)開源的 Kubernetes 集群備份、遷移工具。
    的頭像 發(fā)表于 08-05 15:43 ?347次閱讀
    使用Velero備份<b class='flag-5'>Kubernetes</b>集群
    RM新时代网站-首页