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