[[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