linux 自动化运维工具ansible 常用模块介绍

下列中所有被控主机名以node为例

1、yum 模块

ansibel-doc yum_repository 可以显示该模块的使用方式,打开之后输入/查找EXA系统运维工程师MPLE(大写的)可以找到使用例子

例: ansibel-doc -l | grep yum 就会列出关于使用yum是所对系统运维工资一般多少应的模块使用linux命令方法

  • ansibel node1-m yum_repository -a 'name=abc descransible常用模块iption=abcabc baseurl=(这里写yum源的地址) gpgcheck=no enabled=yes'
    yum_repository 搭建yum模块
    name 指定yum仓库名字
    description 仓库描述
    baseurl 软ansible常用命令件源地址
    gpgclinux重启命令hecansible判断运算符k 检测软件合法性 no关闭yes开启 如果开启 需要gpgkey的文件路径来检测
    enabled 是否开启仓库
    gpgkey 如果检测软件合法性,提供key的文件路径
  • yum 模块,用来安装软件包
    name 指定需要安装的软件包名称
    state 执行动作 present 安装 absent 删除 latest 升级 (安装是默认动作不写就是安装)
    ansibelinux系统l all -m yum -a 'name=unzip stlinux是什么操作系统ate=present/absansible模块ent/latest 使用yum装包
    ansibel all -m yum -a 'name="@包" ’ @跟包组表示将包组中的包全部安装,注意引号
    br/>@跟包组表示将包组中的包全部安装,注意引号
    ansibel all -m yum -a 'name=http‘ 使用ylinux常用命令um 用name 指定需要安装的软件

2、file 模块 创建文件

  • file模块 创建文件系统/运维
    path 路径
    state 动作 touch 文件directory 目录link 软/硬连接 link 包括absent 删除
    src 源文件路径
    dest 指定新路径
    owner 所属主
    gAnsibleroup 所属组
    mode 权限
  • ansiblelinux系统 all -m file -a 'state=touch/directory path=/root/qqq'
    表示使用创建文件的file模块 state类型指定touch创建文件、dir系统运维工程师ectory创建目录,path指定路径
  • ansible all -m file -a 'state=link src=/root/qqq dlinux删除文件命令est=/var/www'
    表示使用创建文件的file模块 state类型指定link创建连接目录, src指定源目录文件路径、dest指定链接文件路径
  • ansible all -m file -a 'path=/root/qwe owner=aaa group=bbb mode=0777'
    表示使用创建文件的file模块 path指定路径 owner指定所属主、group指定所属组、mode指定权限

3、copy 模块 cp拷贝

  • copy cp拷贝 主要作用是将控制主机的文件拷贝传送到被控主机上
    src 控制主机的目录ansible怎么读文件
    dest 被控主机的目录文件
    owner 所属主系统/运维
    group 所属组
    molinuxde 权限
    backup=yes 表示拷贝时,被控主机上有该目录时不覆盖而是做备份
  • ansible all -m copy -a 'src=/etc/qqq dest=/usr/www'
    表示使用copy模块 使用src 指定本地下的目录将他拷贝到dest所指定的远程被控主机上 ,dest指定拷贝过来的目录路径
  • ansible all -m copy -a 'src=/etc/qqq dest=/usr/www owner=aaa group=bbb mode=0777 '
    拷贝时可以更改目录或者不更改 后面可以加上 属主、属组、权限。
  • ansible all -m copy -a 'src=/etc/qqq dest=/usr/www owner=aaa group=bbb mode=0777 backup=yes '
    backup=yes 表示拷贝事 如果对linux方有dest所指定的这个目录文件, 那么将不做覆盖而是做备份。(原有的做备份 ,并改名为,目录文件后面加个点 并用tab补全ansible常用模块可查看)

4、user 模块 创建用户使用

  • user 模块 创建用户使用
    name 指定用户名字
    uidansible详解 指定用户id
    password 指定用户密码
    group 指定组id
    groups 添加一个附属组 不加append=yes 就是覆盖(添加附属组要确定有这个组)
    appendlinux必学的60个命令=yes 表示附加组时不是覆盖而是添加
    state 状态类型 present 安装 absent 删除
    remove=yes 删除用户时加上之后可以将该用户所有的信息删除干净同时删除家目录
  • ansible all -m -user -a 'name=qqq uid=1111 group=bin groupsansible详解=root'
    表示使用user模块创建用户 ,name指定用户名字, uid指定用户id, grouplinux指定用户组id,groups表示添加一个附加组。
  • ansible all -m -ulinux删除文件命令ser -a 'name=qqq uid=1111 group=bin groups=adm append=yes'
    表示加上了append=yes groups所指定添加的附属组adm为添加而不是覆盖ansibleplaybook,如果不加append=ylinux系统es 那么将会把用户原有的附属组给覆盖掉
  • ansible all -m user -a 'name=www password={{"123456" |password_hash("sha512")}}'
    password的格式 将123456密码通过管道符给到password_hash 使用sha512 加密方式 将密码加密。(注意括号Ansible类型、数量及引号)

5、group 模块 表示指定创建组

  • group 模块 表示指定创建组
    name 指定组名称
    gi系统运维工程师d 指定ansible常用命令组的id号
    state 状态类型 present 安装 absent 删除

  • ansiblansible详解e all -m group -a 'name=abcd gid=2222'
    表示创建使用group模块,使用name创建abcd组,gid指定组的idlinux删除文件命令号为2222
  • anlinux命令sible all -m group -a 'name=abcd state=absent'
    表示时使用state=absent 删除n系统运维工资一般多少ame所指定的abcd这linux系统安装个组 删除时不用加gid

6、service 模块 控制远程主机的服务开启、关闭、重启状态

  • s系统运维工作内容erveice 模块 控制远程主机的服务开启、关闭、重启linux系统状态
    name 指定服务名字
    state 状态
    started 打开/开启
    stopped 关闭
    restarted 重启
    reloaansible判断运算符ded 刷新
    enabled=yes 开机自启
  • ansible all -m server -a 'name=httpd state=started /stopped /rest系统运维工资一般多少arted /reloaded ' 开启/关闭/重linux启/刷新
    表示使用server模块 nansible判断运算符ame指定服务名称 state定义服务状linux系统

7、firewalld 模块 防火墙

  • firewalld 防火墙模块
    state 状态 enabled 启用规则 disabled 禁用规则
    zonansible常用命令e 区域名称
    service 服务协议名称
    port 定义端口/协议
    permanent=yes 永久生效
    immediate=yes 立刻生系统运维工资一般多少

  • ansible allinux系统l -m firewalld -a 'service=http zone=public state=enabled permanent=yes immediate=yes'
    表示Ansible将所有主机的public区域添加http,放行网站数据永久并立刻生效linux系统安装
  • ansible all -m filinux系统安装rew系统/运维alld -a 'port=ansible常用模块80/tcp zonlinux常用命令e=public state=enabled permanent=yes immedansible定义变量规则iate=yes'
    ansible怎么读示使用port的方式放行网站数据 与上linux操作系统基础知识条命令一样。(80端口即是http)

8、parted 模块 对磁盘分区操作

  • parted 模块 对磁盘分区操作
    device 操作linux重启命令的设备(对哪块磁盘进行分区)
    label 分区表的类型 默认的使用老的mbr(msdos)类型 新的是gpt 一旦使用后续分区都是这个格式,系统运维工程师不能更改,如果更改,之前分的区都消失变成重新分的区
    number 分区序号
    part_startAnsible 分区开始linux操作系统基础知识位置
    part_end 分区结束位置 (单位为MiB)
    state 操作方式
    present 安linux删除文件命令
    absent 删除
    info 查看 (linuxlinux必学的60个命令选项为默认可不加)

  • ansible all -m parted -a 'device=/dev/vdb number=1 part_start=0MiB part_endAnsible=100MiB stare=presAnsibleent'
    表示使用parted模块进行分区,对主机的/dev/vdb 硬盘创建ansible判断运算符第一个分区 大小为100MiB 后面是创建动作 一定要加
  • ansible all -m parted -a 'device=/dev/vdb number=1 stare=abseansible判断运算符nt'
    表示将cdb硬盘的第一linux常用命令linux常用命令分区删除掉

9、filesystem 模块 格式化硬盘分区

  • filesystem 模块 格式化硬盘分区
    dev 要格式化的区
    fstansible判断运算符ype 格式的类型
    force=yes 强制格式化
  • ansible all -m filesystem -a 'dev=/dev/vdb1 fstype=xfs'
    表示使用模块将vdb1 格式化成xfs格式
  • an系统运维工资一般多少sib系统/运维le all -m filesystem -a 'dev=/dev/vdb1 fstype=xfs force=yes'
    表示强制格系统/运维式化(如果已经格式化过,想更改类型的时候可以加上)

10、lvg 模块 创建卷组

  • lvg 模块 创建卷组
    vg 卷组名称
    pvs 指定物理卷
    pesize 指定pe大小
    state 操作方式
    present 安 装
    absent 删除
  • alinux系统安装nsible alinux必学的60个命令ll -m lvg -alinux删除文件命令 'pvs=/dev/vdb1 vg=myvg'
    表示利用vdb1 区 创建卷ansible详解组 名linux操作系统基础知识字为myvg
  • ansible all -m lvgAnsible -a 'pvs=/linux必学的60个命令dev/vdb1,/dev/vdb2 vg=myvg'
    表示可以使用逗号隔开从多个区中创建ansible常用模块卷组(空间比较大)
  • ansible all -m lvg -a 'vg=myvg state=absent'
    表示删除名为myvansible定义变量规则g的卷组

11、lvol 模块 创建逻辑卷

  • lvol 模块 创建逻辑卷
    lv 定义逻辑卷名称
    size 定义逻辑卷大Ansible
    vg 定义空间来自哪个卷组
    state 操作方式
    presentlinux删除文件命令 安 装
    absent 删除
    force=yes 强制删除
  • ansible all -m lvol -a 'lv=mylv size=500Milinux操作系统基础知识B vg=myvg'
    系统运维工程师示创建一个mylv的逻辑卷 大linux小是500 空间来自myvg卷组
  • ansible all -m lvol -a 'lv=mylv vg=myvg stlinux重启命令ate=absent forlinux系统安装ce=yes'
    表示删除名为mylv的逻辑卷 必须要加上强制删除的条件