Ansible-modules Spiekbriefje
Ansible is een krachtige automatiseringstool. In dit artikel introduceren we de meest gebruikte modules.
Formaat
Basisbestandsstructuur
---
- hosts: production
remote_user: root
tasks:
- ···Plaats uw modules onder tasks.
Taakformaat (Task Format)
Eén-regelig formaat
- apt: pkg=vim state=presentMapping-formaat
- apt:
pkg: vim
state: presentGevouwen scalair formaat
- apt: >
pkg=vim
state=presentU kunt elk van de bovenstaande formaten gebruiken om taken te definiëren. Voor korte voorstellingen wordt het één-regelige formaat aanbevolen, voor langere voorstellingen het mapping-formaat.
Modules
Aptitude
Pakketbeheer
- apt:
pkg: nodejs
state: present # absent | latest
update_cache: yes
force: noDeb-pakketbestand
- apt:
deb: "https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb"Beheer van repositories
- apt_repository:
repo: "deb https://··· raring main"
state: presentRepository-sleutel
- apt_key:
id: AC40B2F7
url: "http://···"
state: presentGit-gerelateerd
- git:
repo: git://github.com/
dest: /srv/checkout
version: master
depth: 10
bare: yesReferentie: git-module
Git-configuratie
- git_config:
name: user.email
scope: global # local | system
value: [email protected]Referentie: git_config-module
Gebruikersbeheer
- user:
state: present # Status: aanwezig
name: git # Gebruikersnaam
system: yes # Systeemgebruiker
shell: /bin/sh # Inlog-shell
groups: admin # Groepen
comment: "Git Versiebeheer" # OpmerkingReferentie: user-module
Servicebeheer
- service:
name: nginx # Servicenaam
state: started # Status: gestart
enabled: yes # Inschakelen bij opstartenReferentie: service-module
Shell-gerelateerd
shell-opdracht
- shell: apt-get install nginx -yExtra opties
- shell: echo hello
args:
creates: /path/file # Overslaan als bestand bestaat
removes: /path/file # Overslaan als bestand niet bestaat
chdir: /path # Wissel naar deze map voor uitvoeringVoorbeeld van opdracht over meerdere regels
- shell: |
echo "hello there"
echo "multiple lines"Referentie: shell-module
Scriptuitvoering
- script: /x/y/script.sh
args:
creates: /path/file # Overslaan als bestand bestaat
removes: /path/file # Overslaan als bestand niet bestaat
chdir: /path # Wissel naar deze map voor uitvoeringReferentie: script-module
Bestandsbewerkingen
Bestandsbeheer
- file:
path: /etc/dir
state: directory # Type: directory|file|link|hard|touch|absent
# Optionele parameters:
owner: bin # Eigenaar
group: wheel # Groep
mode: 0644 # Rechten
recurse: yes # Recursief
force: yes # Forceer creatie van softlinkReferentie: file-module
Bestand kopiëren
- copy:
src: /app/config/nginx.conf # Bronbestand
dest: /etc/nginx/nginx.conf # Doellocatie
# Optionele parameters:
owner: user # Eigenaar
group: user # Groep
mode: 0644 # Rechten
backup: yes # Back-up indien aanwezigReferentie: copy-module
Sjabloon (Template)
- template:
src: config/redis.j2 # Sjabloon bronbestand
dest: /etc/redis.conf # Doellocatie
# Optionele parameters:
owner: user # Eigenaar
group: user # Groep
mode: 0644 # Rechten
backup: yes # Back-up indien aanwezigReferentie: template-module
Lokale acties
Lokale uitvoering
- name: Voer lokaal acties uit
local_action: shell echo helloDebug-uitvoer
- debug:
msg: "Hello {{ var }}"Referentie: debug-module