Pulp je nástroj pro správu úložiště s otevřeným zdrojovým kódem, který vám pomáhá načítat, zrcadlit, nahrávat a publikovat obsah ve vaší organizaci. Lze jej použít ke správě různých typů obsahu, jako jsou softwarové balíčky (od balíčků RPM po drahokamy Ruby), stejně jako kolekce Ansible, obrázky kontejnerů a dokonce libovolné soubory.
Typický pracovní postup začíná načítáním softwarových balíčků z existujícího úložiště (například http://mirror.centos.org/centos/7/os/x86_64/) nebo ručním přidáváním balíčků (u soukromých balíčků vytvořených ve vaší organizaci). Pak vám Pulp pomůže vytvořit libovolné kolekce softwarových balíčků, které mohou používat klienti. S tím:
- Získejte kontrolu nad tím, jaký obsah je spotřebitelům k dispozici
- Může používat správu verzí
- Snižte nároky na šířku pásma a úložiště tím, že poskytnete místní, deduplikovaný zdroj
Pokud jste v Pulpu noví, přečtěte si úvodní článek Melanie Corr o tom, jak spravovat softwarová úložiště pomocí Pulpu.
Správa balíčků Debian pomocí Pulp
Pulp spoléhá na zásuvné moduly, které adekvátně zpracovávají různé typy obsahu. Například zásuvný modul Pulp RPM vám umožňuje spravovat balíčky .rpm. Pomocí pluginu Pulp Debian můžete zrcadlit, synchronizovat, nahrávat a publikovat balíčky .deb v repozitářích APT. Plugin pulp_deb je nezbytný, pokud chcete spravovat a poskytovat balíčky spotřebního softwaru pro distribuce Linuxu, jako je Debian a Ubuntu, a je to bezplatný software s otevřeným zdrojovým kódem, který poskytuje a spravuje komunita Pulp.
S pluginem Pulp Debian můžete spravovat obsah Debianu synchronizací vzdálených repozitářů, poskytnutím rozhraní pro nahrávání vlastního obsahu a publikováním obsahu do repozitářů.
Pulp podporuje několik různých typů obsahu Debianu, včetně balíčků, indexů balíčků, souborů vydání a dalších. "Typ obsahu" odkazuje buď na konkrétní artefakt nebo metadata. Například jednotka obsahu typu package
odkazuje na balíček .deb.
Synchronizace vzdáleného úložiště je jednou z hlavních funkcí pluginu Pulp Debian a je to jeden ze způsobů, jak získat obsah. Proces synchronizace používá vzdálenou definici, která obsahuje URL, distribuci, komponenty a architektury:
- URL je cesta ke vzdálenému úložišti APT.
- distribuce je cesta mezi
dists/
adresář repozitáře APT a příslušnéRelease
soubor. Toto je obvykle (ale ne vždy) kódové označení nebo sada distribuce Linuxu založené na Debianu (buster
pro Debian 10stretch
pro Debian 9focal
pro Ubuntu 20.04 a tak dále). Spuštěnílsb_release -cs
na libovolném hostiteli Debianu nebo Ubuntu zobrazuje kódové jméno distribuce. - Komponenty popsat libovolné podmnožiny úložišť (
main
,contrib
nebonon-free
pro Debian nebomain
,restricted
,universe
amultiverse
pro Ubuntu). Můžete to použít k filtrování a kategorizaci balíčků v rámci úložiště APT. - architektura odkazuje na architekturu procesoru, na kterém může běžet softwarový balík, nejčastěji
i386
,amd64
neboarm64
. Pokud softwarový balík nezávisí na konkrétní architektuře procesoru, architektura může být nastavena naall
.
Určení distribuce je povinné, zatímco definování komponent a architektur je volitelné. Pokud není definován, Pulp automaticky synchronizuje všechny balíčky bez filtrování komponent nebo architektur. Pulp automaticky ověřuje podpis GNU Privacy Guard Release
Soubor, měl by být odpovídající veřejný klíč GPG přiřazen k dálkovému ovládání.
Příklad pracovního postupu
Je snadné přejít ze vzdáleného úložiště na doslovnou publikaci s Pulp's REST API. Následující volání API předpokládají, že používáte HTTPie.
Představte si, že chcete poskytovat balíčky .deb hostitelům ve vaší organizaci. Následující základní pracovní postup vás provede prvními kroky při používání Pulp a Pulp Debian pluginu.
1. Vytvořte místní úložiště
Začněte vytvořením místního úložiště v Pulpu pomocí jediného volání API. Můžete to udělat pomocí HTTPie nebo příkazu curl:
http post http://<hostname>:24817/pulp/api/v3/repositories/deb/apt/ name=<name_of_your_repository>
2. Vytvořte dálkový ovladač
Dále vytvořte dálkový ovladač. Toto volání API vyžaduje adresu URL a libovolný name
hodnota. Definování distribuce a architektury je volitelné:
http post http://<hostname>:24817/pulp/api/v3/remotes/deb/apt/ name="nginx.org" url="http://nginx.org/packages/debian" distributions="buster"
Ať už definujete pouze jednu nebo více distribucí, Pulp bude později synchronizovat balíčky pro všechny architektury, protože pro tento vzdálený ovladač nejsou definovány.
3. Synchronizovat
Třetím a posledním krokem k načtení vzdáleného obsahu do Pulpu je synchronizace dálkového ovladače s vaším místním úložištěm. To provedete voláním koncového bodu synchronizačního rozhraní API vašeho úložiště:
http post http://<hostname>:24817/pulp/api/v3/repositories/deb/apt/<uuid_repository>/sync/ remote=http://<hostname>:24817/pulp/api/v3/remotes/deb/apt/<uuid_remote>/
V tomto ukázkovém příkazu každé z UUID odkazuje na interní reference Pulpu, zobrazené jako pulp_href
pomocí API. Tento krok může nějakou dobu trvat v závislosti na vašem prostředí, velikosti úložiště a dostupné šířce pásma.
Udělejte svůj obsah Pulp spotřebním
Po získání obsahu pro Pulp prostřednictvím synchronizace se tento stane spotřebitelem pro klienty.
1. Vytvořte publikaci
Publikace jsou vždy založeny na úložišti Pulp. Obsahují další nastavení, jak publikovat obsah. Můžete použít APT
vydavatel na libovolném úložišti typu APT obsahující balíčky .deb.
Následující volání API vytvoří publikaci v doslovném režimu. To znamená, že poskytuje přesně stejnou strukturu a obsah vzdáleného úložiště:
http post http://<hostname>:24817/pulp/api/v3/publications/deb/verbatim/ repository=/pulp/api/v3/repositories/deb/apt/<uuid_repository>/
Nahraďte UUID úložištěm, které chcete publikovat. Tento krok může nějakou dobu trvat v závislosti na velikosti úložiště.
2. Vytvořte distribuci
Distribuce vezme hotovou publikaci a podává ji prostřednictvím aplikace Pulp content, která ji zpřístupní (neboli „spotřební“) pro vaše uživatele. V kontextu systému Debian to znamená, že úložiště lze přidat do /etc/apt/sources.list
a používá se jako způsob instalace softwaru.
Následující volání API vyžaduje UUID publikace vytvořené v prvním kroku:
http post http://<hostname>:24817/pulp/api/v3/distributions/deb/apt/ name="name_of_the_distribution" base_path="base_path_of_the_distribution" publication=http://<hostname>:24817/pulp/api/v3/publications/deb/verbatim/<uuid_publication>/
base_path
hodnota je součástí adresy URL používané klienty při odkazování na úložiště APT a název může být libovolný. Volání koncového bodu API distribuce na konkrétní publikované distribuci vrátí adresu URL úložiště Pulp:
http get http://<hostname>:24817/pulp/api/v3/distributions/deb/apt/<uuid_distribution>/
Tuto adresu URL mohou klienti APT přímo využívat. Nyní jej lze přidat do /etc/apt/sources.list
jako platné úložiště.
Pulp API
Použití těchto volání API vám umožní synchronizovat úložiště APT s vaší vlastní instancí Pulp a znovu jej publikovat doslovně, aniž byste se dotkli balíčků, jakýchkoli metadat nebo podpisů. Další informace a další způsoby publikování naleznete v dokumentaci API a přehledu funkcí.
Flexibilita open source
Další skvělý obsah
- Bezplatný online kurz:technický přehled RHEL
- Naučte se pokročilé příkazy Linuxu
- Stáhněte si cheaty
- Najděte alternativu s otevřeným zdrojovým kódem
- Přečtěte si hlavní obsah Linux
- Podívejte se na zdroje s otevřeným zdrojovým kódem
Jedním z důležitých aspektů Pulpu a jeho struktury zásuvných modulů je, že je extrémně flexibilní, v nemalé míře díky své povaze open source. Pulp můžete spustit jako samostatnou službu, ale nemusíte. Může být integrován do něčeho většího.
Pracuji ve společnosti ATIX, kde jsme začali používat Pulp a plugin Pulp Debian v projektu s názvem orcharhino. Je založen na Foreman a obsahuje výkonný plugin Katello pro další možnosti správy obsahu, který sám spoléhá na Pulp pro správu úložiště. Díky tomu jsme byli schopni spravovat naše datové centrum pomocí automatizovaného zavádění systému, správy konfigurace a správy oprav.
Jinými slovy, ATIX vyvíjí plugin Pulp Debian primárně s ohledem na případ použití Katello. Ať už potřebujete Katello nebo Pulp nebo jen specifický Pulp plugin, můžete si být jisti, že tato modularita je záměrná.
Pomocí Pulp můžete zrcadlit vzdálená softwarová úložiště, hostovat soukromé softwarové balíčky a spravovat různé typy obsahu na jedné platformě.
Vyzkoušejte Pulp a plugin Pulp Debian ještě dnes a nebojte se připojit a požádat komunitu o pomoc. Vítáme jakoukoli zpětnou vazbu.