Foreman è uno strumento di automazione del data center per distribuire, configurare e applicare patch agli host. Si affida a Katello per la gestione dei contenuti, che a sua volta si affida a Pulp per la gestione dei repository. Vedi Gestire i contenuti usando Pulp Debian per ulteriori informazioni.
Pulp offre molti plug-in per diversi tipi di contenuto, inclusi pacchetti RPM, ruoli e raccolte Ansible, pacchetti PyPI e contenuto deb. Quest'ultimo è chiamato pulp_deb plug-in.
Gestione dei contenuti in Foreman
L'idea di base per fornire contenuto agli host è di eseguire il mirroring dei repository e fornire contenuto agli host tramite il server Foreman o gli Smart Proxy collegati.
Più risorse Linux
- Comandi Linux cheat sheet
- Cheat sheet sui comandi avanzati di Linux
- Corso online gratuito:Panoramica tecnica RHEL
- Cheat sheet della rete Linux
- Cheat sheet di SELinux
- Cheat sheet dei comandi comuni di Linux
- Cosa sono i container Linux?
- I nostri ultimi articoli su Linux
Questo tutorial è una guida passo passo per aggiungere contenuto deb a Foreman e servire host che eseguono Debian 10. "Contenuto Deb" si riferisce a pacchetti software ed errata per sistemi Linux basati su Debian (ad es. Debian e Ubuntu). Questo articolo si concentra su Debian 10 Buster ma le istruzioni funzionano anche per Ubuntu 20.04 Focal Fossa, se non diversamente specificato.
1. Crea il sistema operativo
1.1. Crea un'architettura
Vai a Host> Architetture e creare una nuova architettura (se manca l'architettura in cui si desidera distribuire gli host Debian 10). Questo tutorial presuppone che i tuoi host vengano eseguiti sull'architettura x86_64, come fa Foreman.
1.2. Crea un supporto di installazione
Vai a Host> Supporti di installazione e creare un nuovo supporto di installazione di Debian 10. Utilizzare l'URL del repository upstream http://ftp.debian.org/debian/.
Seleziona la famiglia di sistemi operativi Debian per Debian o Ubuntu.
In alternativa, puoi anche usare un mirror Debian. Tuttavia, il contenuto sincronizzato tramite Pulp non funziona per due motivi:primo, il linux
e initrd.gz
i file non si trovano nelle posizioni previste; secondo, il Release
il file non è firmato.
1.3. Crea un sistema operativo
Vai a Host> Sistemi operativi e crea un nuovo sistema operativo chiamato Debian 10. Usa 10 come versione principale e lascia vuoto il campo della versione secondaria. Per Ubuntu, usa 20.04 come versione principale e lascia vuoto il campo della versione secondaria.
Seleziona la famiglia di sistemi operativi Debian per Debian o Ubuntu e specifica il nome della versione (ad esempio, Buster per Debian 10 o Stretch per Debian 9). Seleziona le tabelle delle partizioni predefinite e i modelli di provisioning, ad esempio Predefinito predefinito * .
1.4. Adatta i modelli predefiniti predefiniti (opzionale)
Vai a Host> Tabelle delle partizioni e Host> Modelli di fornitura e adatta il Preseed predefinito modelli se necessario. Nota che devi clonare i modelli bloccati prima di modificarli. I modelli clonati non riceveranno aggiornamenti con le versioni più recenti di Foreman. Tutti i sistemi basati su Debian usano Preseed modelli, inclusi in Foreman per impostazione predefinita.
1.5. Associa i modelli
Vai a Host> Modelli di provisioning e cerca Preseed . Associa tutti i modelli di provisioning desiderati al sistema operativo. Quindi, vai a Host> Sistemi operativi e seleziona Debian 10 come sistema operativo. Seleziona i Modelli scheda e associa tutti i modelli di provisioning che desideri.
2. Sincronizza i contenuti
2.1. Crea credenziali di contenuto per repository Debian upstream e client Debian
Vai a Contenuto> Credenziali contenuti e aggiungi le chiavi pubbliche GPG richieste come credenziali del contenuto affinché Foreman verifichi l'autenticità dei pacchetti deb. Per ottenere le chiavi pubbliche GPG necessarie, verifica il Rilascio archiviare ed esportare la chiave pubblica GPG corrispondente come segue:
- Debian 10 principale:
wget http://ftp.debian.org/debian/dists/buster/Release && wget http://ftp.debian.org/debian/dists/buster/Release.gpg
gpg --verify Release.gpg Release
gpg --keyserver keys.gnupg.net --recv-key 16E90B3FDF65EDE3AA7F323C04EE7237B7D453EC
gpg --keyserver keys.gnupg.net --recv-key 0146DC6D4A0B2914BDED34DB648ACFD622F3D138
gpg --keyserver keys.gnupg.net --recv-key 6D33866EDD8FFA41C0143AEDDCC9EFBF77E11517
gpg --armor --export E0B11894F66AEC98 DC30D7C23CBBABEE DCC9EFBF77E11517 > debian_10_main.txt - Sicurezza Debian 10:
wget http://security.debian.org/debian-security/dists/buster/updates/Release && wget http://security.debian.org/debian-security/dists/buster/updates/Release.gpg
gpg --verify Release.gpg Release
gpg --keyserver keys.gnupg.net --recv-key 379483D8B60160B155B372DDAA8E81B4331F7F50
gpg --keyserver keys.gnupg.net --recv-key 5237CEEEF212F3D51C74ABE0112695A0E562B32A
gpg --armor --export EDA0D2388AE22BA9 4DFAB270CAA96DFA > debian_10_security.txt - Aggiornamenti Debian 10:
wget http://ftp.debian.org/debian/dists/buster-updates/Release && wget http://ftp.debian.org/debian/dists/buster-updates/Release.gpg
gpg --verify Release.gpg Release
gpg --keyserver keys.gnupg.net --recv-key 16E90B3FDF65EDE3AA7F323C04EE7237B7D453EC
gpg --keyserver keys.gnupg.net --recv-key 0146DC6D4A0B2914BDED34DB648ACFD622F3D138
gpg --armor --export E0B11894F66AEC98 DC30D7C23CBBABEE > debian_10_updates.txt - Client Debian 10:
wget --output-document=debian_10_client.txt https://apt.atix.de/atix_gpg.pub
Puoi selezionare i rispettivi file TXT con armatura ASCII da caricare sulla tua istanza Foreman.
2.2. Crea prodotti chiamati client Debian 10 e Debian 10
Vai a Contenuto> Host e crea due nuovi prodotti.
2.3. Crea i repository Debian 10 necessari
Vai a Contenuto> Prodotti e seleziona Debian 10 Prodotto. Crea tre deb archivi:
- Debian 10 principale:
- URL:
http://ftp.debian.org/debian/
- Rilasci:
buster
- Componente:
main
- Architettura:
amd64
- URL:
- Sicurezza Debian 10:
- URL:
http://deb.debian.org/debian-security/
- Rilasci:
buster/updates
- Componente:
main
- Architettura:
amd64
- URL:
Se lo desideri, puoi aggiungere un servizio di errata self-hosted:https://github.com/ATIX-AG/errata_server
e https://github.com/ATIX-AG/errata_parser
- Aggiornamenti Debian 10:
- URL:
http://ftp.debian.org/debian/
- Rilasci:
buster-updates
- Componente:
main
- Architettura:
amd64
- URL:
Seleziona le credenziali del contenuto che hai creato nel passaggio 2.1. Regolare i componenti e l'architettura secondo necessità. Vai a Contenuto> Prodotti e seleziona il client Debian 10 Prodotto. Crea un deb repository come segue:
- Gestione abbonamenti Debian 10
- URL:
https://apt.atix.de/Debian10/
- Rilasci:
stable
- Componente:
main
- Architettura:
amd64
- URL:
Seleziona le credenziali del contenuto che hai creato nel passaggio 2.1. Il client Debian 10 contiene il gestore degli abbonamenti pacchetto, che viene eseguito su ciascun host di contenuto per ricevere contenuto da Foreman Server o da uno Smart Proxy collegato. Passare a apt.atix.de per ulteriori istruzioni.
2.4. Sincronizza i repository
Se lo desideri, puoi creare un piano di sincronizzazione per sincronizzare Debian 10 e client Debian 10 prodotti periodicamente. Per sincronizzare il prodotto una volta, fai clic su Seleziona azione> Sincronizza ora pulsante su Prodotti pagina.
2.5. Crea visualizzazioni di contenuto
Vai a Contenuto> Visualizzazioni di contenuto e crea una vista del contenuto chiamata Debian 10 che comprende i repository Debian upstream creati in Debian 10 prodotto e pubblicare una nuova versione. Fai lo stesso per il client Debian 10 repository del client Debian 10 prodotto.
2.6. Crea una visualizzazione di contenuto composita
Crea una nuova vista di contenuto composito chiamata Debian 10 composita comprendente la Debian 10 precedentemente pubblicata e client Debian 10 visualizzazione dei contenuti e pubblicare una nuova versione. Puoi facoltativamente aggiungere altre visualizzazioni di contenuto a tua scelta (ad es. Puppet).
2.7. Crea una chiave di attivazione
Vai a Contenuto> Chiavi di attivazione e crea una nuova chiave di attivazione chiamata debian-10 :
- Seleziona la Libreria ambiente del ciclo di vita e aggiungere il Debian 10 composito visualizzazione dei contenuti.
- Sui Dettagli scheda, assegna l'ambiente del ciclo di vita corretto e la visualizzazione del contenuto composito.
- Sugli Abbonamenti scheda, assegna le sottoscrizioni necessarie, ovvero Debian 10 e client Debian 10 prodotti.
3. Distribuisci un host
3.1. Abilita il provisioning tramite la porta 8000
Collegati alla tua istanza Foreman tramite SSH e modifica il seguente file:
/etc/foreman-proxy/settings.yml
Cerca :http_port: 8000
e assicurati che non sia commentato (ad esempio, la riga non inizia con un #
).
3.2. Crea un gruppo host
Vai a Configura> Gruppi host e crea un nuovo gruppo host chiamato Debian 10 . Consulta la documentazione di Foreman sulla creazione di gruppi host e assicurati di selezionare le voci corrette nel Sistema operativo e Chiavi di attivazione schede.
3.3. Crea un nuovo host
Vai a Host> Crea host e seleziona il gruppo host come descritto sopra o inserisci manualmente le stesse informazioni.
Suggerimento:la distribuzione di host che eseguono Ubuntu 20.04 è ancora più semplice, poiché puoi utilizzare l'immagine ISO del supporto di installazione ufficiale ed eseguire installazioni offline. Per ulteriori informazioni, consulta la Guida alla gestione dei sistemi Ubuntu di orcharhino.
ATIX ha sviluppato diversi plugin Foreman ed è parte integrante dell'ecosistema open source Foreman. Il feedback della community sui nostri contributi viene trasmesso ai nostri clienti, poiché ci sforziamo continuamente di migliorare il nostro prodotto a valle, orcharhino.