Jak zainstalować i skonfigurować Ansible, stworzyć playbook i go uruchomić.

Jak skonfigurować Ansible na czystej instalacji systemu Debian.

Przygotowanie środowiska

Zanim zaczniemy, warto zaktualizować system i zainstalować niezbędne pakiety:

sudo apt update && sudo apt upgrade -y
sudo apt install -y python3 python3-venv python3-pip sshpass
Tworzenie katalogu roboczego

Przechodzimy do katalogu domowego i tworzymy katalog, w którym będziemy przechowywać wszystkie playbooki oraz role:

cd ~
mkdir ansible
cd ansible
Tworzenie wirtualnego środowiska

Aby uniknąć konfliktów z innymi pakietami systemowymi, instalujemy Ansible w wirtualnym środowisku Pythona:

python3 -m venv env
# aktywujemy środowisko
source env/bin/activate
Instalowanie
pip install --upgrade pip
pip install ansible
Konfiguracja Ansible
vim ~/.ansible.cfg
[defaults]
host_key_checking = False
nocows = 1
deprecation_warnings = False

# Domyślny plik inventory
inventory = /home/user/ansible/inventory.ini

# Jeśli używasz roota przez SSH
remote_user = root

# Ścieżka do klucza SSH (podmień na swoją)
private_key_file = /home/user/.ssh/id_ed25519

# Opcjonalnie: jeśli chcesz logować zdarzenia
log_path = /home/user/ansible/ansible.log

[galaxy]
server = https://old-galaxy.ansible.com/
! Uwaga: Zamień user na swoją nazwę użytkownika.
Plik inventory.ini

Plik inventory (inventory.ini) zawiera listę hostów, na których będziemy używać Ansible. Tworzymy go:

vim ~/ansible/inventory.ini
[prod]
app1-de
app2-fr

[devel]
dev-de

[db_prod]
db1-de
Plik konfiguracyjny .ssh/config

Aby Ansible mógł komunikować się z serwerami, konfigurujemy dostęp SSH w pliku ~/.ssh/config.

vim ~/.ssh/config
Host app1-de
        Hostname 10.40.10.12
        User root

Host app2-fr
        Hostname 10.40.10.17
        User root

Host dev-de
        Hostname 10.40.10.20
        User root

Host db1-de
        Hostname 10.40.10.21
        User root

Co to daje?

Możemy łączyć się na krótsze nazwy, np.:

ssh app1-de
! Upewnij się, że masz wygenerowany klucz SSH (~/.ssh/id_ed25519) i że dodałeś go do serwera (~/.ssh/authorized_keys).
Testowanie instalacji Ansible
ansible --version
ansible all -m ping
Najczęstsze błędy
[WARNING]: Platform linux on host dev-de is using the discovered Python interpreter at /usr/bin/python3.11, but future installation of another Python
interpreter could change the meaning of that path. See https://docs.ansible.com/ansible-core/2.18/reference_appendices/interpreter_discovery.html for more
information.
# Dodać do ~/.ansible.cfg

interpreter_python=auto_silent

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *