Linux中國

用開源工具 Pulp 管理你的軟體倉庫

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 訂閱管理證書都將獲得授權。客戶端使用安全傳輸層(TLS)提供證書,這證明客戶端不僅有證書,還有它的密鑰。你可以放心地開發,知道你的內容正在受到保護。

Pulp 團隊也在積極為整個 Pulp 部署一個基於角色的訪問控制系統,這樣管理員就可以確保正確的用戶可以訪問正確的環境。

在容器中試用 Pulp

如果你有興趣親自評估 Pulp 3,你可以使用 Docker 或 Podman 輕鬆在容器中安裝 Pulp 3。Pulp 團隊一直在努力簡化安裝過程。你也可以使用 Ansible 劇本 來自動完成 Pulp 3 的全部安裝和配置。

via: https://opensource.com/article/20/8/manage-repositories-pulp

作者:Melanie Corr 選題:lujun9972 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國