ansible:accueil

Ceci est une ancienne révision du document !


Ansible

playbook.yml
- hosts: all
  tasks:
      - name: echo coucou
        shell: echo "coucou"
      - name: set ip
        become: yes
        shell: |
          echo "ip ok"

Dans une task:

playbook.yml
- name: include vars
  include_vars:
      file: vars.yaml

Le fichier vars.yaml contient la définition des variables, sous la forme d'un dictionnaire:

vars.yaml
var1: value1
var2: value2

Les variables sont ensuite accessibles par {{ var1 }}.

Définir l'IP

playbook.yml
- name: set ip
  become: yes
  shell: |
    EXIST=`ip route show 172.21.0.0 | wc -l`
    if [ $EXIST -eq 0 ]
    then
        ip addr add {{ ip }}/16 dev eth1
        ip route change default via 172.21.255.254
    fi

Définir le DNS

playbook.yml
- name: set dns
  become: yes
  lineinfile:
      path: /etc/resolv.conf
      regexp: '^nameserver '
      line: 'nameserver 10.210.18.138'
      firstmatch: yes

S'assurer que la dernière version de Nginx est installée

playbook.yml
- name: ensure nginx is at the latest version
  become: yes
  apt: name=nginx state=latest

S'assurer que le service Nginx est lancé

playbook.yml
- name: start nginx
  become: yes
  service:
    name: nginx
    state: started

Importer un fichier template

De l'hôte vers l'invité, en remplaçant des variables par des valeurs:

playbook.yml
- name: adapt flag of website
  become: yes
  template:
      src: index.html
      dest: /var/www/html/index.html

Dans index.html, la variable est définie entre doubles accolades.

  • ansible/accueil.1617548516.txt.gz
  • Dernière modification : 2021/04/04 17:01
  • de 127.0.0.1