[[oktatas:linux:konfiguraciokezeles:ansible|< Ansible]]
====== Ansible használata gépeken ======
* **Szerző:** Sallai András
* Copyright (c) Sallai András, 2019
* [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]]
* Web: http://szit.hu
===== Példa hálózat =====
A példa kedvéért, adott egy 4 gépből álló hálózat. Egyik közülük a kontrollgép,
ahol meghatározzuk majd milyen állapotba kerüljön a másik 3 célgép.
A célgépeket lehetnek magyarosan gépek vagy csomópontok, angolosan hostok
vagy node-ok.
{{:oktatas:linux:konfiguraciokezeles:ansible:halozat.png|}}
| gép1 | 192.168.10.2 |
| gép2 | 192.168.10.3 |
| gép3 | 192.168.10.4 |
| kontrollgép | 192.168.10.11 |
===== Azonosítás =====
A kontrollgépen hozzunk létre egy SSH kulcspárt.
ssh-keygen
Másoljuk fel a szerverekre:
ssh-copy-id janos@gep1
ssh-copy-id janos@gep2
ssh-copy-id janos@gep3
===== Az ansible konfigurálása =====
Az ansible központi konfigurációs állományai a szokásos /etc könyvtárban találhatók:
* /etc/ansible/hosts
* /etc/ansible/ansible.cfg
Az ansible.cfg a felhasználó saját könyvtárában is használható:
* ~/.ansible.cfg
Ha kiadom az ansible vagy ansible-playbook parancsot, az a következő helyeken keresi
a konfigurációs fájlokat.
* ANSIBLE_CONFIG (egy környezeti változó)
* ansible.cfg (az aktuális könyvtárban)
* .ansible.cfg (a felhasználó home könyvtárában)
* /etc/ansible/ansible.cfg
==== Konfigurálás ====
nano /etc/ansible/ansible.cfg
A defaults szekcióban egyetlen sorra van szükség:
[defaults]
inventory = hosts
==== Gépek felvétele a hosts fájlba ====
Vegyük fel a célgépeket a hosts fájlba:
nano /etc/ansible/hosts
Felvesszük a gépek nevét vagy ip címét:
gep1
gep2
gep3
A gépek csoportokba is szervezhetők.
[webszerverek]
gep1
gep2
gep3
[dbszerverek]
gep4
gep5
gep6
192.168.10.2
192.168.10.3
192.168.10.4
==== Gépek tulajdonságai ====
[servers]
server1 ansible_host=192.168.10.2 ansible_user=janos ansible_ssh_pass=titok ansible_ssh_port=22
server2 ansible_host=192.168.10.3 ansible_user=janos ansible_ssh_pass=titok ansible_ssh_port=22
Ha egy csoport gépnek azonos tulajdonsága van:
[servers]
192.168.10.2
192.168.10.3
192.168.10.4
[servers:vars]
ansible_user=janos
ansible_ssh_pass=titok
ansible_ssh_port=22
ansible_python_interpreter=/bin/python3