Linux部署并配置ansible及相关模块介绍

安装与配置Ansible都是极为简单的,在Linux系统中直接yum安装即可,其Hosts和cfg配置文件都有模板,只不过被“#”号注释了。Ansible的模块也不多,本文对每个模块都进行简单的讲解或举例。

安装与配置

安装并配置Ansible

修改配置/etc/ansible/ansible.cfg,具体参数请参照官方文档,举个例子:

修改配置/etc/ansible/hosts,在配置文件中有各种配置案例,直接“照猫画虎”即可。

配置免密登录

以管控主机192.168.1.69为例,命令如下:

Ansible命令介绍

ansible命令集

名称 说明
/usr/bin/ansible 临时命令执行
/usr/bin/ansible-doc 模块功能查看工具
/usr/bin/ansible-galaxy 用于查找、下载、评论各种社区开发的 Ansible 角色
/usr/bin/ansible-playbook 定制自动化的任务集编排工具
/usr/bin/ansible-pull 远程执行命令,拉取配置
/usr/bin/ansible-vault 文件加密工具
/usr/bin/ansible-console 与用户交互的命令执行工具

最常用的ansible-doc命令,用于查看所支持的模块的文件信息,支持shell,可以通过h获取帮助。

参数 说明
-h, --help 帮助
-l, --list 列出可用的模块
-M <PATH>, --module-path=<PATH> 指定模块的路径
-s, --snippet 查看playbook制定模块的用法
--version 查看ansible-doc的版本号

Ansible模块介绍

script模块

在客户机运行服务端的脚本。

yum模块

参数 说明
conf_file 设定yum安装时所依赖的配置文件
disable_gpg_check 是否禁止GPG检验,仅针对“present”或“latest”
disablerepo 临时禁止使用yum源
enablerepo 使用临时yum源
name 软件名称
state=present|latest|absent 安装|安装最新|卸载
update_cache 强制更新yum缓存

service模块

参数 说明
arguments 命令行提供额外的参数
enabled=true|false 是否开机启动
name 服务名称
runlevel 开机启动级别
sleep 重启服务时,stop后是否等待x秒后再start
state=started|stopped|restarted|reloaded 启动服务|停止服务|重启服务|重载配置

ping模块

command模块

在客户端执行命令,不支持管道命令,比如:“|、<、>、;、&、`、$”等。

参数 说明
chdir 切换到该目录后再执行命令
creates 创建文件,如果文件存在则不执行
executable 执行shell脚本,必须使用绝对路径
free_form 执行linux命令,一般使用ansible的-a参数代替
removes 删除文件,如果文件不存在则不执行

shell模块

在客户机上执行shell命令,支持所有shell。

cron模块

参数 说明
backup=yes|no 创建crontab备份
cron_file 指定使用cron.d中的其他配置文件
minute
hour
day
month
weekday
name 定时任务名称
job 所执行的命令
special_time=
reboot|annually|monthly|weekly|daily|hourly
重启时|每年|每月|每周|每日|每时
state=present|absent 添加|删除
user 执行任务的用户

copy模块

参数 说明
backup 如果目标文件已经存在,则覆盖前进行文件备份(含时间信息)
content 目标文件的内容
dest 目标文件的绝对路径,若源是目录,则目标也必须是目录
directory_mode 设定目录权限,不指定时为系统默认权限
force 强制覆盖已经存在的目标文件,默认为yes
others 可以使用所有file模块里的选项
src 被复制到远程主机的本地文件或目录

file模块

参数 说明
force 强制创建软链接
group 设定文件或目录的group
owner 设定文件或目录的user
mode 设定文件或目录的权限
path 设定文件或目录的路径
recurse 设置目录中的文件的属性
src 被链接的源文件的路径,只针对于state=link
dest 链接文件的路径,只针对于state=link

state参数说明:

参数 说明
absent 删除文件、目录、链接文件
directory 如果目录不存在,则创建目录
file 即使文件不存在,也不会被创建
hard 创建硬链接
link 创建软链接
touch 创建文件,如果文件或目录已经存在,则只更新其最后修改时间

fetch模块

参数 说明
dest 目标文件夹,用于存放从客户机获取的文件
src 从客户机获取的文件,只能是文件,不能是目录

hostname模块

user模块

参数 说明
comment 用户描述
createhome 是否创建家目录
force 当state=absent时,效果与userdel-force相同
group 指定基本组
groups 指定附加组,使用“groups=”删除所有组
home 指定用户家目录
move_home 移动用户家目录
name 指定用户账号
non_unique 允许改变非唯一的用户ID
password 指定用户密码
remove 当state=absent时,效果与与userdel-remove相同
shell 指定默认shell
state 默认为创建用户,使用“=absent”删除用户
system 创建系统用户,不能将已有用户设置为系统用户
uid 指定用户uid
update_password 更新用户密码

group模块

参数 说明
gid 设置组GID
name 设置组名称
state 默认为创建组,使用“=absent”删除组
system 当“=yes”创建系统组

setup模块

原创文章禁止转载:技术学堂 » Linux部署并配置ansible及相关模块介绍

精彩评论

7+8=

感谢您的支持与鼓励

支付宝扫一扫打赏

微信扫一扫打赏