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