# Générer une clé SSHssh-keygen-ted25519-f~/.ssh/ansible_key-N""# Copier sur les ciblesssh-copy-id-i~/.ssh/ansible_key.pubuser@target1
ssh-copy-id-i~/.ssh/ansible_key.pubuser@target2
# Ping tous les hôtesansibleall-mping
# Info systèmeansibleall-msetup
# Exécuter une commandeansiblewebservers-mcommand-a"uptime"# Shellansibleall-mshell-a"df -h"# Copier un fichieransibleall-mcopy-a"src=/etc/hosts dest=/tmp/hosts"# Installer un packageansiblewebservers-mdnf-a"name=nginx state=present"# Serviceansiblewebservers-mservice-a"name=nginx state=started enabled=yes"# Utilisateuransibleall-muser-a"name=deploy state=present"
7. Playbook de base
# playbooks/site.yml----name:Configuration des serveurs webhosts:webserversbecome:yesvars:nginx_port:80tasks:-name:Installer Nginxdnf:name:nginxstate:present-name:Configurer Nginxtemplate:src:templates/nginx.conf.j2dest:/etc/nginx/nginx.confbackup:yesnotify:Restart Nginx-name:Démarrer Nginxservice:name:nginxstate:startedenabled:yes-name:Ouvrir le firewallfirewalld:port:"{{nginx_port}}/tcp"permanent:yesstate:enabledimmediate:yeshandlers:-name:Restart Nginxservice:name:nginxstate:restarted
Exécuter
ansible-playbookplaybooks/site.yml
# Dry-runansible-playbookplaybooks/site.yml--check
# Verboseansible-playbookplaybooks/site.yml-v
# Limiter aux hôtesansible-playbookplaybooks/site.yml--limitweb01
-name:Créer des utilisateursuser:name:"{{item.name}}"groups:"{{item.groups}}"state:presentloop:-{ name:'user1', groups:'wheel'}-{ name:'user2', groups:'users'}-name:Installer plusieurs packagesdnf:name:"{{item}}"state:presentloop:-nginx-php-fpm-mariadb-server
# Test de syntaxeansible-playbookplaybook.yml--syntax-check
# Liste des tâchesansible-playbookplaybook.yml--list-tasks
# Liste des hôtesansible-playbookplaybook.yml--list-hosts
# Tagsansible-playbookplaybook.yml--tags"config,deploy"ansible-playbookplaybook.yml--skip-tags"test"# Facts d'un hôteansiblehostname-msetup
# Documentation moduleansible-docdnf
ansible-doc-l|grepuser
Dépannage
# Verboseansible-playbook-vvvplaybook.yml
# Debug module-name:Debugvariable
debug:
var:my_variable
-name:Debugmessage
debug:
msg:"La valeur est {{ my_var }}"# Step by stepansible-playbookplaybook.yml--step
# Start at taskansible-playbookplaybook.yml--start-at-task="Install Nginx"