Ansilble
Instalacja
sudo apt install software-properties-common -y
sudo apt add repository --yes --update ppa:ansible/ansible
sudo apt update
sudo apt install ansiblesudo apt install python3-pip
sudo pip3 install -U pip
sudo pip3 install ansibleInventories
/ansible/inventories/prod - pliki środowiska prod
/ansible/inventories/prod/prod.yml - plik konfiguracyjny środowiska prod
all: # pierwsza grupa
children: # dyrektywa podawania podgrup
group1: # nazwa pierwszej podgrupy
hosts: # dyrektywa podawania hostów w podgrupie
host1: # nazwa hosta w podgrupie
ansible_host: ip # IP lub FQDN hosta
host2:
ansible_host:
group2:
hosts:
host3:
ansible_host:
host4:
ansible_host:Uruchomienie
ansible -i ./ansible/inventories/prod/prod.yml--list-hosts [nazwa-grupy] - wylistowanie hostów w podanej grupie
Plik konfiguracyjny
# ansible.cfg
[defaults]
inventory = ./inventories/prod/prod.yml # adres pliku inventory
host_key_checking = false # brak sprawdzania fingerprint-a przy połączeniuansible --list-hosts all - wyświetli listę hostów z inventory zadeklarowanego w pliku ansible.cfg.
Uruchomienie modułu
ansible all -m ping
ansible all -m shell "uname -a"Playbooks
ansible-playbook playbooks/ping.ymlUruchomienie jakiegoś playbook-a.
--- # Playbook dla pingowania
- name: playbook dla pingowania
hosts: all
tasks:
- name: ping wszystkiego
action: pingForks
Ustawienie flagi -f [ilosc] pozwala na uruchamianie tasków na wielu procesach co przyspiesza całość wykonywanego playbook-a