Foreman 是一個(gè)強(qiáng)大的管理和自動(dòng)化產(chǎn)品,它為 Linux 環(huán)境的管理員提供了企業(yè)級(jí)的解決方案,它適用于四個(gè)關(guān)鍵場景:供應(yīng)管理、配置管理、補(bǔ)丁管理和內(nèi)容管理。Foreman 中內(nèi)容管理功能的一個(gè)主要組成部分是由 Pulp 項(xiàng)目提供的。雖然 Pulp 是這個(gè)產(chǎn)品的一個(gè)組成部分,但它也是一個(gè)獨(dú)立的、自由開源的項(xiàng)目,自身也在取得巨大的進(jìn)步。
讓我們來看看 Pulp 項(xiàng)目,特別是最新版本 Pulp 3 的功能。
什么是 Pulp?
Pulp 是一個(gè)管理軟件包倉庫,并將其提供給大量的消費(fèi)者的平臺(tái)。你可以使用 Pulp 在不同環(huán)境中鏡像、同步、上傳和推廣各種內(nèi)容,如 RPM、Python 包、Ansible 集合、容器鏡像等。如果你有幾十個(gè)、幾百個(gè)甚至上千個(gè)軟件包,并需要更好的方式來管理它們,Pulp 可以幫助你。
最新的主要版本是 Pulp 3 ,它于 2019 年 12 月發(fā)布。Pulp 3 是多年來收集用戶需求的結(jié)晶,并對(duì)現(xiàn)有的 Pulp 架構(gòu)進(jìn)行了全面的技術(shù)改造,以提高可靠性和靈活性。另外,它還包含了大量的新功能。
誰在使用 Pulp?
大多數(shù)情況下,在 Pulp 用戶管理的企業(yè)軟件環(huán)境中,內(nèi)容的穩(wěn)定性和可靠性是最重要的。Pulp 用戶希望有一個(gè)平臺(tái)來開發(fā)內(nèi)容,而不用擔(dān)心倉庫可能會(huì)消失。他們希望以安全的方式在其生命周期環(huán)境的不同階段推廣內(nèi)容,優(yōu)化磁盤空間并擴(kuò)展環(huán)境以滿足新的需求。他們還需要靈活處理各種內(nèi)容類型。Pulp 3 提供了這些以及更多功能。
在一處管理各類內(nèi)容
安裝 Pulp 后,你可以為你計(jì)劃管理的內(nèi)容類型添加 內(nèi)容插件 ,將內(nèi)容鏡像到本地,添加私人托管的內(nèi)容,并根據(jù)你的需求混合內(nèi)容。例如,如果你是 Ansible 用戶,而你又不想在 Ansible Galaxy 上托管你的私有內(nèi)容,你可以添加 Pulp Ansible 插件,鏡像你所需要的公共 Ansible 內(nèi)容,并將 Pulp 作為一個(gè)內(nèi)部平臺(tái),在你的組織中管理和分發(fā)可擴(kuò)展的公共和私有 Ansible 角色和集合的混合。你可以用任何內(nèi)容類型執(zhí)行此操作。有各種各樣的內(nèi)容插件可供選擇,包括 RPM、Debian、Python、容器和 Ansible 等等。還有一個(gè)文件插件,你可以用它來管理 ISO 鏡像等文件。
如果你沒有找到你所需的內(nèi)容類型插件,Pulp 3 引入了新的插件 API 和插件模板,你可以輕松創(chuàng)建一個(gè)屬于自己的 Pulp 插件。你可以根據(jù) 插件編寫指南 自動(dòng)生成一個(gè)最小可用的插件,然后從那里開始構(gòu)建。
高可用性
在 Pulp 3 中,從 MongoDB 到 PostgreSQL 的轉(zhuǎn)變促進(jìn)了性能和數(shù)據(jù)完整性的重大改進(jìn)。Pulp 用戶現(xiàn)在有了一個(gè)完全開源的技術(shù)棧,它可以提供高可用性(HA)和更好的擴(kuò)展性。
倉庫版本管理
使用 Pulp 3,你可以毫無風(fēng)險(xiǎn)地進(jìn)行試驗(yàn)。每次你添加或刪除內(nèi)容時(shí),Pulp 都會(huì)創(chuàng)建一個(gè)不可變的倉庫版本,這樣你就可以回滾到早期的版本,從而保證操作的安全性和穩(wěn)定性。通過使用發(fā)布和分發(fā),你可以公開一個(gè)倉庫的多個(gè)版本,你可以將其作為回滾到早期版本的另一種方法。如要回滾,你可以簡單地將你的分發(fā)指向一個(gè)舊的發(fā)布。
磁盤優(yōu)化
任何軟件開發(fā)環(huán)境的主要挑戰(zhàn)之一是磁盤優(yōu)化。如果你不斷地下載包,例如,你今天需要但明天不再需要的倉庫每日構(gòu)建,那么磁盤空間將很快成為一個(gè)問題。Pulp 3 的設(shè)計(jì)已經(jīng)考慮到了磁盤優(yōu)化。當(dāng)默認(rèn)下載并保存所有的軟件包,你也可以啟用“按需”或“流式”選項(xiàng)。“按需”選項(xiàng)只下載和保存客戶要求的內(nèi)容,從而節(jié)省了磁盤空間。使用“流式”選項(xiàng),它也會(huì)根據(jù)客戶的要求進(jìn)行下載,但它不會(huì)將內(nèi)容保存在 Pulp 中。這對(duì)于同步內(nèi)容是非常理想的,例如,從一個(gè)每日倉庫同步,并讓你在后期免于執(zhí)行磁盤清理。
多種存儲(chǔ)選項(xiàng)
即使進(jìn)行了最好的磁盤優(yōu)化,隨著項(xiàng)目的發(fā)展,你可能需要一種方法來擴(kuò)展你的部署以滿足需求。除了本地文件存儲(chǔ),Pulp 還支持一系列的云存儲(chǔ)選項(xiàng),如 Amazon S3 和 Azure,以確保你可以擴(kuò)展?jié)M足你的部署需求。
保護(hù)你的內(nèi)容
Pulp 3 可以選擇添加 Certguard 插件,該插件提供了一個(gè)支持 X.509 的 ContentGuard,它要求客戶在收到 Pulp 的內(nèi)容之前提交證明其對(duì)內(nèi)容的權(quán)利的證書。
只要客戶端的證書沒有過期,且由證書頒發(fā)機(jī)構(gòu)簽署,并在創(chuàng)建時(shí)存儲(chǔ)在 Certguard 上,任何客戶端在請(qǐng)求時(shí)提供基于 X.509 或基于 Red Hat 訂閱管理證書都將獲得授權(quán)。客戶端使用安全傳輸層(TLS)提供證書,這證明客戶端不僅有證書,還有它的密鑰。你可以放心地開發(fā),知道你的內(nèi)容正在受到保護(hù)。
Pulp 團(tuán)隊(duì)也在積極為整個(gè) Pulp 部署一個(gè)基于角色的訪問控制系統(tǒng),這樣管理員就可以確保正確的用戶可以訪問正確的環(huán)境。
在容器中試用 Pulp
如果你有興趣親自評(píng)估 Pulp 3,你可以使用 Docker 或 Podman 輕松 在容器中安裝 Pulp 3 。Pulp 團(tuán)隊(duì)一直在努力簡化安裝過程。你也可以使用 Ansible 劇本 來自動(dòng)完成 Pulp 3 的全部安裝和配置。
責(zé)編AJX
-
Linux
+關(guān)注
關(guān)注
87文章
11333瀏覽量
210054 -
軟件
+關(guān)注
關(guān)注
69文章
4995瀏覽量
87882 -
開源工具
+關(guān)注
關(guān)注
0文章
27瀏覽量
4510
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論