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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

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

Awesome 工具如何更好地管理Kubernetes

馬哥Linux運(yùn)維 ? 來源:馬哥Linux運(yùn)維 ? 2023-06-25 16:12 ? 次閱讀

在 DevOps 生態(tài)系統(tǒng)中,擁有出色的 DevOps 工具來減輕人為操作非常重要。每個(gè) DevOps 階段都可以使用大量的 DevOps 工具。

如果您在 DevOps 領(lǐng)域中工作并在容器中運(yùn)行應(yīng)用程序,那么 Kubernetes 是必備工具之一。有數(shù)百種工具可與 Kubernetes 配合使用以添加更多功能。我說的是用于更好地管理,安全性,儀表板和 Kubernetes 集群監(jiān)控的工具。

這是一系列令人驚奇的工具,它們?yōu)槟?Kubernetes 增加了更多功能。

Helm

Helm 是 Kubernetes 的軟件包管理器,可以輕松地獲得高度可重復(fù)的應(yīng)用程序和服務(wù),或在許多不同的場景中使用它們,從而使將它們輕松部署到典型的Kubernetes集群中變得更加容易。使用 Helm,您可以查找,共享和使用為 Kubernetes 構(gòu)建的軟件。

它使用稱為 Helm Charts 的圖表來定義,安裝和升級復(fù)雜的 Kubernetes 應(yīng)用程序。

Helm功能:

使用圖表處理所有Kubernetes應(yīng)用程序的復(fù)雜性

使用升級和自定義鉤子輕松更新內(nèi)容。

可以在公共或私有服務(wù)器上輕松共享圖表。

只需一個(gè)命令即可輕松回滾

提高開發(fā)人員的生產(chǎn)力并增強(qiáng)操作準(zhǔn)備

Flagger

Flagger 是 Kubernetes 的漸進(jìn)交付 operator。

它使用 Istio,App Mesh,Nginx,Linkerd,Contour,Gloo,Skipper 路由進(jìn)行流量轉(zhuǎn)移,并使用 Prometheus 進(jìn)行金絲雀分析,從而自動(dòng)促進(jìn)金絲雀部署。在 Canary 部署中,您將發(fā)行版發(fā)布給一小群用戶,對其進(jìn)行測試,如果運(yùn)行良好,則將發(fā)行版發(fā)布給所有人。

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

它使用集群中運(yùn)行的服務(wù)網(wǎng)格來管理一個(gè)部署和另一個(gè)部署之間進(jìn)行的通信。為了將流量轉(zhuǎn)移到Canary,它會測量性能指標(biāo),例如平均請求持續(xù)時(shí)間,HTTP請求成功率,pod運(yùn)行狀況等。

Flagger可以針對幾種部署策略(如Canary,A / B測試,藍(lán)/綠部署)運(yùn)行自動(dòng)化的應(yīng)用程序分析,升級和回滾。

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文件中為那些資源設(shè)置true或false。設(shè)置kubewatch配置并運(yùn)行Pod之后,您將開始在Kubernetes事件上接收通知,如下所示。

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

Gitkube

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

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

Gitkube 功能:

易于安裝,即插即用

提供基于角色的訪問控制以提高安全性

使用公鑰即可輕松進(jìn)行身份驗(yàn)證

支持多租戶的名稱空間

除了kubectl和git外沒有其他依賴項(xiàng)

kube-state-metrics

kube-state-metrics是一項(xiàng)通過偵聽Kubernetes API服務(wù)器生成狀態(tài)對象指標(biāo)的服務(wù)。它用于檢查各種對象(例如節(jié)點(diǎn),吊艙,名稱空間和部署)的運(yùn)行狀況。它通過Kubernetes API為您提供未經(jīng)修改的原始數(shù)據(jù)。

以下是kube-state-metrics提供的信息

CronJob和Job狀態(tài)

Pod的狀態(tài)(就緒,正在運(yùn)行等)

資源需求及其范圍

節(jié)點(diǎn)容量及其狀態(tài)

副本集的規(guī)格

Kamus

Kamus是一個(gè)開源GitOps工具,用于對Kubernetes應(yīng)用程序的secret進(jìn)行加密和解密。Kamus所做的加密secret只能由Kubernetes集群上運(yùn)行的應(yīng)用程序解密。它使用AES,Google Cloud KMS,Azure KeyVault進(jìn)行secret加密。您可以使用Helm圖表開始使用Kamus。

Kamus帶有兩個(gè)實(shí)用程序– Kamus CLI和Kamus init容器。Kamus CLI用于與加密API集成,而Kamus初始化容器用于與API解密集成。

Kubernetes普通secret未加密;它們是base64編碼的。您不能按原樣保留它。這是不安全的。任何有權(quán)訪問該存儲庫的人都可以使用這些secret。因此,需要像Kamus這樣的適當(dāng)?shù)募用?解密解決方案。它還提供了一種威脅模型,可以處理威脅并確保secret安全。

Untrak

Untrak是Kubernetes中使用的一種開源工具,用于查找未跟蹤的資源并對其進(jìn)行垃圾收集。它可以幫助您從集群中查找和刪除那些未跟蹤的文件。

在使用kubectl apply或helm模板將清單注入到CI/CD管道后,Kubernetes不知道何時(shí)從存儲庫中刪除對象。刪除對象后,將不會在交付過程中對其進(jìn)行跟蹤,而仍將其駐留在Kubernetes集群上。

它使用簡單的配置文件 untrak.yaml在內(nèi)部執(zhí)行命令,以查找不再屬于源代碼管理一部分的資源。

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

Scope

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

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

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

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

Scope 功能:

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

提供在容器中運(yùn)行的進(jìn)程之間的輕松導(dǎo)航

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

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

支持自定義插件以獲取有關(guān)容器,進(jìn)程和主機(jī)的更多詳細(xì)信息

Kubernetes Dashboard

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

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

Kops

Kops是一個(gè)開源項(xiàng)目,用于非常輕松,快速地建立可投入生產(chǎn)的Kubernetes集群。Kops主要可用于在AWS和GCE上部署Kubernetes集群。

小型 Kubernetes 集群很容易創(chuàng)建和維護(hù),但是在擴(kuò)展集群時(shí),會添加許多配置,并且很難進(jìn)行操作管理。Kops 是可幫助您解決此類問題的工具。它遵循配置驅(qū)動(dòng)的方法,該方法可以使集群始終保持最新和安全。

Kops 還具有許多網(wǎng)絡(luò)后端,根據(jù)使用情況選擇其中一個(gè),可以使您輕松設(shè)置各種類型的集群。

cAdvisor

cAdvisor是用于監(jiān)視容器的開源工具。它用于了解集群上運(yùn)行的容器的性能特征和資源使用情況。

它在節(jié)點(diǎn)級別上運(yùn)行,并且可以自動(dòng)發(fā)現(xiàn)在特定節(jié)點(diǎn)上運(yùn)行的所有容器,并收集內(nèi)存,文件系統(tǒng),CPU和網(wǎng)絡(luò)統(tǒng)計(jì)信息。它提供了一個(gè)Web界面,可顯示集群中所有容器的實(shí)時(shí)數(shù)據(jù)。

要開始使用cAdvisor,您需要運(yùn)行其 docker image google/cadvisor,然后可以在Web瀏覽器中的http://localhost:8080上訪問它。

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

Kubespray

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

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

通過僅運(yùn)行一本簡單的ansible-playbook,您的集群即可啟動(dòng)并運(yùn)行。您可以輕松擴(kuò)展或升級Kubernetes集群。

K9s

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

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

k9s功能:

實(shí)時(shí)跟蹤您的集群

根據(jù)每個(gè)資源自定義顯示

放大以解決資源問題

支持基于角色的訪問控制

內(nèi)置基準(zhǔn)以驗(yàn)證資源性能

Kubetail

Kubetail是一種簡單的bash腳本,用于在一個(gè)流中聚合來自多個(gè)pod的日志。

最新的Kubetail版本還具有突出顯示和過濾功能。此功能使您可以執(zhí)行日志著色。使用自制軟件,您可以使用單個(gè)命令安裝Kubetail。您可以在Kubetail可以讀取的環(huán)境變量中添加默認(rèn)值,例如 KUBETAIL_NAMESPACE, KUBETAIL_TAIL, KUBETAIL_SKIP_COLORS等。

PowerfulSeal

PowerfulSeal是一個(gè)用Python編寫的,用于Kubernetes集群的開源,功能強(qiáng)大的混沌工程工具。

混沌工程用于使系統(tǒng)有信心檢查其處理生產(chǎn)中問題情況的能力。它給Kubernetes集群注入了故障,以便盡早發(fā)現(xiàn)其中的問題。

它受到Netflix Chaos Monkey的啟發(fā),用于提高Kubernete的彈性。工程師使用PowerfulSeal故意破壞集群中的內(nèi)容,以檢查系統(tǒng)的反應(yīng)。

PowerfulSeal在三種模式下工作-自主,交互,標(biāo)簽。

在自主模式下,它通過讀取您提供的策略文件來執(zhí)行方案。在交互模式下,它會告訴您有關(guān)手動(dòng)嘗試破壞的集群組件的信息。在標(biāo)簽?zāi)J较?,您可以使用?biāo)簽殺死集群上的目標(biāo)對象,例如Pod。

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

Popeye

Popeye是一種清潔實(shí)用程序,可充當(dāng)Kubernetes集群的消毒器。

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

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

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

結(jié)論

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

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

    關(guān)注

    0

    文章

    239

    瀏覽量

    18434
  • 容器
    +關(guān)注

    關(guān)注

    0

    文章

    490

    瀏覽量

    21986
  • kubernetes
    +關(guān)注

    關(guān)注

    0

    文章

    222

    瀏覽量

    8655

原文標(biāo)題:16個(gè) Awesome 工具讓 Kubernetes 如虎添翼

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

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

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

    Kubernetes上運(yùn)行Kubernetes

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

    Kubernetes API詳解

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

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

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

    Google Kubernetes機(jī)器學(xué)習(xí)工具包Kubeflow發(fā)布0.1版

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

    最常用的11款Kubernetes工具

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

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

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

    Awesome Python免費(fèi)資源集合

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

    Awesome-Android-Architecture架構(gòu)文章

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

    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 是一個(gè)開源工具,可讓您在本地運(yùn)行單個(gè)服務(wù),同時(shí)將該服務(wù)連接到遠(yuǎn)程 Kubernetes 集群。
    的頭像 發(fā)表于 09-05 10:58 ?967次閱讀

    Docker、Containerd和Kubernetes之間的關(guān)系

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

    Kubernetes是怎樣工作的?

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

    使用Velero備份Kubernetes集群

    Velero 是 heptio 團(tuán)隊(duì)(被 VMWare 收購)開源的 Kubernetes 集群備份、遷移工具
    的頭像 發(fā)表于 08-05 15:43 ?220次閱讀
    使用Velero備份<b class='flag-5'>Kubernetes</b>集群