ansible
Inventaire
Recherche…
Paramètres
Paramètre | Explication |
---|---|
ansible_connection | Type de connexion à l'hôte. Cela peut être le nom de l'un des plugins de connexion d'ansible. Les types de protocole SSH sont smart , ssh ou paramiko . La valeur par défaut est intelligente. Les types non basés sur SSH sont décrits dans la section suivante. |
ansible_host | Le nom de l'hôte auquel se connecter, si différent de l'alias que vous souhaitez lui donner. |
ansible_port | Le numéro de port ssh, sinon 22 |
ansible_user | Le nom d'utilisateur ssh par défaut à utiliser. |
ansible_ssh_pass | Le mot de passe ssh à utiliser (ceci n'est pas sûr, nous vous recommandons fortement d'utiliser les --ask-pass ou SSH) |
ansible_ssh_private_key_file | Fichier de clé privée utilisé par ssh. Utile si vous utilisez plusieurs clés et que vous ne voulez pas utiliser l'agent SSH. |
ansible_ssh_common_args | Ce paramètre est toujours ajouté à la ligne de commande par défaut pour sftp , scp et ssh . Utile pour configurer un ProxyCommand pour un certain hôte (ou groupe). |
ansible_sftp_extra_args | Ce paramètre est toujours ajouté à la ligne de commande sftp par défaut. |
ansible_scp_extra_args | Ce paramètre est toujours ajouté à la ligne de commande scp par défaut. |
ansible_ssh_extra_args | Ce paramètre est toujours ajouté à la ligne de commande ssh par défaut. |
ansible_ssh_pipelining | Détermine s'il faut ou non utiliser le traitement en pipeline SSH. Cela peut remplacer le paramètre de pipelining dans ansible.cfg . |
ansible_become | Équivalent à ansible_sudo ou ansible_su , permet de forcer l'escalade de privilèges |
ansible_become_method | Permet de définir une méthode d'élévation de privilèges |
ansible_become_user | Équivalent à ansible_sudo_user ou ansible_su_user , permet de définir l'utilisateur que vous devenez grâce à l'escalade de privilèges |
ansible_become_pass | Équivalent à ansible_sudo_pass ou ansible_su_pass , vous permet de définir le mot de passe d' ansible_su_pass privilèges |
ansible_shell_type | Le type de shell du système cible. Vous ne devez pas utiliser ce paramètre, sauf si vous avez défini ansible_shell_executable sur un shell non compatible Bourne (sh). Par défaut, les commandes sont formatées à l'aide de la syntaxe sh -style. Si vous csh cette csh sur csh ou fish , les commandes exécutées sur les systèmes cibles suivront plutôt la syntaxe de ces shell. |
ansible_python_interpreter | Le chemin python de l'hôte cible. Ceci est utile pour les systèmes avec plusieurs Python ou non situés dans / usr / bin / python tels que * BSD, ou lorsque / usr / bin / python n'est pas une série Python 2.X. Nous ne pas utiliser le / usr / bin / env mécanisme qui nécessite que le chemin d' un utilisateur distant à définir et à droite suppose également l'exécutable python est nommé python, où l'exécutable peut être nommé quelque chose comme python2.6. |
ansible _ * _ interprète | Fonctionne comme ansible_python_interpreter ou Perl et fonctionne comme ansible_python_interpreter . Cela remplace le shebang des modules qui fonctionneront sur cet hôte. |
ansible_shell_executable | Cela définit le shell que le contrôleur ansible utilisera sur la machine cible, et remplace l' executable dans ansible.cfg qui est par défaut / bin / sh . Vous ne devriez vraiment le changer que si vous ne pouvez pas utiliser / bin / sh (c.-à - d . Que / bin / sh n'est pas installé sur la machine cible ou ne peut pas être exécuté depuis sudo). Nouveau dans la version 2.1. |
Inventaire avec nom d'utilisateur et mot de passe
Inventory est le moyen Ansible de suivre tous les systèmes de votre infrastructure. Voici un fichier d'inventaire simple contenant un seul système et les identifiants de connexion pour Ansible.
[targethost]
192.168.1.1 ansible_user=mrtuovinen ansible_ssh_pass=PassW0rd
Inventaire avec clé privée personnalisée
[targethost]
192.168.1.1 ansible_user=mrtuovinen ssh_private_key_file=~/.ssh/custom_key
Inventaire avec port SSH personnalisé
[targethost]
192.168.1.1 ansible_user=mrtuovinen ansible_port=2222
Passer l'inventaire statique à ansible-playbook
ansible-playbook -i path/to/static-inventory-file -l myhost myplaybook.yml
Passer l'inventaire dynamique à ansible-playbook
ansible-playbook -i path/to/dynamic-inventory-script.py -l myhost myplaybook.yml
Voir l'inventaire dynamique pour plus de détails.
Inventaire, groupe Vars et vous
structure du projet (ansible Best Practice).
project/
group_vars/
development
inventory.development
playbook.yaml
tout commence avec inventory.development
[development]
dev.fakename.io
[development:vars]
ansible_host: 192.168.0.1
ansible_user: dev
ansible_pass: pass
ansible_port: 2232
[api:children]
development
qui vous permet de créer un lien vers group_vars. Tenez les données «spécifiques» à cet environnement ...
---
app_name: NewApp_Dev
app_url: https://dev.fakename.io
app_key: f2390f23f01233f23f
cela permet d'exécuter le playbook suivant CONTRE le fichier d'inventaire:
---
- name: Install api.
hosts: api
gather_facts: true
sudo: true
tags:
- api
roles:
- { role: api, tags: ["api"] }
avec la piste suivante:
ansible-playbook playbook.yaml -i inventory.development
Fichier Hosts
Le fichier hôte est utilisé pour stocker les connexions pour les playbooks Anisble. Il existe des options pour définir les paramètres de connexion:
ansible_host
est le nom d'hôte ou l'adresse IP
ansible_port
est le port que la machine utilise pour SSH
ansible_user
est l'utilisateur distant qui se connecte en tant que
ansible_ssh_pass
si vous utilisez un mot de passe pour SSH
ansible_ssh_private_key_file
si vous devez utiliser plusieurs clés spécifiques aux hôtes
Ce sont les options les plus couramment utilisées. Vous en trouverez plus dans la documentation officielle d'Ansible .
Voici un exemple de fichier hosts
:
# Consolidation of all groups
[hosts:children]
web-servers
offsite
onsite
backup-servers
[web-servers]
server1 ansible_host=192.168.0.1 ansible_port=1600
server2 ansible_host=192.168.0.2 ansible_port=1800
[offsite]
server3 ansible_host=10.160.40.1 ansible_port=22 ansible_user=root
server4 ansible_host=10.160.40.2 ansible_port=4300 ansible_user=root
# You can make groups of groups
[offsite:children]
backup-servers
[onsite]
server5 ansible_host=10.150.70.1 ansible_ssh_pass=password
[backup-servers]
server6 ansible_host=10.160.40.3 ansible_port=77