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


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow