Foreman je bezplatný a open source konfigurační a zřizovací nástroj, který lze nainstalovat na systémy Red Hat, CentOS, Scientific Linux, Debian a Ubuntu. S nástrojem Forman můžeme snadno zřídit virtuální stroje a servery na bázi kovu a poté nakonfigurovat nainstalované systémy pomocí konfiguračních nástrojů jako Puppet a Ansible. Kdykoli nainstalujeme Foreman server, automaticky na něj nainstaluje Puppet master.
S pomocí grafického uživatelského rozhraní Foreman mohou správci systému aplikovat specifické loutkové moduly na registrované servery pro provádění opakujících se úkolů a mohou také snadno automatizovat úkoly každodenního provozu.
V tomto tutoriálu si projdeme kroky instalace Foremana 1.16 na Debian 9 a Ubuntu 16.04 Server.
Níže jsou uvedeny minimální systémové požadavky pro server Foreman:
- 4 GB RAM (pokud je Puppet Master nainstalován na stejném serveru předáka)
- 2jádrový procesor
- Čerstvě nainstalovaný Debian 9 / Ubuntu 16.04
Níže jsou podrobnosti o nastavení mé laboratoře pro foreman Server
- IP adresa serveru Foreman je „192.168.1.20“
- Název hostitele serveru Foreman „foreman.linuxtechi.com“
- Puppet Master 5 bude nainstalován na Foreman server
- OS:Debian 9 / Ubuntu 16.04 LTS Server
Pojďme se přihlásit do systému Debian 9 / Ubuntu 16.04 LTS
Krok:1) Nakonfigurujte název hostitele a aktualizujte jeho položky v souboru hostitelů
Použijte příkaz systemctl ke konfiguraci názvu hostitele vašeho systému.
$ sudo hostnamectl set-hostname "foreman.linuxtechi.com" $ exec bash
Aktualizujte položky názvu hostitele vašeho systému v souboru /etc/hosts.
192.168.1.20 foreman.linuxtechi.com foreman
Krok:2) Povolte požadovaná úložiště pro Foreman &Puppet
Pro systém Debian 9:
Povolte úložiště Puppet 5 pomocí níže uvedených příkazů
[email protected]:~$ sudo apt-get -y install ca-certificates [email protected]:~$ wget https://apt.puppetlabs.com/puppet5-release-stretch.deb [email protected]:~$ sudo dpkg -i puppet5-release-stretch.deb
Povolte úložiště Foreman 1.16 pomocí níže uvedených příkazů
[email protected]:~$ echo "deb http://deb.theforeman.org/ stretch 1.16" | sudo tee /etc/apt/sources.list.d/foreman.list [email protected]:~$ echo "deb http://deb.theforeman.org/ plugins 1.16" | sudo tee -a /etc/apt/sources.list.d/foreman.list li[email protected]:~$ wget -q https://deb.theforeman.org/pubkey.gpg -O- | sudo apt-key add - OK [email protected]:~$
Pro systém Ubuntu 16.04 LTS
Povolit úložiště Puppet 5
[email protected]:~$ sudo apt-get -y install ca-certificates [email protected]:~$ wget https://apt.puppetlabs.com/puppet5-release-xenial.deb [email protected]:~$ sudo dpkg -i puppet5-release-xenial.deb
Povolit úložiště Foreman 1.16
[email protected]:~$ echo "deb http://deb.theforeman.org/ xenial 1.16" | sudo tee /etc/apt/sources.list.d/foreman.list [email protected]:~$ echo "deb http://deb.theforeman.org/ plugins 1.16" | sudo tee -a /etc/apt/sources.list.d/foreman.list [email protected]:~$ wget -q https://deb.theforeman.org/pubkey.gpg -O- | sudo apt-key add - OK [email protected]:~$
Krok:3) Stáhněte si „foreman-installer“ pomocí příkazu apt-get
Spusťte příkaz beneath a nainstalujte foreman-installer,
[email protected]:~$ sudo apt-get update && sudo apt-get -y install foreman-installer
Foreman-installer je instalační nástroj pro foremana.
Krok:4) Nainstalujte Foreman pomocí „foreman-installer“
Spusťte příkaz foreman-installer pro instalaci serveru foreman, ve výchozím nastavení foreman installer nainstaluje a nakonfiguruje následující součásti:
- Webové uživatelské rozhraní Foreman (Apache HTTP s SSL)
- Inteligentní proxy
- Puppet Master
- loutkový agent
- Server TFTP
[email protected]:~$ sudo foreman-installer --foreman-admin-username admin --foreman-admin-password "[email protected]#"
Jakmile je instalace úspěšně dokončena, dostaneme výstup něco jako níže:
V případě, že je na vašem systému povolen a spuštěn firewall operačního systému, otevřete následující porty pro server foreman
[email protected]:~$ sudo ufw allow 53/tcp Rule added Rule added (v6) [email protected]:~$ sudo ufw allow 67:69/tcp Rule added Rule added (v6) [email protected]:~$ sudo ufw allow 80/tcp Rule added Rule added (v6) [email protected]:~$ sudo ufw allow 443/tcp Rule added Rule added (v6) [email protected]:~$ sudo ufw allow 3000/tcp Rule added Rule added (v6) [email protected]:~$ sudo ufw allow 3306/tcp Rule added Rule added (v6) [email protected]:~$ sudo ufw allow 5910:5930/tcp Rule added Rule added (v6) [email protected]:~$ sudo ufw allow 5432/tcp Rule added Rule added (v6) [email protected]:~$ sudo ufw allow 8140/tcp Rule added Rule added (v6) [email protected]:~$ sudo ufw allow 8443/tcp Rule added Rule added (v6) [email protected]:~$
Poznámka: V mém případě při instalaci foremana se mi zobrazila tato chyba „Chyba při provádění SQL; psql vrátil pid 32532 exit 1:'CHYBA: neplatný název národního prostředí:„en_US.utf8“, tuto chybu jsem vyřešil provedením níže uvedeného příkazu:
[email protected]:~$ sudo dpkg-reconfigure locales
Vyberte „cs_US.UTF-8 UTF-8 ” a poté vyberte OK a restartujte počítač a poté znovu spusťte příkaz foreman-installer.
Krok:5) Přístup k webovému uživatelskému rozhraní Foreman
K webovému uživatelskému rozhraní Foreman můžeme přistupovat pomocí následující adresy URL:
https://{Foreman_Server_IP}
nebo
https://{Hostname_Foreman_Server}
Použijte uživatelské jméno jako „admin“ a heslo, které zadáme v příkazu foreman-installer,
Přejděte na Hostitelé Karta –> Klikněte na „Všichni hostitelé “
V současné době je registrován pouze jeden hostitel, tedy náš server foremana. Kdykoli zaregistrujeme nové servery předákovi, budou zde tyto servery uvedeny. Kromě toho je ve výchozím nastavení vytvořeno také produkční prostředí a všechny servery budou zaregistrovány do výchozího prostředí. Z uživatelského rozhraní Foreman si můžete vytvořit svá prostředí, která vyhovují vaší organizaci.
Stáhněte a importujte NTP loutkový modul na Foreman Server
Pomocí níže uvedeného příkazu si stáhněte modul ntp puppet z „forge.puppet.com“
[email protected]:~$ sudo su - [email protected]:~# puppet module install puppetlabs-ntp -i /etc/puppetlabs/code/modules/
Získáme výstup něco jako níže:
Importujte nainstalovaný modul NTP do řídicího panelu mistra
Na hlavním panelu přejděte na Konfigurovat Karta –> Vyberte Loutka –> Třídy , Klikněte na Import
Vyberte prostředí, do kterých chcete tento modul připojit, v mém případě jej připojím k produkci a vývoji.
Klikněte na Aktualizovat,
Dostaneme další okno něco jako níže:
Zaregistrujeme hostitele CentOS 7 do řídicího panelu mistra a poté k němu připojíme modul ntp,
Registrace serveru CentOS 7
Přihlaste se do systému a povolte repozitář puppetlabs yum a poté nainstalujte balíček loutek
[[email protected] ~]# yum install https://yum.puppetlabs.com/puppet5/puppet5-release-el-7.noarch.rpm -y [[email protected] ~]# yum install puppet -y
Poznámka: V případě, že nemáte DNS server, přidejte položky do souboru hosts, V mém případě jsem přidal následující řádky do souboru /etc/hosts
192.168.1.20 foreman.linuxtechi.com 192.168.1.2 mx2.linuxtechi.com
Spusťte níže uvedený příkaz ze serveru centos 7 a zaregistrujte tento stroj na řídicím panelu loutkového mistra a mistra.
[[email protected] ~]# /opt/puppetlabs/bin/puppet agent -td --server=foreman.linuxtechi.com
Získáte výstup příkazu něco jako níže:
…………………………………………………… Debug: Finishing transaction 22347940 Info: Creating a new SSL key for mx2.linuxtechi.com Info: Caching certificate for ca Info: csr_attributes file loading from /etc/puppet/csr_attributes.yaml Info: Creating a new SSL certificate request for mx2.linuxtechi.com Info: Certificate Request fingerprint (SHA256): A4:D3:15:0D:8D:10:48:93:96:1D:E4:61:5F:F7:F6:B4:CB:C2:01:F4:4C:02:99:37:03:2C:9E:24:0E:30:CF:CC Debug: Using cached certificate for ca Info: Caching certificate for ca Debug: Using cached certificate_request for mx2.linuxtechi.com Debug: Using cached certificate for ca Debug: Using cached certificate for ca Exiting; no certificate found and waitforcert is disabled [[email protected] ~]#
To znamená, že musíme ručně podepsat certifikát serveru CentOS 7 ze stroje mistra. Chcete-li podepsat certifikát z řídicího panelu mistra, postupujte podle níže uvedených kroků
Z Infrastruktura Karta –> Vyberte Inteligentní proxy a poté klikněte na Upravit a vyberte „Certifikáty “
Nyní podepište certifikát počítače, jehož stav čeká na vyřízení, příklad je uveden níže:
Klikněte na podepsat
Konfigurace automatického podpisu podle níže uvedených kroků
Z Infrastruktura Karta –> Vyberte Inteligentní proxy a poté klikněte na Upravit a vyberte „Automatický podpis “
Vytvořte položku automatického podepisování a zadejte název domény, pro kterou má předák automaticky podepisovat certifikáty
Klikněte na Uložit . Kdykoli bude příště jakýkoli server z domény „linuxtechi.com“ registrován na serveru Foreman, automaticky se podepíše,
Nyní znovu přejděte na server CentOS 7 a znovu spusťte příkaz loutkového agenta, tentokrát by měl být příkaz úspěšně proveden,
[[email protected] ~]# /opt/puppetlabs/bin/puppet agent -td --server=foreman.linuxtechi.com
Ověřte hostitele na hlavním panelu, z Hostitelů Karta –> Vyberte „Všichni hostitelé “, zde bude náš nově registrovaný hostitel (CentOS 7 Server)
Připojte modul NTP k nově registrovanému serveru (mx2.linuxtechi.com), vyberte hostitele a klikněte na Upravit a poté přejděte na „Třídy loutek ” Tab
Klikněte na ‘+‘ podepište se před ntp pro přidání modulu a poté klikněte na „Odeslat ‘
Přejděte na CentOS7 Server a znovu spusťte příkaz puppet agent, tentokrát nakonfiguruje ntp na vašem serveru CentOS 7.
[[email protected] puppet]# /opt/puppetlabs/bin/puppet agent -td --server=foreman.linuxtechi.com
Výstup výše uvedeného příkazu bude něco jako níže:
To potvrzuje, že server CentOS 7 se úspěšně zaregistroval a nakonfiguroval prostřednictvím serveru foreman. To také uzavírá článek, podělte se prosím o své komentáře v sekci komentářů níže.
Přečtěte si více o „Bare metal a Virtual Machine Provisioning prostřednictvím Foreman Server “