您好,登錄后才能下訂單哦!
Kubernetes已經(jīng)成為大規(guī)模部署經(jīng)過編輯的應(yīng)用程序的標(biāo)準(zhǔn)方法(許多人會(huì)說這是標(biāo)準(zhǔn)方法)。但是,如果Kubernetes可以幫助我們控制無序和復(fù)雜的經(jīng)編輯的部署,那么有什么方法可以幫助我們控制Kubernetes呢?畢竟,它也可能是復(fù)雜、混亂和難以管理的。
隨著Kubernetes的成長(zhǎng)和演變,它的一些過度行為很可能會(huì)從內(nèi)部得到控制。但是有些人并沒有等到Kubernetes變得更容易使用,而是對(duì)生產(chǎn)中Kubernetes的許多常見問題推出了自己的解決方案。
在這里,我們重點(diǎn)介紹10個(gè)以各種方式簡(jiǎn)化Kubernetes的項(xiàng)目,從簡(jiǎn)化命令行交互,到簡(jiǎn)化應(yīng)用程序部署語法,再到與AWS集成,再到為多個(gè)集群提供一個(gè)窗口。
目 錄
Bitnami Cabin:適用于iOS和Android的Kubernetes面板
Kedge:簡(jiǎn)明的Kubernetes部署定義
Koki Short:可管理的Kubernetes密鑰清單
Kops:Kubernetes集群的命令行操作
Kubebox:Kubernetes的終端控制臺(tái)
Kube-monkey:Kubernetes的Chaos Monkey
Kube-ps1:智能Kubernetes命令提示符
Kube-prompt:交互式Kubernetes客戶端
Kube-shell:用于Kubernetes CLI的shell
Kubespy:實(shí)時(shí)監(jiān)控Kubernetes資源
Bitnami Cabin:適用于iOS和Android的Kubernetes面板
任何現(xiàn)代web應(yīng)用程序或服務(wù)都應(yīng)該具有某種移動(dòng)界面。Cabin為Kubernetes管理員提供了一個(gè)版本的Kubernetes面板,可以通過iOS或Android智能手機(jī)訪問。整個(gè)Kubernetes面板中提供的許多功能都可以從Cabin啟動(dòng),包括Helm圖表,擴(kuò)展部署,讀取pod日志以及訪問Kubernetes托管的基于Web的應(yīng)用程序。
Kedge:簡(jiǎn)明的Kubernetes部署定義
關(guān)于Kubernetes最常見的抱怨是它的清單(或應(yīng)用程序定義)是多么復(fù)雜和冗長(zhǎng)。編寫它們是一件痛苦的事情,維護(hù)它們也是一件痛苦的事情,所以人們求助于第三方工具來緩解也就不足為奇了。Kedge提供了更簡(jiǎn)單、更簡(jiǎn)潔的語法。向Kedge提供了Kubernetes定義文件的簡(jiǎn)單版本,Kedge將該簡(jiǎn)單定義擴(kuò)展為完整的Kubernetes對(duì)應(yīng)文件。與Koki Short(見下文)不同,Kedge的聲明文件不使用模塊化語法,它只是將應(yīng)用程序定義簡(jiǎn)化為通用的快捷方式。
Koki Short:可管理的Kubernetes密鑰清單
Koki Short類似上述的Kedge是一個(gè)改進(jìn)應(yīng)用程序定義或清單在Kubernetes中工作方式的項(xiàng)目。像Kedge定義一樣,Short定義使用縮寫的語法來描述Kubernetes pod,它可以被翻譯成完整的語法,然后再返回。與Kedge定義不同,Short定義也是模塊化的,這意味著一個(gè)Short聲明中的細(xì)節(jié)可以在其他聲明中重用,這樣就可以簡(jiǎn)單地定義具有公共元素的許多pod。
Kops:Kubernetes集群的命令行操作
Kops由Kubernetes團(tuán)隊(duì)開發(fā),允許您從命令行管理Kubernetes集群。它支持在AWS和GCE上運(yùn)行的集群,VMware vSphere和其他環(huán)境也在開發(fā)中。除了自動(dòng)設(shè)置和拆卸過程之外,Kops還可以幫助實(shí)現(xiàn)其他類型的自動(dòng)化。例如,它可以生成Terraform配置,從而允許使用Terraform重新部署集群。
Kubebox:Kubernetes的終端控制臺(tái)
Kubebox是Kubernetes的高級(jí)終端控制臺(tái),它為Kubernetes及其API提供的不僅僅是一個(gè)美化的命令行。它提供內(nèi)存和CPU利用率的交互式顯示、pod列表、運(yùn)行日志和配置編輯器。最重要的是,它可以作為L(zhǎng)inux、Windows和MaciOS的獨(dú)立應(yīng)用程序使用。
Kube-monkey:Kubernetes的Chaos Monkey
對(duì)一個(gè)系統(tǒng)進(jìn)行壓力測(cè)試的一種萬無一失的方法是隨機(jī)打碎東西。這就是Netflix的Chaos Monkey背后的理論,這是一種混沌工程工具,可以隨機(jī)終止生產(chǎn)中運(yùn)行的虛擬機(jī)和本地編輯,以“鼓勵(lì)”開發(fā)人員構(gòu)建更具彈性的系統(tǒng)。Kube-monkey是對(duì)壓力測(cè)試Kubernetes集群的相同基本思想的實(shí)現(xiàn)。它的工作方式是在你指定的集群中隨機(jī)破壞pod,并且可以在特定的時(shí)間窗內(nèi)進(jìn)行微調(diào)。
Kube-ps1:智能Kubernetes命令提示符
Kube-ps1不是面向Kubernetes的第一代索尼PlayStation仿真器(盡管這很棒)。它是Bash的一個(gè)簡(jiǎn)單添加,在提示符中顯示當(dāng)前的Kubernetes上下文和名稱空間。Kube-shell包括這個(gè)功能以及許多其他功能,但是如果您只想要更智能的提示符,Kube-ps1所需開銷很小。
Kube-prompt:交互式Kubernetes客戶端
Kubernetes CLI的另一個(gè)最小但有用的修改是Kube-prompt,它允許您與Kubernetes客戶機(jī)輸入相當(dāng)于交互式命令會(huì)話的內(nèi)容。Kube-prompt使您不必輸入kubectl作為每個(gè)命令的前綴,并為每個(gè)命令提供上下文信息自動(dòng)完成。
Kube-shell: Kubernetes CLI的Shell
Kubernetes命令行功能強(qiáng)大,但與任何命令行應(yīng)用程序一樣,選擇它的選項(xiàng)可能非常繁瑣。Kube-shell將標(biāo)準(zhǔn)的Kubernetes命令行包裝在一個(gè)集成的shell中,該shell提供常見命令的自動(dòng)完成和自動(dòng)建議,包括Kubernetes服務(wù)器提供的建議(例如服務(wù)名稱)。它還提供了更健壯的命令歷史記錄函數(shù)、vi風(fēng)格的編輯模式,以及用戶、名稱空間、集群和其他特定于安裝的詳細(xì)信息的運(yùn)行上下文信息。
Kubespy:實(shí)時(shí)監(jiān)控Kubernetes資源
Pulumi的Kubespy是一個(gè)診斷工具,它允許您實(shí)時(shí)跟蹤Kubernetes資源的變化,為您提供一種動(dòng)態(tài)的文本視圖面板。例如,您可以在啟動(dòng)pod時(shí)查看pod狀態(tài)的更改:將pod定義寫入Etcd,計(jì)劃在節(jié)點(diǎn)上運(yùn)行pod,在創(chuàng)建pod的節(jié)點(diǎn)上運(yùn)行Kubelet,最后將pod標(biāo)記為running。Kubespy可以作為獨(dú)立的二進(jìn)制文件運(yùn)行,也可以作為Kubectl的插件運(yùn)行。
AWS的Kubernetes入口控制器
Kubernetes通過名為Ingress的服務(wù)向集群提供外部負(fù)載平衡和網(wǎng)絡(luò)服務(wù)。Amazon Web Services提供負(fù)載平衡功能,但不會(huì)自動(dòng)將這些服務(wù)與Kubernetes的功能進(jìn)行耦合。AWS的Kubernetes入口控制器彌補(bǔ)了這一差距。入口控制器自動(dòng)管理集群中每個(gè)入口對(duì)象的AWS資源,為新的入口資源創(chuàng)建負(fù)載平衡器,為已刪除的資源刪除負(fù)載平衡器,并利用AWS云形成來確保集群的一致狀態(tài)。它還自動(dòng)管理集群中使用的其他元素,如SSL證書和EC2自動(dòng)伸縮群。
kube - os -view:用于多個(gè)Kubernetes集群的面板
Kubernetes有一個(gè)用于通用監(jiān)視的有用面板,但是Kubernetes社區(qū)正在嘗試使用其他方法向Kubernetes管理員提供有用的數(shù)據(jù)。Kube-os-view就是這樣一個(gè)實(shí)驗(yàn):它提供了多個(gè)Kubernetes集群的概覽視圖,以圖形化的方式呈現(xiàn),因此您可以一眼看到集群中pod的CPU和內(nèi)存使用情況以及狀態(tài)。注意,它不允許您調(diào)用任何命令,這完全是為了可視化。但是它提供的可視化效果是驚人的和有效的,這是可與操作中心的壁監(jiān)視器完美結(jié)合。
Skaffold: Kubernetes的迭×××發(fā)
Skaffold是谷歌為Kubernetes開發(fā)的工具之一,是一種為Kubernetes應(yīng)用程序執(zhí)行連續(xù)部署的方法。當(dāng)您對(duì)源代碼進(jìn)行更改時(shí),Skaffold會(huì)自動(dòng)檢測(cè)它們,觸發(fā)構(gòu)建和部署流程,并在出現(xiàn)錯(cuò)誤時(shí)警告您。Skaffold完全在客戶端運(yùn)行。它可以在現(xiàn)有的CI/CD渠道中使用,并與一些外部構(gòu)建工具集成,主要是谷歌自己的Bazel。
Stern和Kubetail: Kubernetes的日志跟蹤
Stern允許您從Kubernetes中的pod和本地編輯中生成顏色編碼的輸出(根據(jù)tail命令)。這是一種將多個(gè)資源的所有輸出管道傳輸?shù)揭粋€(gè)可以一眼讀取的流中的快速方法。同時(shí),您有一種一目了然的方法(顏色編碼)來區(qū)分流。
Kubetail類似地將來自多個(gè)pod的日志聚合到單個(gè)流中,并對(duì)不同pod和本地編輯進(jìn)行顏色編碼。但是Kubetail是一個(gè)Bash腳本,因此它只需要一個(gè)shell。
Teresa:Kubernetes的簡(jiǎn)單PaaS
Teresa是一個(gè)應(yīng)用程序部署系統(tǒng),在Kubernetes上作為簡(jiǎn)單的PaaS運(yùn)行。組織成團(tuán)隊(duì)的用戶可以部署和管理屬于他們的應(yīng)用程序。這使那些受給定應(yīng)用程序信任的人更容易使用它,而不必直接處理Kubernetes。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。