Pour gérer un parc grandissant de machines RHEL ou CentOS, il existe plusieurs solutions. La plus connue et la plus répandue est l’utilisation de Puppet et de Foreman ou de Red Hat Satellite 6.
- Foreman est un outil Open Source vous permettant d’automatiser le provisioning (la création) de vos serveurs grâce à des profils Kickstart (pour l’installation initiale du système) et des modules Puppet (pour la configuration de vos systèmes). Foreman va aussi vous permettre de visualiser l’historique de vos déploiements à des fins de reporting et d’audit.
- Katello est un plugin de lifecycle management pour Foreman qui gère les dépôts et les souscriptions. Grâce à ce plugin, vous aurez la possibilité de versionner vos canaux afin de distribuer des niveaux de patching différents à différents sous-ensembles de votre parc. Ceci vous permet de facilement mettre en place un processus de validation des mises à jour de sécurité arrivant des dépôts Red Hat ou CentOS, ainsi que de gérer vos propres dépôts internes.
- Puppet est un logiciel Open Source de gestion des configurations qui vous permet de définir de façon centralisée les configurations de vos serveurs et de vous assurer que le parc entier se situe dans l’état voulu. Avec Puppet, vous pouvez aussi visualiser l’état de chaque serveur avec toutes ses caractéristiques.
System Components
Foreman : Foreman est une application open source utilisée pour le provisionnement et la gestion du cycle de vie de systèmes physiques et virtuels. Foreman configure automatiquement ces systèmes à l'aide de diverses méthodes, notamment les modules kickstart et Puppet. Foreman fournit également des données historiques pour la création de rapports, l'audit et le dépannage.
Katello : Katello est un plug-in Foreman pour la gestion des abonnements et des référentiels. Il fournit un moyen de s'abonner aux référentiels et de télécharger du contenu. Vous pouvez créer et gérer différentes versions de ce contenu et les appliquer à des systèmes spécifiques dans le cadre d'étapes du cycle de vie de l'application définies par l'utilisateur.
Candlepin : Candlepin est un service de Katello qui gère la gestion des abonnements.
Pulp : Pulp est un service de Katello qui gère les référentiels et les contenus. Pulp garantit un espace de stockage efficace en ne dupliquant pas les packages RPM, même à la demande des vues de contenu de différentes organisations.
Hammer : Hammer est un outil CLI qui fournit des équivalents de ligne de commande et de shell de la plupart des fonctions de l'interface utilisateur Web.
REST API : La plateforme inclut un service API RESTful qui permet aux administrateurs système et aux développeurs d'écrire des scripts personnalisés et des applications tierces en interface.
Capsule (Smart proxy) : Capsule Server est utilisée pour inclure les datacenters distants dans le processus de gestion. Une instance de Capsule Server est généralement déployée dans chaque datacenter distant pour fédérer les services comme l'approvisionnement, de manière à ce qu'ils puissent être exécutés localement. Capsule Server remplace Spacewalk Proxy.
Hardware Requirements
Katello peut être installé sur un hôte baremetal ou sur un invité virtuel.
Les exigences minimales sont les suivantes:
- 2 processeurs logiques (4 processeurs logiques hautement recommandés)
- 8 GB de memoire (12 GB hautement recommandé)
- 4 GB de swap recommandés (il s'agit d'un minimum)
- Le système de fichiers contenant /var/lib/pulp doit être volumineux, mais peut varier en fonction du nombre de systèmes d'exploitation différents que vous souhaitez synchroniser:
- Allouer 30 Go d'espace pour chaque système d'exploitation. Même si un système d'exploitation peut ne pas occuper autant d'espace maintenant, cela laisse de la place pour les futures mises à jour qui seront synchronisées ultérieurement.
- Le chemin /var/spool/squid/ est utilisé comme emplacement temporaire pour certains types de synchronisation de référentiel et peut atteindre 10 Go d'espace disque avant que les fichiers ne soient migrés vers /var/lib/pulp. Vous voudrez peut-être placer ceci sur la même partition que /var/lib/pulp.
- Le système de fichiers contenant /var/lib/mongodb doit être installé sur une partition d'au moins 4 Go, mais cela dépend du nombre de systèmes d'exploitation que vous souhaitez synchroniser:
- Allouer environ 40% de la capacité donnée au système de fichiers /var/lib/pulp
- Le système de fichiers racine nécessite au moins 20 Go d'espace disque
Software Requirements
DNS resolver
Une fois le système d'exploitation installé, l'administrateur aura besoin d'un accès root pour exécuter le programme d'installation. Une résolution DNS directe et inverse complète du domaine pleinement qualifié nommé de l'hôte est également requise. Les administrateurs doivent également vérifier que le nom d'hôte du système et l'hôte local sont résolus correctement à l'aide des commandes suivantes.
Installation de “epel-release”
[root@foreman ~]# yum install epel-release Modules complémentaires chargés : fastestmirror Determining fastest mirrors * base: distrib-coffee.ipsl.jussieu.fr * extras: mirror.hostup.org * updates: distrib-coffee.ipsl.jussieu.fr base | 3.6 kB 00:00 extras | 2.9 kB 00:00 updates | 2.9 kB 00:00 (1/4): base/7/x86_64/group_gz | 165 kB 00:00 (2/4): extras/7/x86_64/primary_db | 165 kB 00:00 (3/4): base/7/x86_64/primary_db | 6.0 MB 00:00 (4/4): updates/7/x86_64/primary_db | 7.6 MB 00:00 Résolution des dépendances --> Lancement de la transaction de test ---> Le paquet epel-release.noarch 0:7-11 sera installé --> Résolution des dépendances terminée Dépendances résolues ========================================================================== Package Architecture Version Dépôt Taille ========================================================================== Installation : epel-release noarch 7-11 extras 15 k Résumé de la transaction ========================================================================== Installation 1 Paquet Taille totale des téléchargements : 15 k Taille d'installation : 24 k Is this ok [y/d/N]: y Downloading packages: attention : /var/cache/yum/x86_64/7/extras/packages/epel-release-7-11.noarch.rpm: Entête V3 RSA/SHA256 Signature, clé ID f4a80eb5: NOKEY La clé publique pour epel-release-7-11.noarch.rpm n'est pas installée epel-release-7-11.noarch.rpm | 15 kB 00:00 Récupération de la clé à partir de file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 Importation de la clef GPG 0xF4A80EB5 : ID utilisateur : « CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org> » Empreinte : 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5 Paquet : centos-release-7-6.1810.2.el7.centos.x86_64 (@anaconda) Provient de : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 Est-ce correct [o/N] : o Running transaction check Running transaction test Transaction test succeeded Running transaction Installation : epel-release-7-11.noarch 1/1 Vérification : epel-release-7-11.noarch 1/1 Installé : epel-release.noarch 0:7-11 Terminé !
Mise à jour du serveur
[root@foreman ~]# yum -y update Modules complémentaires chargés : fastestmirror Loading mirror speeds from cached hostfile epel/x86_64/metalink | 31 kB 00:00 * base: distrib-coffee.ipsl.jussieu.fr * epel: www.mirrorservice.org * extras: mirror.hostup.org * updates: distrib-coffee.ipsl.jussieu.fr epel | 4.7 kB 00:00 (1/3): epel/x86_64/updateinfo | 1.0 MB 00:00 (2/3): epel/x86_64/group_gz | 95 kB 00:00 (3/3): epel/x86_64/primary_db | 6.8 MB 00:00 (…) Vérification : curl-7.29.0-51.el7.x86_64 329/333 Vérification : 1:iwl1000-firmware-39.31.5.1-69.el7.noarch 330/333 Vérification : ipset-libs-6.38-2.el7.x86_64 331/333 Vérification : grubby-8.28-25.el7.x86_64 332/333 Vérification : diffutils-3.3-4.el7.x86_64 333/333 (...) util-linux.x86_64 0:2.23.2-61.el7_7.1 vim-minimal.x86_64 2:7.4.629-6.el7 xfsprogs.x86_64 0:4.5.0-20.el7 yum.noarch 0:3.4.3-163.el7.centos yum-plugin-fastestmirror.noarch 0:1.1.31-52.el7 Terminé !
Installation de “puppet-release”
[root@foreman ~]# yum -y install https://yum.puppet.com/puppet6-release-el-7.noarch.rpm Modules complémentaires chargés : fastestmirror puppet6-release-el-7.noarch.rpm | 9.6 kB 00:00 Examen de /var/tmp/yum-root-WjbKJg/puppet6-release-el-7.noarch.rpm : puppet6-release-6.0.0-8.el7.noarch Sélection de /var/tmp/yum-root-WjbKJg/puppet6-release-el-7.noarch.rpm pour installation Résolution des dépendances --> Lancement de la transaction de test ---> Le paquet puppet6-release.noarch 0:6.0.0-8.el7 sera installé --> Résolution des dépendances terminée Dépendances résolues ========================================================================== Package Architecture Version Dépôt Taille ========================================================================== Installation : puppet6-release noarch 6.0.0-8.el7 /puppet6-release-el-7.noarch 5.0 k Résumé de la transaction ========================================================================== Installation 1 Paquet Taille totale : 5.0 k Taille d'installation : 5.0 k Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction Installation : puppet6-release-6.0.0-8.el7.noarch 1/1 Vérification : puppet6-release-6.0.0-8.el7.noarch 1/1 Installé : puppet6-release.noarch 0:6.0.0-8.el7 Terminé !
Installation de “foreman-release”
[root@foreman ~]# yum -y install https://yum.theforeman.org/releases/2.0/el7/x86_64/foreman-release.rpm Modules complémentaires chargés : fastestmirror foreman-release.rpm | 7.9 kB 00:00 Examen de /var/tmp/yum-root-WjbKJg/foreman-release.rpm : foreman-release-2.0.0-1.el7.noarch Sélection de /var/tmp/yum-root-WjbKJg/foreman-release.rpm pour installation Résolution des dépendances --> Lancement de la transaction de test ---> Le paquet foreman-release.noarch 0:2.0.0-1.el7 sera installé --> Résolution des dépendances terminée Dépendances résolues ========================================================================== Package Architecture Version Dépôt Taille ========================================================================== Installation : foreman-release noarch 2.0.0-1.el7 /foreman-release 2.3 k Résumé de la transaction ========================================================================== Installation 1 Paquet Taille totale : 2.3 k Taille d'installation : 2.3 k Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction Installation : foreman-release-2.0.0-1.el7.noarch 1/1 Vérification : foreman-release-2.0.0-1.el7.noarch 1/1 Installé : foreman-release.noarch 0:2.0.0-1.el7 Terminé !
[root@foreman ~]# yum -y install foreman-release-scl Modules complémentaires chargés : fastestmirror Loading mirror speeds from cached hostfile * base: distrib-coffee.ipsl.jussieu.fr * epel: ftp.nluug.nl * extras: mirror.hostup.org * updates: distrib-coffee.ipsl.jussieu.fr foreman | 2.9 kB 00:00 foreman-plugins | 2.9 kB 00:00 puppet6 | 2.5 kB 00:00 (1/3): foreman-plugins/x86_64/primary_db | 96 kB 00:00 (2/3): foreman/x86_64/primary_db | 254 kB 00:00 (3/3): puppet6/x86_64/primary_db | 276 kB 00:00 Résolution des dépendances --> Lancement de la transaction de test ---> Le paquet foreman-release-scl.noarch 0:7-2.el7 sera installé --> Traitement de la dépendance : centos-release-scl-rh pour le paquet : foreman-release-scl-7-2.el7.noarch --> Lancement de la transaction de test ---> Le paquet centos-release-scl-rh.noarch 0:2-3.el7.centos sera installé --> Résolution des dépendances terminée Dépendances résolues ========================================================================== Package Architecture Version Dépôt Taille ========================================================================== Installation : foreman-release-scl noarch 7-2.el7 foreman 4.1 k Installation pour dépendances : centos-release-scl-rh noarch 2-3.el7.centos extras 12 k Résumé de la transaction ========================================================================== Installation 1 Paquet (+1 Paquet en dépendance) Taille totale des téléchargements : 16 k Taille d'installation : 20 k Downloading packages: (1/2): centos-release-scl-rh-2-3.el7.centos.noarch.r | 12 kB 00:00 warning: /var/cache/yum/x86_64/7/foreman/packages/foreman-release-scl-7-2.el7.noarch.rpm: Header V4 RSA/SHA256 Signature, key ID 0579baee: NOKEY La clé publique pour foreman-release-scl-7-2.el7.noarch.rpm n'est pas installée (2/2): foreman-release-scl-7-2.el7.noarch.rpm | 4.1 kB 00:00 -------------------------------------------------------------------------- Total 101 kB/s | 16 kB 00:00 Récupération de la clé à partir de file:///etc/pki/rpm-gpg/RPM-GPG-KEY-foreman Importation de la clef GPG 0x0579BAEE : ID utilisateur : « Foreman Automatic Signing Key (2.0) <packages@theforeman.org> » Empreinte : 06ab efe2 6c19 97e0 c9e5 6508 926e a010 0579 baee Paquet : foreman-release-2.0.0-1.el7.noarch (@/foreman-release) Provient de : /etc/pki/rpm-gpg/RPM-GPG-KEY-foreman Running transaction check Running transaction test Transaction test succeeded Running transaction Installation : centos-release-scl-rh-2-3.el7.centos.noarch 1/2 Installation : foreman-release-scl-7-2.el7.noarch 2/2 Vérification : foreman-release-scl-7-2.el7.noarch 1/2 Vérification : centos-release-scl-rh-2-3.el7.centos.noarch 2/2 Installé : foreman-release-scl.noarch 0:7-2.el7 Dépendances installées : centos-release-scl-rh.noarch 0:2-3.el7.centos Terminé !
Vérification des prérequis avant installation
[root@foreman ~]# hostname foreman.tony.lan
[root@foreman ~]# ping $HOSTNAME PING foreman.tony.lan (192.168.1.252) 56(84) bytes of data. 64 bytes from foreman.tony.lan (192.168.1.252): icmp_seq=1 ttl=64 time=0.021 ms 64 bytes from foreman.tony.lan (192.168.1.252): icmp_seq=2 ttl=64 time=0.051 ms 64 bytes from foreman.tony.lan (192.168.1.252): icmp_seq=3 ttl=64 time=0.049 ms ^C --- foreman.tony.lan ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 1999ms rtt min/avg/max/mdev = 0.021/0.040/0.051/0.014 ms
Vérification de l'état de selinux
[root@foreman foreman]# sestatus SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted Current mode: enforcing Mode from config file: enforcing Policy MLS status: enabled Policy deny_unknown status: allowed Max kernel policy version: 31
Vérification de l'état du service “chronyd”
[root@foreman foreman]# date ven. avril 10 23:43:20 CEST 2020
[root@foreman foreman]# rpm -qa |grep chrony chrony-3.4-1.el7.x86_64
[root@foreman foreman]# systemctl status chronyd ● chronyd.service - NTP client/server Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled) Active: active (running) since ven. 2020-04-10 22:20:27 CEST; 1h 23min ago Docs: man:chronyd(8) man:chrony.conf(5) Main PID: 16713 (chronyd) CGroup: /system.slice/chronyd.service └─16713 /usr/sbin/chronyd avril 10 22:20:27 foreman.tony.lan systemd[1]: Starting NTP client/serv... avril 10 22:20:27 foreman.tony.lan chronyd[16713]: chronyd version 3.4 ... avril 10 22:20:27 foreman.tony.lan chronyd[16713]: Frequency 14.981 +/-... avril 10 22:20:27 foreman.tony.lan systemd[1]: Started NTP client/server. avril 10 22:20:37 foreman.tony.lan chronyd[16713]: Selected source 194.... avril 10 22:29:18 foreman.tony.lan chronyd[16713]: Selected source 163.... Hint: Some lines were ellipsized, use -l to show in full.
Ajout des règles firewall
[root@foreman foreman]# firewall-cmd --permanent --add-port=80/tcp success [root@foreman foreman]# firewall-cmd --permanent --add-port=443/tcp success [root@foreman foreman]# firewall-cmd --permanent --add-port=5646/tcp success [root@foreman foreman]# firewall-cmd --permanent --add-port=5647/tcp success [root@foreman foreman]# firewall-cmd --permanent --add-port=5671/tcp success [root@foreman foreman]# firewall-cmd --permanent --add-port=8140/tcp success [root@foreman foreman]# firewall-cmd --permanent --add-port=9090/tcp success [root@foreman foreman]# firewall-cmd --permanent --add-port=53/tcp success [root@foreman foreman]# firewall-cmd --permanent --add-port=67/udp success [root@foreman foreman]# firewall-cmd --permanent --add-port=68/udp success [root@foreman foreman]# firewall-cmd --permanent --add-port=69/udp success [root@foreman foreman]# firewall-cmd --reload success [root@foreman foreman]# firewall-cmd --list-all public (active) target: default icmp-block-inversion: no interfaces: ens192 sources: services: dhcpv6-client ssh ports: 80/tcp 443/tcp 5646/tcp 5647/tcp 5671/tcp 8140/tcp 9090/tcp 53/tcp 67/udp 68/udp 69/udp protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
Installation de “katello”
[root@foreman foreman]# yum -y localinstall https://fedorapeople.org/groups/katello/releases/yum/3.15/katello/el7/x86_64/katello-repos-latest.rpm Modules complémentaires chargés : fastestmirror katello-repos-latest.rpm | 11 kB 00:00 Examen de /var/tmp/yum-root-WjbKJg/katello-repos-latest.rpm : katello-repos-3.15.0-0.3.rc2.el7.noarch Sélection de /var/tmp/yum-root-WjbKJg/katello-repos-latest.rpm pour installation Résolution des dépendances --> Lancement de la transaction de test ---> Le paquet katello-repos.noarch 0:3.15.0-0.3.rc2.el7 sera installé --> Résolution des dépendances terminée Dépendances résolues ========================================================================== Package Architecture Version Dépôt Taille ========================================================================== Installation : katello-repos noarch 3.15.0-0.3.rc2.el7 /katello-repos-latest 1.9 k Résumé de la transaction ========================================================================== Installation 1 Paquet Taille totale : 1.9 k Taille d'installation : 1.9 k Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction Installation : katello-repos-3.15.0-0.3.rc2.el7.noarch 1/1 Vérification : katello-repos-3.15.0-0.3.rc2.el7.noarch 1/1 Installé : katello-repos.noarch 0:3.15.0-0.3.rc2.el7 Terminé !
Création du FS “/var/lib/pulp” et ajout dans la fstab
[root@foreman foreman]# df -h Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur devtmpfs 3,9G 0 3,9G 0% /dev tmpfs 3,9G 0 3,9G 0% /dev/shm tmpfs 3,9G 8,9M 3,9G 1% /run tmpfs 3,9G 0 3,9G 0% /sys/fs/cgroup /dev/mapper/centos-root 50G 1,5G 49G 3% / /dev/sda1 1014M 175M 840M 18% /boot /dev/mapper/centos-home 50G 33M 50G 1% /home tmpfs 783M 0 783M 0% /run/user/0
[root@foreman foreman]# mkdir -p /var/lib/pulp
[root@foreman foreman]# vgs VG #PV #LV #SN Attr VSize VFree centos 2 3 0 wz--n- 298,99g <191,12g
[root@foreman foreman]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert home centos -wi-ao---- 50,00g root centos -wi-ao---- 50,00g swap centos -wi-ao---- <7,88g
[root@foreman foreman]# lvcreate -l 100%FREE -n pulp centos Logical volume "pulp" created.
[root@foreman foreman]# mkfs.xfs /dev/mapper/centos- centos-home centos-pulp centos-root centos-swap
[root@foreman foreman]# mkfs.xfs /dev/mapper/centos-pulp meta-data=/dev/mapper/centos-pulp isize=512 agcount=4, agsize=12525056 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=50100224, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=24463, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0
[root@foreman foreman]# cat /etc/fstab |grep pulp /dev/mapper/centos-pulp /var/lib/pulp xfs defaults 0 0
[root@foreman foreman]# mount -a
[root@foreman foreman]# df -h |grep -i pulp /dev/mapper/centos-pulp 192G 33M 191G 1% /var/lib/pulp
Installation de “katello”
[root@foreman foreman]# yum -y install katello Modules complémentaires chargés : fastestmirror Loading mirror speeds from cached hostfile * base: distrib-coffee.ipsl.jussieu.fr * centos-sclo-rh: mirror.hostup.org * epel: mirrors.coreix.net * extras: mirror.hostup.org * updates: distrib-coffee.ipsl.jussieu.fr centos-sclo-rh | 3.0 kB 00:00 katello | 3.6 kB 00:00 katello-candlepin | 3.6 kB 00:00 katello-pulpcore | 3.6 kB 00:00 pulp | 3.6 kB 00:00 (...) xalan-j2.noarch 0:2.7.1-23.el7 xerces-j2.noarch 0:2.11.0-17.el7_0 xml-commons-apis.noarch 0:1.4.01-16.el7 xml-commons-resolver.noarch 0:1.2-15.el7 xorg-x11-font-utils.x86_64 1:7.5-21.el7 xorg-x11-fonts-Type1.noarch 0:7.5-9.el7 zip.x86_64 0:3.0-11.el7 Terminé !
[root@foreman foreman]# foreman-installer --scenario katello --foreman-initial-admin-username admin --foreman-initial-admin-password YOUR_FOREMAN_PASSWORD le paquet puppet-agent-oauth n'est pas installé Preparing installation Done Success! * Foreman is running at https://foreman.tony.lan Initial credentials are admin / YOUR_FOREMAN_PASSWORD * To install an additional Foreman proxy on separate machine continue by running: foreman-proxy-certs-generate --foreman-proxy-fqdn "$FOREMAN_PROXY" --certs-tar "/root/$FOREMAN_PROXY-certs.tar" * Foreman Proxy is running at https://foreman.tony.lan:9090 The full log is at /var/log/foreman-installer/katello.log
[root@foreman foreman]# /opt/puppetlabs/bin/puppet agent --test Info: Using configured environment 'production' Info: Retrieving pluginfacts Info: Retrieving plugin Info: Retrieving locales Info: Caching catalog for foreman.tony.lan Info: Applying configuration version '1586559713' Notice: Applied catalog in 0.47 seconds
Création du fichier qui contiendra les credentials de foreman
[root@foreman ~]# cat ~/.hammer/cli.modules.d/foreman.yml :foreman: :host: 'foreman.tony.lan' :username: 'admin' :password: 'YOUR_FOREMAN_PASSWORD'
[root@foreman ~]# ls -la total 36 dr-xr-x---. 8 root root 232 11 avril 01:03 . dr-xr-xr-x. 17 root root 224 10 avril 17:07 .. -rw-------. 1 root root 1650 10 avril 17:08 anaconda-ks.cfg -rw-------. 1 root root 121 10 avril 17:20 .bash_history -rw-r--r--. 1 root root 18 29 déc. 2013 .bash_logout -rw-r--r--. 1 root root 176 29 déc. 2013 .bash_profile -rw-r--r--. 1 root root 176 29 déc. 2013 .bashrc drwxr-xr-x. 3 root root 29 11 avril 01:03 .cache -rw-r--r--. 1 root root 100 29 déc. 2013 .cshrc drwxr-xr-x. 2 root root 27 10 avril 23:51 foreman drwx------. 4 root root 38 11 avril 01:03 .hammer drwxr-----. 3 root root 19 10 avril 22:18 .pki -rw-------. 1 root root 1024 11 avril 00:23 .rnd drwx------. 2 root root 29 10 avril 21:52 .ssh drwx------. 3 root root 4096 11 avril 00:44 ssl-build -rw-r--r--. 1 root root 129 29 déc. 2013 .tcshrc
Création de l'organisation
[root@foreman ~]# hammer organization create --name TONY.LAN --label "TONY" --description "TONY.LAN ORGANIZATION" Organization created.
[root@foreman ~]# hammer organization list ---|----------------------|----------------------|-----------------------|--------------------- ID | TITLE | NOM | DESCRIPTION | LABEL ---|----------------------|----------------------|-----------------------|--------------------- 1 | Default Organization | Default Organization | | Default_Organization 4 | TONY.LAN | TONY.LAN | TONY.LAN ORGANIZATION | TONY_ORGANIZATION ---|----------------------|----------------------|-----------------------|---------------------
Ajout de l'organisation “TONY.LAN” en tant qu'organisation par défaut
[root@foreman ~]# hammer defaults add --param-name organization_id --param-value 4 A ajouté l'option par défaut organization_id default-option avec la valeur 4.
Création de la localisation
[root@foreman ~]# hammer location create --name "LISSES" --description "LISSES CITY" Location created.
[root@foreman ~]# hammer location list ---|------------------|------------------|------------ ID | TITLE | NOM | DESCRIPTION ---|------------------|------------------|------------ 2 | Default Location | Default Location | 5 | LISSES | LISSES | LISSES CITY ---|------------------|------------------|------------
Association de la localisation créée à l'organisation précédemment créée
[root@foreman ~]# hammer location add-organization --name "LISSES" --organization "TONY.LAN" The organization has been associated.
Ajout de la localisation “LISSES” en tant que localisation par défaut
[root@foreman ~]# hammer defaults add --param-name location_id --param-value 5 A ajouté l'option par défaut location_id default-option avec la valeur 5.
[root@foreman ~]# hammer defaults list ----------------|------- PARAMÈTRE | VALEUR ----------------|------- organization_id | 4 location_id | 5 ----------------|-------
Vérification des temps de réponse des différents composants de son foreman
[root@foreman ~]# hammer ping database: Status: ok Server Response: Duration: 0ms candlepin: Status: ok Server Response: Duration: 280ms candlepin_auth: Status: ok Server Response: Duration: 17ms pulp: Status: ok Server Response: Duration: 95ms pulp_auth: Status: ok Server Response: Duration: 129ms foreman_tasks: Status: ok Server Response: Duration: 5ms
Création des produits “CentOS 7” et “CentOS 8”
[root@foreman import]# hammer product create --organization-id 4 --name "CentOS 7 Linux for x86_64" --description "Repositories to use with CentOS 7 Linux" Product created.
[root@foreman import]# hammer product create --organization-id 4 --name "CentOS 8 Linux for x86_64" --description "Repositories to use with CentOS 8 Linux" Product created.
[root@foreman import]# hammer product list ---|---------------------------|-----------------------------------------|--------------|--------------|----------- ID | NOM | DESCRIPTION | ORGANIZATION | REPOSITORIES | SYNC STATE ---|---------------------------|-----------------------------------------|--------------|--------------|----------- 1 | CentOS 7 Linux for x86_64 | Repositories to use with CentOS 7 Linux | TONY.LAN | 0 | 2 | CentOS 8 Linux for x86_64 | Repositories to use with CentOS 8 Linux | TONY.LAN | 0 | ---|---------------------------|-----------------------------------------|--------------|--------------|-----------
Création des produits “Epel 7” et “Epel 8”
[root@foreman import]# hammer product create --organization-id 4 --name "EPEL 7 Linux for x86_64" --description "EPEL repository to use with CentOS 7 Linux" Product created.
[root@foreman import]# hammer product create --organization-id 4 --name "EPEL 8 Linux for x86_64" --description "EPEL repository to use with CentOS 8 Linux" Product created.
[root@foreman import]# hammer product list ---|---------------------------|--------------------------------------------|--------------|--------------|----------- ID | NOM | DESCRIPTION | ORGANIZATION | REPOSITORIES | SYNC STATE ---|---------------------------|--------------------------------------------|--------------|--------------|----------- 1 | CentOS 7 Linux for x86_64 | Repositories to use with CentOS 7 Linux | TONY.LAN | 0 | 2 | CentOS 8 Linux for x86_64 | Repositories to use with CentOS 8 Linux | TONY.LAN | 0 | 3 | EPEL 7 Linux for x86_64 | EPEL repository to use with CentOS 7 Linux | TONY.LAN | 0 | 4 | EPEL 8 Linux for x86_64 | EPEL repository to use with CentOS 8 Linux | TONY.LAN | 0 | ---|---------------------------|--------------------------------------------|--------------|--------------|-----------
Téléchargement des clés GPS des produits précédemment créées “CentOS 7”, “CentOS 8”, “Epel 7” et “Epel 8”
[root@foreman import]# wget https://www.centos.org/keys/RPM-GPG-KEY-CentOS-Official --2020-04-11 11:40:24-- https://www.centos.org/keys/RPM-GPG-KEY-CentOS-Official Résolution de www.centos.org (www.centos.org)... 81.171.33.201, 81.171.33.202, 2001:4de0:aaae::201, ... Connexion vers www.centos.org (www.centos.org)|81.171.33.201|:443...connecté. requête HTTP transmise, en attente de la réponse...200 OK Longueur: 1683 (1,6K) Sauvegarde en : «RPM-GPG-KEY-CentOS-Official» 100%[============================================================================================================>] 1 683 --.-K/s ds 0s 2020-04-11 11:40:24 (68,8 MB/s) - «RPM-GPG-KEY-CentOS-Official» sauvegardé [1683/1683]
[root@foreman import]# wget https://www.centos.org/keys/RPM-GPG-KEY-CentOS-7 --2020-04-11 11:55:03-- https://www.centos.org/keys/RPM-GPG-KEY-CentOS-7 Résolution de www.centos.org (www.centos.org)... 81.171.33.201, 81.171.33.202, 2001:4de0:aaae::201, ... Connexion vers www.centos.org (www.centos.org)|81.171.33.201|:443...connecté. requête HTTP transmise, en attente de la réponse...200 OK Longueur: 1690 (1,7K) Sauvegarde en : «RPM-GPG-KEY-CentOS-7» 100%[============================================================================================================>] 1 690 --.-K/s ds 0s 2020-04-11 11:55:03 (153 MB/s) - «RPM-GPG-KEY-CentOS-7» sauvegardé [1690/1690]
[root@foreman import]# wget https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-8 --2020-04-11 11:48:03-- https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-8 Résolution de dl.fedoraproject.org (dl.fedoraproject.org)... 209.132.181.24, 209.132.181.25, 209.132.181.23 Connexion vers dl.fedoraproject.org (dl.fedoraproject.org)|209.132.181.24|:443...connecté. requête HTTP transmise, en attente de la réponse...200 OK Longueur: 1627 (1,6K) Sauvegarde en : «RPM-GPG-KEY-EPEL-8» 100%[============================================================================================================>] 1 627 --.-K/s ds 0s 2020-04-11 11:48:03 (61,4 MB/s) - «RPM-GPG-KEY-EPEL-8» sauvegardé [1627/1627]
[root@foreman import]# wget https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-7 --2020-04-11 11:47:54-- https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-7 Résolution de dl.fedoraproject.org (dl.fedoraproject.org)... 209.132.181.25, 209.132.181.24, 209.132.181.23 Connexion vers dl.fedoraproject.org (dl.fedoraproject.org)|209.132.181.25|:443...connecté. requête HTTP transmise, en attente de la réponse...200 OK Longueur: 1662 (1,6K) Sauvegarde en : «RPM-GPG-KEY-EPEL-7» 100%[============================================================================================================>] 1 662 --.-K/s ds 0s 2020-04-11 11:47:55 (138 MB/s) - «RPM-GPG-KEY-EPEL-7» sauvegardé [1662/1662]
[root@foreman import]# ll total 16 -rw-r--r--. 1 root root 1690 12 sept. 2019 RPM-GPG-KEY-CentOS-7 -rw-r--r--. 1 root root 1683 12 sept. 2019 RPM-GPG-KEY-CentOS-Official -rw-r--r--. 1 root root 1662 20 juin 2014 RPM-GPG-KEY-EPEL-7 -rw-r--r--. 1 root root 1627 1 août 2019 RPM-GPG-KEY-EPEL-8
Renommage de la clé GPG “OFFICIAL” en “CENTOS-8”
[root@foreman import]# mv RPM-GPG-KEY-CentOS-Official RPM-GPG-KEY-CentOS-8
[root@foreman import]# ll total 20 -rw-r--r--. 1 root root 1690 12 sept. 2019 RPM-GPG-KEY-CentOS-7 -rw-r--r--. 1 root root 1683 12 sept. 2019 RPM-GPG-KEY-CentOS-8 -rw-r--r--. 1 root root 1662 20 juin 2014 RPM-GPG-KEY-EPEL-7 -rw-r--r--. 1 root root 1627 1 août 2019 RPM-GPG-KEY-EPEL-8
Création des content credentials pour “CentOS 7”, “CentOS 8”, “Epel 7” et “Epel 8”
Les content credentials sont utilisés pour stocker les informations d'identification telles que les clés GPG et les certificats pour l'authentification aux produits et référentiels.
[root@foreman import]# hammer content-credentials create --content-type "gpg_key" --organization-id 4 --key "RPM-GPG-KEY-CentOS-7" --name "RPM-GPG-KEY-CentOS-7" Content credential created.
[root@foreman import]# hammer content-credentials create --content-type "gpg_key" --organization-id 4 --key "RPM-GPG-KEY-CentOS-8" --name "RPM-GPG-KEY-CentOS-8" Content credential created.
[root@foreman import]# hammer content-credentials create --content-type "gpg_key" --organization-id 4 --key "RPM-GPG-KEY-EPEL-7" --name "RPM-GPG-KEY-EPEL-7" Content credential created.
[root@foreman import]# hammer content-credentials create --content-type "gpg_key" --organization-id 4 --key "RPM-GPG-KEY-EPEL-8" --name "RPM-GPG-KEY-EPEL-8" Content credential created.
Création des repos pour “CentOS 8”
BaseOS_repo
[root@foreman import]# hammer repository create --organization-id 4 --product "CentOS 8 Linux for x86_64" --name "CentOS 8 Base RPMS" --label "CentOS_8_Base_RPMS" --content-type "yum" --download-policy "on_demand" --gpg-key "RPM-GPG-KEY-CentOS-8" --url "http://ftp.pasteur.fr/mirrors/CentOS/8/BaseOS/x86_64/os/" --mirror-on-sync "yes" Repository created.
AppStream_repo
[root@foreman import]# hammer repository create --organization-id 4 --product "CentOS 8 Linux for x86_64" --name "CentOS 8 AppStream RPMS" --label "CentOS_8_AppStream_RPMS" --content-type "yum" --download-policy "on_demand" --gpg-key "RPM-GPG-KEY-CentOS-8" --url "http://ftp.pasteur.fr/mirrors/CentOS/8/AppStream/x86_64/os/" --mirror-on-sync "yes" Repository created.
PowerTools_repo
[root@foreman import]# hammer repository create --organization-id 4 --product "CentOS 8 Linux for x86_64" --name "CentOS 8 PowerTools RPMS" --label "CentOS_8_PowerTools_RPMS" --content-type "yum" --download-policy "on_demand" --gpg-key "RPM-GPG-KEY-CentOS-8" --url "http://ftp.pasteur.fr/mirrors/CentOS/8/PowerTools/x86_64/os/" --mirror-on-sync "yes" Repository created.
Centosplus_repo
[root@foreman import]# hammer repository create --organization-id 4 --product "CentOS 8 Linux for x86_64" --name "CentOS 8 centosplus RPMS" --label "CentOS_8_centosplus_RPMS" --content-type "yum" --download-policy "on_demand" --gpg-key "RPM-GPG-KEY-CentOS-8" --url "http://ftp.pasteur.fr/mirrors/CentOS/8/centosplus/x86_64/os/" --mirror-on-sync "yes" Repository created.
Extras_repo
[root@foreman import]# hammer repository create --organization-id 4 --product "CentOS 8 Linux for x86_64" --name "CentOS 8 extras RPMS" --label "CentOS_8_extras_RPMS" --content-type "yum" --download-policy "on_demand" --gpg-key "RPM-GPG-KEY-CentOS-8" --url "http://ftp.pasteur.fr/mirrors/CentOS/8/extras/x86_64/os/" --mirror-on-sync "yes" Repository created.
Liste des repos du produit “CentOS 8 Linux for x86_64”
[root@foreman import]# hammer repository list --organization-id 4 --product "CentOS 8 Linux for x86_64" ---|--------------------------|---------------------------|--------------|------------------------------------------------------------- ID | NOM | PRODUCT | CONTENT TYPE | URL ---|--------------------------|---------------------------|--------------|------------------------------------------------------------- 2 | CentOS 8 AppStream RPMS | CentOS 8 Linux for x86_64 | yum | http://ftp.pasteur.fr/mirrors/CentOS/8/AppStream/x86_64/os/ 1 | CentOS 8 Base RPMS | CentOS 8 Linux for x86_64 | yum | http://ftp.pasteur.fr/mirrors/CentOS/8/BaseOS/x86_64/os/ 4 | CentOS 8 centosplus RPMS | CentOS 8 Linux for x86_64 | yum | http://ftp.pasteur.fr/mirrors/CentOS/8/centosplus/x86_64/os/ 5 | CentOS 8 extras RPMS | CentOS 8 Linux for x86_64 | yum | http://ftp.pasteur.fr/mirrors/CentOS/8/extras/x86_64/os/ 3 | CentOS 8 PowerTools RPMS | CentOS 8 Linux for x86_64 | yum | http://ftp.pasteur.fr/mirrors/CentOS/8/PowerTools/x86_64/os/ ---|--------------------------|---------------------------|--------------|-------------------------------------------------------------
SUITE DE LA DOC A VENIR AVEC LES EXPLICATIONS…