新聞中心
2021年11個(gè)優(yōu)秀的開(kāi)源Kubernetes工具
作者:聞數(shù)起舞 2021-06-10 05:43:01
云計(jì)算 Kubernetes周?chē)牧钊穗y以置信的社區(qū)不斷共享工具,幫助提高Kubernetes開(kāi)發(fā)人員的經(jīng)驗(yàn)。這是我在我的阿森納保持的11個(gè)基本工具的列表。

創(chuàng)新互聯(lián)建站主要企業(yè)基礎(chǔ)官網(wǎng)建設(shè),電商平臺(tái)建設(shè),移動(dòng)手機(jī)平臺(tái),小程序開(kāi)發(fā)等一系列專(zhuān)為中小企業(yè)按需制作網(wǎng)站產(chǎn)品體系;應(yīng)對(duì)中小企業(yè)在互聯(lián)網(wǎng)運(yùn)營(yíng)的各種問(wèn)題,為中小企業(yè)在互聯(lián)網(wǎng)的運(yùn)營(yíng)中保駕護(hù)航。
幾乎每個(gè)人都在2021年觸摸云基礎(chǔ)設(shè)施熟悉Kubernetes項(xiàng)目。簡(jiǎn)而言之,Kubernetes是一個(gè)非常強(qiáng)大的容器編排平臺(tái)。但在我看來(lái),Kubernetes不僅僅是任何東西,都是一系列最佳實(shí)踐烘焙到一個(gè)系統(tǒng)中,可以從覆盆子PI達(dá)到最大的財(cái)富500強(qiáng)基礎(chǔ)設(shè)施。它賦予開(kāi)發(fā)人員和運(yùn)營(yíng)商通過(guò)標(biāo)準(zhǔn)化的API和有意義的抽象(如POD或CONFIGMAP)協(xié)作。
Kubernetes可以通過(guò)借助開(kāi)源標(biāo)準(zhǔn)來(lái)滾動(dòng)自己的“集裝箱策略”來(lái)節(jié)省幾十年的組織,慶幸地是每個(gè)主要云供應(yīng)商的標(biāo)準(zhǔn)。也就是說(shuō),像Kubernetes一樣大的野獸的東西可能很難馴服,并盡可能地利用它,你需要一套額外的工具。
Kubernetes周?chē)牧钊穗y以置信的社區(qū)不斷共享工具,幫助提高Kubernetes開(kāi)發(fā)人員的經(jīng)驗(yàn)。這是我在我的阿森納保持的11個(gè)基本工具的列表。我通過(guò)重要類(lèi)別打破了它們:那些幫助我運(yùn)行Kubernetes,測(cè)試Kubernetes,最后但并非最不重要 - 在我的IDE中玩得開(kāi)心。
第1類(lèi):運(yùn)行Kubernetes環(huán)境
Minikube 仍然很好
幾乎每個(gè)Kubernetes教程都以“下載minikube”,今天仍然有意義。如果您想在真正低風(fēng)險(xiǎn)的環(huán)境中與Docker放在一起,那么良好的包裝和維護(hù)的Minikube項(xiàng)目將在大約23秒內(nèi)運(yùn)行群集。
Helm仍然是可重復(fù)部署的標(biāo)準(zhǔn)
雖然我們已經(jīng)寫(xiě)了一個(gè)單件腳本或兩個(gè)來(lái)部署到Kubernetes的某些配置,但是管理可重復(fù)部署的事實(shí)標(biāo)準(zhǔn)是用Helm。像Rhel的Ubuntu或RPM一樣,Helm是一個(gè)包管理器,為Kubernetes開(kāi)發(fā)人員做了很多。作為開(kāi)發(fā)人員,我想在沒(méi)有多少工作的情況下用其他項(xiàng)目測(cè)試我的應(yīng)用程序。而不是寫(xiě)自己的jenkins設(shè)置,我可以簡(jiǎn)單地運(yùn)行helm安裝jenkins / jenkins并在我的路上。要查找它和其他Kubernetes軟件包,請(qǐng)查看Artifact Hub.。
在任何地方運(yùn)行Rancher K3s
將容器推向近乎完美的Kubernetes服務(wù)是一回事,但如果你想在Raspberry Pi farm的野外亂七八糟,那么怎么辦?來(lái)自Rancher的K3S項(xiàng)目可以做訣竅。它是Kubernetes“群集”的任何邊緣或IOT嘗試的理想選擇,因?yàn)榫S護(hù)者將其放入自述文件中。
使K3S成為本地和輕量級(jí)集群的選項(xiàng)是其廣泛的支持設(shè)備。您可以真正使用K3S的任何地方運(yùn)行Kubernetes。它作為單一二進(jìn)制文件下載的事實(shí)意味著它包括生產(chǎn)Kubernetes配置的所有功能(SQLite3是默認(rèn)的,但您可以通過(guò)可插拔存儲(chǔ)后端縮放到etcd3),并且它非常積極地由Rancher團(tuán)隊(duì)維護(hù)及其1,749(迄今為止)貢獻(xiàn)者。
Loft 縮放團(tuán)隊(duì)
任何人都可以通過(guò)上面curl命令來(lái)創(chuàng)建minikube集群。但如果你想和他人合作怎么辦?云天然開(kāi)發(fā)工具和地方發(fā)展集群交叉口有很多選擇。
傳統(tǒng)的選擇是在公共云上的一些可公開(kāi)訪(fǎng)問(wèn)的資源:AKS,EKS,DigitaloCean管理的Kubernetes,或其他許多其他人。但是,任何在云服務(wù)中運(yùn)行Hello World教程并忘記刪除它的人都知道它會(huì)花費(fèi)大量,并很快。
Loft提供一系列服務(wù),包括UI和CLI,進(jìn)一步抽象他們最終在生產(chǎn)中運(yùn)行的Kubernetes環(huán)境。通過(guò)這樣做,您可以設(shè)置自助服務(wù)體驗(yàn),而不會(huì)對(duì)隔離和預(yù)算的同樣關(guān)注。
Loft注意到隔離,特別是與V clusters及其相應(yīng)的空間,為每個(gè)開(kāi)發(fā)商提供了一個(gè)現(xiàn)實(shí)世界的環(huán)境,沒(méi)有真實(shí)世界的集中預(yù)算。這可能是開(kāi)發(fā)人員和部門(mén)的價(jià)值。
Loft的價(jià)值降低了縮放和安全的Kubernetes環(huán)境的速度。其中一個(gè)使用案例提到在單個(gè)UI中創(chuàng)建現(xiàn)場(chǎng)產(chǎn)品的現(xiàn)場(chǎng)演示。思考更自私,想象一下在自己的孤立的測(cè)試用例中進(jìn)行最新的生產(chǎn)功能,而不會(huì)發(fā)現(xiàn)開(kāi)發(fā)群集的命名空間。這對(duì)我來(lái)說(shuō)很好。
此外,Loft Labs最近聘請(qǐng)了 Rich Burroughs ,這是他們放在一起的社區(qū)類(lèi)型的好兆頭。
在與團(tuán)隊(duì)合作時(shí),Loft會(huì)造成一定的意義。
第2類(lèi):簡(jiǎn)化反饋循環(huán)
Skaffold 無(wú)人駕駛反饋環(huán)
想象一下,你是一個(gè)開(kāi)發(fā)人員(因?yàn)槟闶?,你想寫(xiě)一個(gè)將在Kubernetes上運(yùn)行的應(yīng)用程序(因?yàn)槟氵@樣做)。您需要知道的kubernetes概念的數(shù)量,從運(yùn)行node.js或python應(yīng)用程序到運(yùn)行Kubernetes上的運(yùn)行容器可能會(huì)感覺(jué)像yaml的墻壁。值得慶幸的是,谷歌的好人寫(xiě)了Skadadold,提供了一些需要的腳手架。
不要讓我錯(cuò)了:你仍然需要你的代碼,dockerfile,清單文件和與管道關(guān)聯(lián)的所有服務(wù)。在對(duì)代碼的每次更改后重新運(yùn)行您的部署管道,那些Skaffold優(yōu)惠是一種干凈的方式。它是由其用戶(hù)的知名和喜愛(ài),在世界各地的主頁(yè)上的報(bào)價(jià)。
您可能與這種感覺(jué)相關(guān):運(yùn)行Skaffold感覺(jué)就像我第一次運(yùn)行流浪者而不是手頭管理虛擬機(jī)。曾經(jīng)采取了一噸步驟的任務(wù),并且不可靠地變得直截了當(dāng),以一種簡(jiǎn)化我所做的一切方式的方式。Skaffold將為Kubernetes進(jìn)行測(cè)試和部署反饋循環(huán)來(lái)執(zhí)行此操作。
Podman停止管理Docker守護(hù)進(jìn)程
雖然Dockerfiles可能永遠(yuǎn)是我們表達(dá)容器的方式,但Docker本身是完全可選的。即使是Kubernetes本身也正在將其運(yùn)行時(shí)間從Dockershim轉(zhuǎn)移。我不能推薦Podman作為在本地運(yùn)行Docker的替代品,因?yàn)槟恍枰S護(hù)守護(hù)程序服務(wù)。沒(méi)有弄亂守護(hù)進(jìn)程意味著減少時(shí)間擺弄和更多時(shí)間編碼。
這種區(qū)別對(duì)您來(lái)說(shuō)可能是新的,因此解釋?zhuān)篋ocker是與本地容器和守護(hù)進(jìn)程(AKA服務(wù)器)進(jìn)行交互的客戶(hù)端,管理包含容器運(yùn)行的用戶(hù)空間。Nick JaneTakis在這里完美地解釋。
像我一樣,當(dāng)一切正常工作時(shí),您可能會(huì)忘記Docker客戶(hù)端和服務(wù)器之間存在區(qū)別。那說(shuō),我經(jīng)??吹竭@條消息:
- $ docker ps
- $ Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
現(xiàn)在我留下了一個(gè)選擇。我可以解決Docker守護(hù)程序和我的工具箱中的服務(wù)弄亂了什么,或者我可以使用不遇到同一問(wèn)題的東西。我更喜歡后者。
Podman為您提供將容器作為子進(jìn)程運(yùn)行的選項(xiàng),刪除單獨(dú)的守護(hù)程序。這意味著我從未得到那條錯(cuò)誤的消息,我的容器繼續(xù)做他們所做的事情。
您可能會(huì)從變化中撤回,因?yàn)槟募∪庥洃浱度肓?。在這種情況下,我強(qiáng)烈建議刪除Docker CLI并將別名Docker = Podman添加到Shell配置文件中。
Tilt 真的了解你的應(yīng)用程序
雖然我涵蓋了一些不同的方法來(lái)管理您的管道,但我仍然發(fā)現(xiàn)傾斜是最徹底和可視的方式,以了解基于Kubernetes的應(yīng)用程序的連續(xù)反饋循環(huán)。傾斜UI具有令人難以置信的簡(jiǎn)潔錯(cuò)誤捕獲,我在成為顯著的部署錯(cuò)誤之前找到了次要yaml錯(cuò)誤。它還具有可定制的按鈕,可為您提供唯一的應(yīng)用程序特定功能,例如在迭代之間刷新架構(gòu)中的消息隊(duì)列。
如果您知道您希望查看細(xì)節(jié),請(qǐng)?jiān)诓槐谎蜎](méi)的情況下看到細(xì)節(jié),嘗試一下 Tilt。
具有DevSpace的高效開(kāi)發(fā)工作流程
你喜歡kubectl可以做什么,但忘記了讓它做你想要的東西所需的眾多命令嗎?然后你就是運(yùn)氣,因?yàn)閐evspace是一個(gè)開(kāi)源命令行實(shí)用程序,它用kubernetes開(kāi)發(fā)人員體驗(yàn)到覺(jué)得溫暖的擁抱。它將管理大量繁瑣的任務(wù),以便您可以在當(dāng)?shù)叵到y(tǒng)上運(yùn)行它的吊艙。
此外,如果您有特定的首選項(xiàng),則可以簡(jiǎn)單地添加到devspace.yaml聲明性配置文件中。
雖然它不會(huì)是kubectl提供的手術(shù)刀的一對(duì)一替代,但運(yùn)行的devspace將為您提供與真正的kubernetes環(huán)境交互的大量理智的默認(rèn)行為,感覺(jué)更像$ home。
使用Lens IDE調(diào)試更快
Kubernetes像Minikube這樣的項(xiàng)目從盒子里出來(lái),帶著時(shí)尚和簡(jiǎn)單的GUI稱(chēng)為儀表板。這是一個(gè)很好的環(huán)境的讀取視圖,但如果您想從UI做任何事情,這是什么?
開(kāi)源社區(qū)中最強(qiáng)大的選擇是Lens。我真的不應(yīng)該稱(chēng)之為GUI,因?yàn)樗阋员灰暈镮DE。您可以通過(guò)點(diǎn)擊按鈕,完成Kubernetes能夠在鏡頭內(nèi)進(jìn)行。我最喜歡鏡頭的是它的令人難以置信的思想上下文專(zhuān)用選項(xiàng),幫助我了解從Kubernetes Land中需要知道的許多其他資源的命名空間的服務(wù)的區(qū)別。
第3類(lèi):IDE DEV工具我不能沒(méi)有
Kubernetes擴(kuò)展我們都需要Vscode
沒(méi)有Kubernetes開(kāi)發(fā)經(jīng)驗(yàn)應(yīng)該沒(méi)有IDE,即知道Kubernetes資源和掌舵圖之間的區(qū)別。這就是Visual Studio代碼Kubernetes工具閃耀的地方。生活在Kubernetes世界的人必須首先安裝這個(gè)。
使用此vscode插件使yaml更易于管理
Kubernetes開(kāi)發(fā)人員已被描述為Yaml Farmers,我認(rèn)為鞋子很適合。雖然我喜歡一個(gè)特定于域的特定語(yǔ)言,就像下一個(gè)kubernaut一樣,我將采取任何幫助,我可以通過(guò)管理yaml本身來(lái)獲得。謝天謝地,yaml語(yǔ)言支持?jǐn)U展名,Red Hat支持,幫助我?guī)椭约骸?/p>
它可以在許多額外的細(xì)節(jié)選項(xiàng)上提供大量的自動(dòng)完成選項(xiàng),幫助我。所有所說(shuō),右鍵單擊并選擇“格式化文件”的能力單獨(dú)為黃金中的重量。
通過(guò)Footsteps找到您的代碼
雖然不是嚴(yán)格的Kubernetes擴(kuò)展,但我發(fā)現(xiàn)導(dǎo)航Y(jié)aml農(nóng)場(chǎng)可以讓我失去我離開(kāi)的地方的追蹤。我在哪里在我的2,000行配置文件中?那是Footsteps 在我的短期記憶中失去了腳的地方。這款輝煌的擴(kuò)展,也適用于vscode或其等同物,將向您展示最近通過(guò)突出顯示的文本編輯文檔的位置。當(dāng)您繼續(xù)編輯代碼時(shí),F(xiàn)ootsteps 會(huì)慢慢消失那些顏色,從而讓您感受到您的編碼模式。安裝這個(gè)并拯救自己的感覺(jué)相當(dāng)困難。
總結(jié)
在那里有一個(gè)令人難以置信的工具,幫助Kubernetes開(kāi)發(fā)人員和運(yùn)營(yíng)商導(dǎo)航這個(gè)新的容器編排的新范式。我喜歡在三個(gè)桶中考慮它們:他們幫助我運(yùn)行Kubernetes,測(cè)試Kubernetes或kubernetes感知方式嗎?這些類(lèi)別中的所有三個(gè)類(lèi)別都可以在開(kāi)源生態(tài)系統(tǒng)中引導(dǎo)您在維護(hù)良好的軟件中,這將有助于您像我們其他人一樣成為一個(gè)更好的Yaml牧民。
原文鏈接:
https://loft-sh.medium.com/11-of-the-best-open-source-kubernetes-tools-2021-edition-b4aa49487845
新聞標(biāo)題:2021年11個(gè)優(yōu)秀的開(kāi)源Kubernetes工具
標(biāo)題網(wǎng)址:http://m.5511xx.com/article/cdpcooj.html


咨詢(xún)
建站咨詢(xún)
