與 VMware 一起助力云原生,探索 Kubernetes 軟件包管理的未來

隨著 DevOps 的成熟,在其概念和思維方式的指導(dǎo)下也衍生出了 DevSecOps、AIOps、SecOps、GitOps 等開發(fā)模型。GitOps 是其中的一個(gè),該模型旨在使開發(fā)人員能夠使用 git 創(chuàng)建 CI/CD 流程來自動(dòng)化多云和多容器編排集群的開發(fā)和運(yùn)營。

在 GitOps 開發(fā)流程中,包管理是持續(xù)交付過程中的重要環(huán)節(jié)。

Carvel 項(xiàng)目是由 VMWare 開源的一套云原生開發(fā)工具集,提供了一套遵循 Unix 哲學(xué)的工具來幫助開發(fā)者將應(yīng)用構(gòu)建和部署到 Kubernetes 集群。每個(gè)工具只做一件事情,可自由組合,這些工具包括:

ytt:通過YAML結(jié)構(gòu)而不是文本文檔為Kubernetes配置生成模板和覆蓋

kapp:將多個(gè) Kubernetes 資源當(dāng)做一個(gè)“應(yīng)用”一樣進(jìn)行管理,比如安裝、升級(jí)和刪除等操作

kbld:以不可變的方式在 Kubernetes 配置中構(gòu)建或引用容器鏡像

imgpkg:通過 Docker 鏡像倉庫來打包和遷移應(yīng)用程序的容器鏡像及其配置文件

kapp-controller:符合 GitOps 理念的包管理器,實(shí)現(xiàn) K8s 應(yīng)用程序與包的持續(xù)交付

vendir:聲明性地說明目錄中應(yīng)該包含哪些文件

其中,kapp-controller 是一個(gè)輕量級(jí)、聲明式的包管理器,專注于部署過程,并且可以與 ytt、kustomize、helm template 等工具配合使用,負(fù)責(zé)在 Kubernetes 集群中安裝和管理軟件的生命周期,用戶無需了解其內(nèi)部實(shí)現(xiàn)細(xì)節(jié)。

kapp-controller 利用了包和包存儲(chǔ)庫的概念。在高層次上,包是版本化的元數(shù)據(jù),它通知 kapp-controller 如何獲取、模板化和安裝底層軟件內(nèi)容。這些內(nèi)容通常由配置和容器鏡像組成,它們被捆綁在一起并存儲(chǔ)在某個(gè)位置,比如 OCI 鏡像倉庫、git repo、http 服務(wù)器等,而 kapp-controller 可以自動(dòng)處理安裝和管理這些內(nèi)容細(xì)節(jié)。

一旦作者創(chuàng)建了許多包的集合,就可以使用包存儲(chǔ)庫來捆綁它們并通過 OCI 鏡像倉庫分發(fā)它們。這允許消費(fèi)者發(fā)現(xiàn)包的集合,并快速地將它們提供在他們的集群上以供安裝。從這里,用戶可以選擇他們想要安裝的軟件包,kapp-controller 將安裝它們并保持版本更新。

總而言之,kapp-controller 的聲明式 API 和分層方法能夠幫助開發(fā)者構(gòu)建、部署和管理自己的應(yīng)用程序。它還有助于將開發(fā)好的軟件打包成易于分發(fā)的軟件包,并使用戶能夠在 Kubernetes 集群上發(fā)現(xiàn)、配置和安裝這些軟件包。

若想了解更多 Carvel 項(xiàng)目信息以及 Kubernetes 技術(shù)發(fā)展趨勢(shì),敬請(qǐng)關(guān)注 12 月 9 日 - 10 日舉辦的 KubeCon + CloudNativeCon + Open Source Summit China 2021 線上虛擬大會(huì)。VMWare 是本屆大會(huì)的黃金贊助商,對(duì)本次活動(dòng)提供了大力的支持。屆時(shí)還將有來自 VMWare 的云原生技術(shù)專家為大家?guī)砭实募夹g(shù)分享:

與 VMware 一起助力云原生,探索 Kubernetes 軟件包管理的未來

議題簡(jiǎn)介:等等,您在 Kubernetes 上運(yùn)行打包的應(yīng)用程序,但您還在從命令行更新它們?這似乎不對(duì),不是嗎?

今天,我們可以取代傳統(tǒng)的“命令式”包管理方法,使用 Kubernetes 來確保打包的應(yīng)用程序以我們需要的方式自動(dòng)更新。想要使用一個(gè)軟件包的最新版本,但總是自動(dòng)地為另一個(gè)軟件包選擇補(bǔ)丁版本嗎?想要利用 GitOps 來管理應(yīng)用程序更新嗎?是的,您可以使用輕量級(jí)、易于使用的 Kubernetes 工具。而這僅僅是開始,加入我們一起看看 Carvel 項(xiàng)目團(tuán)隊(duì)如何重新構(gòu)想 Kubernetes 的軟件包管理,為您帶來一種現(xiàn)代的、“聲明式”的方式對(duì)打包的應(yīng)用程序及其依賴進(jìn)行端到端的自動(dòng)化生命周期管理。

與 VMware 一起助力云原生,探索 Kubernetes 軟件包管理的未來

KubeCon + CloudNativeCon + Open Source Summit China 2021 由云原生計(jì)算基金會(huì) CNCF 主辦。作為云原生領(lǐng)域的頂級(jí)技術(shù)盛會(huì),歷年的 KubeCon + CloudNativeCon + Open Source Summit China 都匯聚了國內(nèi)外最活躍的開源云原生社區(qū)、最先進(jìn)的技術(shù)代表與行業(yè)的最佳落地實(shí)踐,推動(dòng)云原生計(jì)算領(lǐng)域的知識(shí)更新和技術(shù)進(jìn)步。本屆大會(huì)的議程安排已全面上線,更多詳情請(qǐng)查看大會(huì)官網(wǎng)。

與 VMware 一起助力云原生,探索 Kubernetes 軟件包管理的未來

(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。 )