Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| pratique:informatique:ansible [09/05/2025 10:34] – Zatalyz | pratique:informatique:ansible [09/05/2025 19:46] (Version actuelle) – envoyé sur https://khaganat.net/wikhan/fr:ansible Zatalyz | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ====== Ansible ====== | ||
| - | Étant très motivée pour l' | ||
| - | |||
| - | ===== Syntaxe ===== | ||
| - | * Commentaires avec ''#'' | ||
| - | |||
| - | ===== Rangement ===== | ||
| - | < | ||
| - | ├── ansible.cfg | ||
| - | ├── hosts | ||
| - | ├── password.yml | ||
| - | ├── playbooks | ||
| - | │ ├── ping.yml | ||
| - | │ └── sudols.yml | ||
| - | ├── scripts | ||
| - | │ └── createuser.sh | ||
| - | └── vars | ||
| - | └── users | ||
| - | ├── alice.yml | ||
| - | ├── lapin.yml | ||
| - | └── lievre.yml</ | ||
| - | | ||
| - | Dans la racine du dossier les trucs qui tiennent de la configuration d' | ||
| - | * Playbooks : sans doute que ça va mériter encore une autre organisation. Lors d'un appel à une variable ou un script, penser à remonter dans les chemins : '' | ||
| - | * Scripts : c'est pas du yaml ni de l' | ||
| - | * vars : les diverses variables à utiliser. Par exemple les " | ||
| - | |||
| - | ===== Fichiers de base ===== | ||
| - | Créer (dans un dossier lambda) : | ||
| - | * hosts : liste des serveurs qu'on contacte, regroupés par grappe | ||
| - | * ansible.cfg : paramètres pour ansible sur cet usage | ||
| - | |||
| - | <code bash hosts> | ||
| - | [hyperviseur_local] | ||
| - | hyperviseur | ||
| - | Proxy | ||
| - | VM1 | ||
| - | |||
| - | [hyperviseur_local: | ||
| - | ansible_python_interpreter=/ | ||
| - | </ | ||
| - | |||
| - | * Je reprends les noms renseignés dans mon ~/ | ||
| - | * La partie " | ||
| - | |||
| - | <code bash ansible.cfg> | ||
| - | [defaults] | ||
| - | inventory = hosts | ||
| - | retry_files_enabled = False | ||
| - | timeout = 10 | ||
| - | ask_vault_pass = true | ||
| - | </ | ||
| - | |||
| - | Voir [[https:// | ||
| - | |||
| - | ==== Stockage du mot de passe sudo ==== | ||
| - | Créer un fichier chiffré où stocker des infos sensibles : | ||
| - | ansible-vault create password.yml | ||
| - | |||
| - | Il faut définir un mot de passe pour ouvrir le fichier en question. | ||
| - | |||
| - | Dans le fichier en question, pour stocker le mot de passe sudo : | ||
| - | ansible_become_pass: | ||
| - | |||
| - | Pour éditer : | ||
| - | ansible-vault edit password.yml | ||
| - | |||
| - | Dans les playbooks, chaque fois qu'on a besoin de sudo, on aura ces lignes au début : | ||
| - | |||
| - | < | ||
| - | vars_files: | ||
| - | - password.yml</ | ||
| - | |||
| - | On ajoute aussi '' | ||
| - | |||
| - | <WRAP center round help 100%> | ||
| - | J'ai pas trouvé comment simplement faire qu'il demande le mot de passe sudo quand il en a besoin. Enfin, si, ajouter " | ||
| - | ansible-playbook sudols.yml -K | ||
| - | |||
| - | Donc : soit on ajoute -K, soit on déclare un password.yml. | ||
| - | </ | ||
| - | |||
| - | ===== Serveurs distants ===== | ||
| - | Installer python3 dessus. Sinon ça ne marchera pas. | ||
| - | |||
| - | C'est tout ! | ||
| - | |||
| - | |||
| - | |||
| - | {{tag> | ||
| - | |||
| - | [[https:// | ||
| - | |||