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

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


咨詢
建站咨詢
