Ansible常用模块

Ansible常用模块,第1张

概述1.ping模块 ping模块,主要用于判断远程客户端是否在线,用于ping本身服务器,返回值是changed、ping 使用Ansible ping服务器状态,代码为ansible -k all -m ping 2.Ansible command模块是Ansible默认模块,主要用于执行Linux基础命令,可以执行远程服务器命令执行、任务执行等 *** 作。 但command模块不支持变量、重定向、管道 1.Ping模块
Ping模块,主要用于判断远程客户端是否在线,用于Ping本身服务器,返回值是changed、Ping
使用Ansible Ping服务器状态,代码为ansible -k all -m Ping

2.Ansible command模块是Ansible默认模块,主要用于执行linux基础命令,可以执行远程服务器命令执行、任务执行等 *** 作。
但command模块不支持变量、重定向、管道符等,这些 *** 作需要用shell模块执行
command模块使用详解:

chdir:执行命令前,切换到目录creates:当该文件存在时,不执行该步骤executable:切换shell来执行命令,需要使用命令的绝对路径free_from:需要执行的脚本,一般使用Ansible的-a参数代替。removes:当该文件不存在时,不执行该步骤warn:如果在ansible.cfg中存在告警,如果设定了false,不会告警该行

3.Ansible copy模块主要用于文件或者目录复制,支持文件、目录、权限、用户组功能
copy模块使用详解:

src:Ansible端源文件或者目录,空目录不复制content:用来替代src,用于将指定文件的内容复制到远程文件内dest:客户端目标目录或者文件,需要绝对路径backup:复制之前,先备份远程节点上的原始文件directory_mode:用于复制目录,新建的文件会被复制,而旧的不会被复制follow:支持link文件复制force:覆盖远程主机不一致的内容group:设定远程主机目录的组名mode:设定远程主机文件及目录的权限owner:设定远程主机目录的用户名

4.Ansible yum模块主要用于软件的安装、升级、卸载,支持rpm软件包的管理
yum模块使用详解:

conf_file:设置远程yum执行时所依赖的yum配置文件disable_gpg_check:安装软件包之前是否检查gpg keyname:需要安装的软件名称,支持软件组安装update_cache:安装软件之前更新缓存enablerepo:指定repo源名称skip_broken:跳过异常软件节点state:软件包状态,包括installed、present、latest、absent、removed    present,installed是指安裝套件,而latest指安裝最新的套件,也就是使用 yum mirror 上最新的版本。    absent,removed 没有什么区别

5.Ansible user模块主要用于 *** 作系统用户、组、权限、密码等 *** 作
user模块使用详解:

system:默认创建为普通用户,为yes则创建系统用户append:添加一个新的组comment:添加描述信息createhome:给用户创建家目录force:强制删除用户group:创建用户主组groups:将用户加入组或者附属组添加home:指定用户的家目录name:表示状态,是否create、remove、modifypassword:指定用户的密码,为加密密码remove:删除用户shell:设置用户的shell登录环境uID:设置用户IDupdate_password:修改用户密码state:用户状态,默认为present,表示新建用户

6. setup模块,主要用于获取主机信息,在playbooks里经常会用到的一个参数gather_facts就与该模块相关。setup模块下经常使用的一个参数是filter参数,具体使用示例如下(由于输出结果较多,这里只列命令不写结果):

[[email protected] ~]# ansible 10.212.52.252 -m setup -a ‘filter=ansible_*_mb‘ //查看主机内存信息[[email protected] ~]# ansible 10.212.52.252 -m setup -a ‘filter=ansible_eth[0-2]‘ //查看地接口为eth0-2的网卡信息[[email protected] ~]# ansible all -m setup --tree /tmp/facts //将所有主机的信息输入到/tmp/facts目录下,每台主机的信息输入到主机名文件中(/etc/ansible/hosts里的主机名)

7. file模块主要用于远程主机上的文件 *** 作,file模块包含如下选项:

force:需要在两种情况下强制创建软链接,一种是源文件不存在但之后会建立的情况下;另一种是目标软链接已存在,需要先取消之前的软链,然后创建新的软链,有两个选项:yes|no

group:定义文件/目录的属组

mode:定义文件/目录的权限

owner:定义文件/目录的属主

path:必选项,定义文件/目录的路径

recurse:递归的设置文件的属性,只对目录有效

src:要被链接的源文件的路径,只应用于state=link的情况

dest:被链接到的路径,只应用于state=link的情况

state: directory:如果目录不存在,创建目录

file:即使文件不存在,也不会被创建

link:创建软链接

hard:创建硬链接

touch:如果文件不存在,则会创建一个新的文件,如果文件或目录已存在,则更新其最后修改时间

absent:删除目录、文件或者取消链接文件

使用示例:

ansible test -m file -a "src=/etc/fstab dest=/tmp/fstab state=link"ansible test -m file -a "path=/tmp/fstab state=absent"ansible test -m file -a "path=/tmp/test state=touch"

8.service模块

用于管理服务

9.cron模块

用于管理计划任务

10.yum模块

使用yum包管理器来管理软件包,其选项有:

config_file:yum的配置文件

disable_gpg_check:关闭gpg_check

disablerepo:不启用某个源

enablerepo:启用某个源

name:要进行 *** 作的软件包的名字,也可以传递一个url或者一个本地的rpm包的路径

state:状态(present,absent,latest)

11.user模块与group模块

user模块是请求的是useradd,userde

12.synchronize模块

使用rsync同步文件,其参数如下:

archive: 归档,相当于同时开启recursive(递归)、links、perms、times、owner、group、-D选项都为yes ,默认该项为开启

13.get_url 模块

该模块主要用于从http、ftp、https服务器上下载文件(类似于wget),主要有如下选项:

sha256sum:下载完成后进行sha256 check;

timeout:下载超时时间,默认10s

url:下载的URL

url_password、url_username:主要用于需要用户名密码进行验证的情况

use_proxy:是事使用代理,代理需事先在环境变更中定义

14.user模块是请求的是useradd,userdel,usermod三个指令,goup模块请求的是groupadd,groupdel,groupmod 三个指令。

15.script模块 [在远程主机执行主控端的shell/python脚本 ] (使用相对路径)
[[email protected] ansible]# ansible testservers -m script -a ‘/etc/ansible/test.sh

16. shell模块 [执行远程主机的shell/python脚本]
[[email protected] ansible]# ansible testservers -m shell -a ‘bash /root/test.sh‘

17. raw模块 [类似于command模块、支持管道传递]
[[email protected] ansible]# ansible testservers -m raw -a "ifconfig eth0 |sed -n 2p |awk ‘{print \$2}‘ |awk -F: ‘{print \$2}‘"

总结

以上是内存溢出为你收集整理的Ansible常用模块全部内容,希望文章能够帮你解决Ansible常用模块所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/1020683.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存