ansible模块

ansible管理
ansible进行远程管理的两个方法:

adhoc临时命令。就是在命令行上执行管理命令。

playbook剧本。把管理任务用特定格式写到文件中。

无论哪种方式,都是通过模块加参数进行管理。

语法:
ansible 主机或组列表 -m 模块 -a "参数"    # -a是可选的

1,file模块
可以创建文件、目录、链接等,还可以修改权限、属性等

常用的选项:

path:指定文件路径

owner:设置文件所有者

group:设置文件所属组

state:状态。touch表示创建文件,directory表示创建目录,link表示创建软链接,absent表示删除

mode:设置权限

src:source的简写,源

dest:destination的简写,目标

2,copy模块
用于将文件从控制端拷贝到被控端

常用选项:

src:源。控制端的文件路径

dest:目标。被控制端的文件路径

content:内容。需要写到文件中的内容

3,fetch模块
与copy模块相反,copy是上传,fetch是下载

常用选项:

src:源。被控制端的文件路径

dest:目标。控制端的文件路径

4,lineinfile模块
用于确保存目标文件中有某一行内容

常用选项:

path:待修改的文件路径

line:写入文件的一行内容

regexp:正则表达式,用于查找文件中的内容

5,replace模块
lineinfile会替换一行,replace可以替换关键词

常用选项:

path:待修改的文件路径

replace:将正则表达式查到的内容,替换成replace的内容

regexp:正则表达式,用于查找文件中的内容

6,user模块
实现linux用户管理

常用选项:

name:待创建的用户名

uid:用户ID

group:设置主组

groups:设置附加组

home:设置家目录

password:设置用户密码

state:状态。present表示创建,它是默认选项。absent表示删除

remove:删除家目录、邮箱等。值为yes或true都可以。

7,group模块
创建、删除组

常用选项:

name:待创建的组名

gid:组的ID号

state:present表示创建,它是默认选项。absent表示删除

8,yum_repository
用于配置yum

常用选项:

file: 指定文件名

其他选项,请与文件内容对照

# 在test组中的主机上,配置yum
[root@control ansible]# ansible test -m yum_repository -a "file=myrepo name=myApp description='My App' baseurl=ftp://192.168.4.254/rhel8/AppStream gpgcheck=no enabled=yes"

[root@node1 ~]# cat /etc/yum.repos.d/myrepo.repo

9,yum模块
用于rpm软件包管理,如安装、升级、卸载

常用选项:

name:包名

state:状态。present表示安装,如果已安装则忽略;latest表示安装或升级到最新版本;absent表示卸载。

# 在test组中的主机上安装tar
[root@control ansible]# ansible test -m yum -a "name=tar state=present"

10,service模块
用于控制服务。启动、关闭、重启、开机自启。

常用选项:

name:控制的服务名

state:started表示启动;stopped表示关闭;restarted表示重启

enabled:yes表示设置开机自启;no表示设置开机不要自启。

#  在test主机上启动httpd,并设置它开机自启
[root@control ansible]# ansible test -m service -a "name=httpd state=started enabled=yes"

11,逻辑卷相关模块
逻辑卷可以动态管理存储空间。可以对逻辑卷进行扩容或缩减。

可以把硬盘或分区转换成物理卷PV;再把1到多个PV组合成卷组VG;然后在VG上划分逻辑卷LV。LV可以像普通分区一样,进行格式化、挂载。

关闭虚拟机node1,为其添加2块20GB的硬盘

LINUX下KVM虚拟机新加的硬盘,名称是/dev/vdb和/dev/vdc

vmware虚拟机新加的硬盘,名称是/dev/sdb和/dev/sdc

如果选nvme硬盘,名称可能是/dev/nvme0n1和/dev/nvme0n2

12,lvg模块
创建、删除卷组,修改卷组大小

常用选项:

vg:定义卷组名。vg:volume group

pvs:由哪些物理卷构成。pvs:physical volumes

# 在test组中的主机上安装lvm2,state不写,默认是present
[root@control ansible]# ansible test -m yum -a "name=lvm2"

# 在test组中的主机上创建名为myvg的卷组,该卷组由/dev/vdb1组成
[root@control ansible]# ansible test -m lvg -a "vg=myvg pvs=/dev/vdb1"

# 在node1上查看卷组
[root@node1 ~]# vgs
  VG   #PV #LV #SN Attr   VSize  VFree
  myvg   1   0   0 wz--n- <5.00g <5.00g

 

13,lvol模块
创建、删除逻辑卷,修改逻辑卷大小

常用选项:

vg:指定在哪个卷组上创建逻辑卷

lv:创建的逻辑卷名。lv:logical volume

size:逻辑卷的大小,不写单位,以M为单位

# 在test组中的主机上创建名为mylv的逻辑卷,大小为2GB
[root@control ansible]# ansible test -m lvol -a "vg=myvg lv=mylv size=2G"

# 在node1上查看逻辑卷
[root@node1 ~]# lvs

14,filesystem模块
用于格式化,也就是创建文件系统

常用选项:

fstype:指定文件系统类型

dev:指定要格式化的设备,可以是分区,可以是逻辑卷

#  在test组中的主机上,把/dev/myvg/mylv格式化为xfs
[root@control ansible]# ansible test -m filesystem -a "fstype=xfs dev=/dev/myvg/mylv"

# 在node1上查看格式化结果
[root@node1 ~]# blkid /dev/myvg/mylv
/dev/myvg/mylv: UUID="46c0af72-e517-4b15-9e53-ec72fbe1d96e" TYPE="xfs"

15,mount模块
用于挂载文件系统

常用选项:

path:挂载点。如果挂载点不存在,自动创建。

src:待挂载的设备

fstype:文件系统类型

state:mounted,表示永久挂载

# 在test组中的主机上,把/dev/myvg/mylv永久挂载到/data
[root@control ansible]# ansible test -m mount -a "path=/data src=/dev/myvg/mylv state=mounted fstype=xfs"

# 在test组中的主机上,卸载/dev/myvg/mylv
[root@control ansible]# ansible test -m mount -a "path=/data state=absent"

# 在test组中的主机上,强制删除/dev/myvg/mylv
[root@control ansible]# ansible test -m lvol -a "lv=mylv state=absent vg=myvg force=yes"   # force是强制

# 在test组中的主机上,删除myvg卷组
[root@control ansible]# ansible test -m lvg -a "vg=myvg state=absent"

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值