3.10 yum模块
在远程主机上安装与卸载软件包, 需要被管理端配置好yum源。
主要的参数如下:
参数 | 说明 |
name | 指定安装软件包名或软件包URL |
state | 指定yum对应的方法,present(默认)、installed表示安装、latest表示安装最新版本软件包;absent、removed表示卸载。支持多程序一起安装,用逗号隔开。 |
enablerepo | 允许从哪些仓库获取软件 |
disablerepo | 禁止从哪些仓库获取软件 |
exclude | 排除某些软件包,例如kernel |
download_only | 仅下载软件包,不安装 |
disable_gpg_check | 不进行gpg检测 |
update_cache | 可以在安装包的同时更新yum缓存 |
示例:
ansible-doc -s yum #查看yum模块包含的操作动作 ansible dbservers -m yum -a 'name=httpd' #安装httpd服务 ansible dbservers -m yum -a 'name=httpd state=absent' #卸载httpd服务 #yum一次性卸载所有主机的httpd服务 ansible all -m yum -a "name=httpd state=absent" 复制代码
网络异常,图片无法展示
|
网络异常,图片无法展示
|
网络异常,图片无法展示
|
网络异常,图片无法展示
|
网络异常,图片无法展示
|
网络异常,图片无法展示
|
3.11 service/systemd 模块
用于管理远程主机上的服务的运行状态。
主要参数如下:
参数 | 说明 |
name | 指定需要控制的服务名称 |
state | 指定服务状态,其值可以为stopped、started、reloaded、restarted、status |
enabled | 指定服务是否为开机启动,yes为启动,no为不启动 |
daemon_reload | yes:重启systemd服务,让unit文件生效 |
示例:
ansible-doc -s service #查看service模块包含的操作动作 #查看web服务器httpd运行状态 ansible webservers -a 'systemctl status httpd' #启动httpd服务,并设置为开机自启 ansible webservers -m service -a 'name=httpd state=started enabled=true' 复制代码
网络异常,图片无法展示
|
网络异常,图片无法展示
|
网络异常,图片无法展示
|
网络异常,图片无法展示
|
3.12 script 模块
实现远程批量运行本地的shell脚本。
注意:script模块不具有幂等性。所以建议用剧本来执行。
ansible-doc -s script #在本地写一个脚本 vim test.sh #!/bin/bash echo "hello ansible from script" > /data/script.txt chmod +x test.sh #给脚本执行权限 ansible dbservers -m script -a 'test.sh' #远程运行本地脚本 ansible dbservers -a 'cat /data/script.txt' #查看生成的文件内容是否为指导内容 #再次运行相同脚本,状态为changed,而不是successs,因为script模块不具有幂等性 ansible dbservers -m script -a 'test.sh' 复制代码
网络异常,图片无法展示
|
注意:script模块不具有幂等性。
网络异常,图片无法展示
|
3.13 setup 模块
facts组件是用来收集被管理节点信息的,使用setup 模块可以获取这些信息。
ansible-doc -s setup #查看setup模块包含的操作动作 #获取dbservers组主机的facts信息 ansible dbservers -m setup #使用filter参数可以筛选指定的facts信息 ansible dbservers -m setup -a 'filter=*ipv4' 复制代码
网络异常,图片无法展示
|
网络异常,图片无法展示
|
总结
Ansible的特性:
(1)Ansible其中一个比较鲜明的特性Agentless,即无Agent的存在,只需在某个作为控制节点的主机上安装一次Ansible即可,通常它基于ssh连接来控制远程主机,远程主机上不需要安装Ansible或其它额外的服务。
(2)Ansible的另一个比较鲜明的特性是它的绝大多数模块都具备幂等性(idempotence)。所谓幂等性,指的是多次操作或多次执行对系统资源的影响是一致的。