5 motivi per ospitare il registro dei contenitori con Pulp
Esistono molti argomenti convincenti per ospitare il proprio registro dei contenitori con Pulp. Ecco qui alcuni di loro.
I contenitori Linux hanno notevolmente semplificato la distribuzione del software. La possibilità di creare un pacchetto di un'applicazione con tutto ciò di cui ha bisogno per essere eseguita ha contribuito ad aumentare la stabilità e la riproducibilità degli ambienti.
Sebbene esistano molti registri pubblici in cui è possibile caricare, gestire e distribuire immagini di contenitori, esistono molti argomenti convincenti a favore dell'hosting del proprio registro di contenitori. Diamo un'occhiata ai motivi per cui ha senso il self-hosting e in che modo Pulp, un progetto gratuito e open source, può aiutarti a gestire e distribuire contenitori in un ambiente locale.
Perché ospitare il tuo registro dei contenitori
Esistono diversi motivi per cui potresti prendere in considerazione l'hosting del tuo registro contenitori:
- Dimensioni: alcune immagini dei contenitori sono piuttosto grandi. Se più team scaricano la stessa immagine, ciò può richiedere molto tempo e mettere sotto pressione sia la rete che il budget.
- Larghezza di banda: se lavori in un'area con larghezza di banda limitata o in un'organizzazione che limita l'accesso a Internet per motivi di sicurezza, hai bisogno di un modo affidabile per gestire i contenitori con cui lavori.
- Denaro: i Termini di servizio possono cambiare. I registri contenitori esterni possono introdurre o aumentare soglie di limite di velocità che possono diventare proibitivamente restrittive per l'operazione.
- Stabilità: le immagini del contenitore ospitate su una fonte esterna possono scomparire da un giorno all'altro per una serie di motivi. Qualcosa di piccolo come un aggiornamento per un'immagine del contenitore su cui fai affidamento può introdurre modifiche importanti che desideri evitare.
- Privacy: potresti anche voler sviluppare e distribuire contenitori che non desideri ospitare in un registro pubblico di terze parti.
Hosting autonomo con Pulp
Utilizzando Pulp puoi evitare questi problemi e assumere il pieno controllo dei tuoi contenitori.
1. Evita i limiti di tariffa
La creazione di una cache locale di immagini del contenitore in Pulp consente a tutti nella tua organizzazione di estrarre le immagini del contenitore ospitate su Pulp anziché da un registro esterno. Ciò significa che puoi evitare i limiti di velocità e sincronizzarti da un registro esterno solo quando hai bisogno di qualcosa di nuovo. Ogni volta che è necessario sincronizzare i contenitori da un registro esterno, Pulp controlla innanzitutto se il contenuto esiste già prima di avviare la sincronizzazione dal registro remoto. Se sei soggetto a limiti di velocità del registro, esegui il mirroring solo del contenuto di cui hai bisogno e poi lo distribuisci in tutta la tua organizzazione utilizzando Pulp.
2. Cura i tuoi contenitori
Con Pulp, puoi creare un repository, quindi eseguire il mirroring e sincronizzare i contenitori da qualsiasi registro compatibile con Docker Registry HTTP API V2. Ciò include Docker, registro Google Container, Quay.io e molti altri, incluso un altro server Pulp. Non esistono limiti o restrizioni al modo in cui combini i contenitori di cui esegui il mirroring da registri diversi. Sei libero di unire contenitori da diverse fonti. Ciò ti consente di curare una serie di contenitori pubblici e privati per soddisfare le tue precise esigenze.
3. Sperimenta senza rischi
In Pulp, ogni volta che apporti una modifica al repository, viene creata una nuova versione immutabile. Puoi creare più versioni di un repository, ad esempio sviluppo, test, stage e produzione, e promuovere i contenitori al loro interno. Sei libero di sincronizzare gli ultimi aggiornamenti a un'immagine del contenitore da un registro esterno a Pulp, quindi rendere le ultime modifiche utilizzabili in un ambiente di sviluppo o altro. Puoi apportare qualsiasi modifica ai repository che ritieni necessaria e promuovere il contenuto del contenitore affinché venga utilizzato da un team di test o da un altro ambiente. Se qualcosa va storto, puoi tornare a una versione precedente.
4. Sincronizza solo il contenuto che ti serve
Se desideri utilizzare Pulp per creare una cache locale di un sottoinsieme di contenitori anziché un registro contenitori completo, puoi filtrare una selezione di contenitori da un'origine remota. Con Pulp, sono disponibili più opzioni di sincronizzazione dei contenuti in modo da archiviare solo i contenuti necessari o configurare la distribuzione per memorizzare nella cache i contenuti su richiesta.
5. Lavora con ambienti disconnessi e privi di aria
Se lavori in un ambiente disconnesso o limitato, puoi sincronizzare gli aggiornamenti da un'istanza Pulp connessa al tuo Pulp disconnesso. Attualmente, ci sono piani per implementare una funzionalità air-gapped nativa per Pulp per facilitare un flusso di lavoro completamente disconnesso. Nel frattempo, come soluzione alternativa, puoi utilizzare uno strumento come Skopeo per scaricare le immagini del contenitore che ti servono e quindi inserirle nel registro del contenitore Pulp disconnesso.
E altro ancora!
Con Pulp puoi anche creare contenitori da containerfiles, inviare contenitori privati a repository e distribuire tali contenitori in tutta la tua organizzazione. Daremo un'occhiata a questo flusso di lavoro in un prossimo articolo.
Come iniziare
Se sei interessato all'hosting autonomo del registro dei contenitori, puoi installare Pulp oggi stesso. Il processo di installazione è stato fortemente automatizzato e semplificato con l'aggiunta di un programma di installazione di Pulp Ansible.
Pulp ha un'architettura basata su plugin. Quando installi Pulp, seleziona il plug-in Container e qualsiasi altro tipo di plug-in di contenuto che desideri gestire. Se preferisci fare un giro di prova con Pulp, puoi valutare oggi stesso una versione containerizzata di Pulp.
Se hai domande o commenti, non esitare a contattarci sul canale #pulp su Freenode IRC e saremo felici di rispondere alle domande sulla nostra mailing list, pulp-list@redhat.com.