总结Ansible常见模块使用
环境准备
先创建一个主机清单,还要做ssh免密:

1、command
用途是执行命令不经过shell,更安全,但不支持管道、重定向、变量展开等等。适合执行一个二进制命令
演示如下:
-i 指定主机清单hosts.ini;
all 对hosts.ini里的所有主机执行;
-m 指定使用command模块
-a 给模块传参数
意思是对所有主机执行hostname,返回每台主机的主机名

2、shell
用途是通过 shell 执行命令。支持管道、重定向、通配符、变量、&&;但更容易引入注入问题,也更难保证幂等,必须依赖 shell 特性的场景。
演示如下:
意思是对所有主机通过shell执行,先输出当前用户家目录,再输出当前日期时间

3、copy
用途:复制本地文件到远端
演示如下:
在控制节点创建一个hello ansible内容的文件demo.txt;把demo.txt复制到所有的远程主机/tmp/demo.txt,权限设置为0644

4、file
用途:创建目录、改权限、建软链接、删文件。
演示如下:
所有主机上确保/tmp/ansible-demo 是一个目录,,权限设置为0755

5、user
用途:管理用户。
演示如下:
在所有主机上创建用户demo,登录shell是/bin/bash并确认这个用户存在

6、stat
用途:检查文件状态
演示如下:
检查所有主机上的/tmp/demo.txt状态

7、再用playbook系统演示


浙公网安备 33010602011771号