V dnešní době v oblasti IT je automatizace žhavým tématem a každá organizace začíná přijímat automatizační nástroje, jako je Puppet , Ansible , Šéfkuchař , CFEngine , Předák a Katello . Z těchto nástrojů je Ansible první volbou téměř všech IT organizací pro správu systémů UNIX a Linux. V tomto článku si ukážeme, jak nainstalovat a používat nástroj ansible na Debian 10 Sever.
Podrobnosti o mé laboratoři:
- Debian 10 – Ansible Server/Uzel řadiče – 192.168.1.14
- CentOS 7 – Ansible Host (webový server) – 192.168.1.15
- CentOS 7 – Ansible Host (DB Server) – 192.169.1.17
Také si ukážeme, jak lze linuxové servery spravovat pomocí Ansible Server
Povolená instalace na serveru Debian 10
Předpokládám, že ve vašem systému Debian 10 máte uživatele, který má práva root nebo práva sudo. V mém nastavení mám místního uživatele s názvem „pkumar“ s právy sudo.
Balíčky Ansible 2.7 jsou dostupné ve výchozích repozitářích Debian 10, spusťte z příkazového řádku následující příkazy a nainstalujte Ansible,
$ sudo apt update$ sudo apt install ansible -y
Spusťte níže uvedený příkaz k ověření ansible verze,
[e-mail chráněný]:~$ sudo ansible --version
Chcete-li nainstalovat nejnovější verzi Ansible 2.8, musíme nejprve nastavit úložiště Ansible.
Proveďte následující příkazy jeden po druhém,
$ echo "deb http://ppa.launchpad.net/ansible/ansible/ubuntu bionic main" \ | sudo tee -a /etc/apt/sources.list$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367$ sudo apt update$ sudo apt install ansible -y$ sudo ansible --version
Správa serverů Linux pomocí Ansible
Chcete-li spravovat servery podobné Linuxu pomocí uzlu řadiče Ansible, postupujte podle následujících kroků,
Krok:1) Vyměňte si klíče SSH mezi serverem Ansible a jeho hostiteli
Vygenerujte klíče ssh ze serveru ansible a sdílejte klíče mezi hostiteli ansible
$ sudo -i# ssh-keygen# ssh-copy-id [e-mail chráněný]# ssh-copy-id [e-mail chráněný]Krok:2) Vytvořte soubor inventáře Ansible Hosts
Po instalaci ansible se automaticky vytvoří soubor /etc/hosts, v tomto souboru můžeme zmínit ansible hostitele nebo jeho klienty. Můžeme také vytvořit vlastní soubor inventáře hostitele v našem domovském adresáři
Přečtěte si více o:Jak spravovat Ansible statický a dynamický inventář hostitelů
Spusťte níže uvedený příkaz a vytvořte inventář ansible hostitelů v našem domovském adresáři
[e-mail chráněný]:~$ vi $HOME/hosts[Web]192.168.1.15[DB]192.168.1.17Uložte a ukončete soubor
Poznámka: Ve výše uvedeném souboru hostitelů můžeme také použít název hostitele nebo FQDN, ale k tomu se musíme ujistit, že ansible hostitelé jsou dosažitelní a přístupní podle názvu hostitele nebo fqdn.
Krok:3) Otestujte a použijte výchozí dostupné moduly
Ansible přichází s mnoha výchozími moduly, které lze použít v příkazu ansible, příklady jsou uvedeny níže,
Syntaxe:
# ansible -i
-m Kde:
- -i ~/hosts :obsahuje seznam dostupných hostitelů
- -m: za -m zadejte modul ansible jako ping &shell
: Ansible hostitelé, kde chceme spouštět moduly ansible
Ověřte připojení ping pomocí modulu ansible ping
$ sudo ansible -i ~/hosts -m ping all$ sudo ansible -i ~/hosts -m ping Web$ sudo ansible -i ~/hosts -m ping DB
Výstup výše uvedených příkazů by byl něco jako níže:
Spouštění příkazů shellu na ansible hostitelích pomocí modulu shell
Syntaxe: # ansible -i
Příklad:
Výše uvedený výstup příkazů potvrzuje, že jsme úspěšně nastavili ansible controller node
Pojďme vytvořit ukázkovou instalační příručku NGINX, níže uvedená příručka nainstaluje nginx na všechny servery, které jsou součástí webové hostitelské skupiny, ale v mém případě mám pod touto hostitelskou skupinou jeden počítač centos 7.
Nyní spusťte playbook pomocí následujícího příkazu,
výstup příkazu výše by byl něco jako níže,
To potvrzuje, že Ansible playbook byl úspěšně proveden, to je vše z článku, podělte se prosím o své názory a komentáře.[e-mail chráněný]:~$ sudo ansible -i ~/hosts -m shell -a "uptime" all192.168.1.17 | ZMĚNĚNO | rc=0>> 01:48:34 nahoru 1:07, 3 uživatelé, průměrná zátěž:0,00, 0,01, 0,05192.168.1.15 | ZMĚNĚNO | rc=0>> 01:48:39 nahoru 1:07, 3 uživatelé, průměrné zatížení:0,00, 0,01, 0,04[e-mail chráněný]:~$[e-mail chráněný]:~$ sudo ansible -i ~/hosts -m shell -a "uptime; \ df -Th /; uname -r" Web192.168.1.15 | ZMĚNĚNO | rc=0>> 01:52:03 nahoru 1:11, 3 uživatelé, průměrná zátěž:0,12, 0,07, 0,06Systém souborů Typ Velikost Využito Dostupnost % Namontováno na/dev/mapper/centos-root / centos-root / centos-root / centos-root / centos-root / centos-root / centos-root xfs 10 3.10.0-327.el7.x86_64[e-mail chráněný]:~$
[chráněno e-mailem]:~$ vi nginx.yaml---- hostitelé:Webové úlohy: - název:Instalace nejnovější verze nginx na CentOS 7 Server yum:name=nginx state=latest - name:start nginx service:jméno:nginx stav:spuštěno
[e-mail chráněný]:~$ sudo ansible-playbook -i ~/hosts nginx.yaml