ansible基本命令与剧本编写(二)

前言

本文紧接上篇博客,本文将将ansible的模块使用方法讲完,并且讲解主机清单与剧本的相关知识。

一、ansible模块基本使用方法

1.1 yum模块

yum模块:用于安装与卸载软件包
ansible 10.0.0.5 -m yum -a ‘name=httpd’ ————————————安装httpd软件包
在这里插入图片描述
ansible xjy -m yum -a ‘name=httpd state=absent’ ———————————删除httpd软件包
在这里插入图片描述

1.2 service模块

service模块:用于操作服务包括started(开启)、stopped(关闭)、reload(重新加载)、restarted(重启)等

ansible xjy -m service -a ‘name=httpd state=started’ —————开启httpd服务
在这里插入图片描述
在这里插入图片描述

1.3 script 模块

script模块:用于执行shell脚本给远程被操作的主机
例如:利用ansible在控制机中的一个文件中(这里用的1.txt)写入123到被控制机根目录下的123.txt文件中
第一步 在控制机中写入脚本
在这里插入图片描述
第二步 用ansible执行脚本
ansible xjy -m script -a ‘1.txt’ ——————————执行1.txt文件
在这里插入图片描述

1.4 setup 模块

setup模块:用于查看服务器节点信息

用法:ansible 组名或ip -m setup -a ‘filter=想搜索的内容’ ————————查看该组名或ip对应的服务器节点的信息
ansible xjy -m setup -a ‘filter=ansible_default_ipv4’ ————————查看本节点的ens33网卡信息在这里插入图片描述

二、Inventory 主机清单与变量配置

2.1 主机清单变量汇总

在这里插入图片描述

2.2 主机清单变量的作用与配置方法

作用:通过定义主机清单变量,可以同时操作不同属性的主机,简单来说它可以用来告诉ansible主机,被控制的主机的属性(比如端口、密码、用户)已经不是默认的了,要远程控制需要用定义的这个变量属性才可以远程连接进行操作。
例如:通过定义主机清单变量,操作不同端口的主机
第一步 更改被控制主机的端口
vim /etc/ssh/sshd_config
在这里插入图片描述
(更改完配置文件记得重启sshd服务)
第二步 尝试直接远程操作该主机
ansible 10.0.0.9 -m command -a ‘ls /opt’ ———————————查看opt下所有文件和目录
在这里插入图片描述
第三步 在ansible映射中写入主机清单变量
vim /etc/ansible/hosts ————————编辑ansible映射
在这里插入图片描述
第四步 再次尝试远程连接操作
这次发现可以连接上了,其实,主要原理就是,我写入了主机清单变量,指定了10.0.0.9的端口,相当于ansible在远程连接被控制主机的端口的时候,告诉了ansible要连接这个端口才可以连接的上。
在这里插入图片描述

2.3 组嵌套使用

作用:当我们想同时操作好几台被控制主机是除了all,我们目前只知道的方法就是一个一个输,这样的操作效率太慢,那么,我们想要一次性用一条命令就能操作机台主机就要使用到组嵌套。

概念:组嵌套顾名思义就是将几个组合成一个大组,我们在远程操作时直接操作这个大组就可以实现多个主机同时操作。

大组写法:组名:children

使用方法:在ansible映射中写入大组,远程操作时,直接选定大组为操作对象
ansible www -m command -a ‘ls /opt’ ————————操作大组中所有主机查看opt目录下的所有文件和目录
在这里插入图片描述
在这里插入图片描述

三、playbook编写(部分)

3.1 Playbook 的结构

Ansible 的 Playbook 是一个包含多个 Play 的 YAML 文件,每个 Play 负责对指定的 主机组 执行一系
列的任务。Playbook 通常由以下几部分组成:
Tasks:每个任务会调用一个模块来在目标主机上执行操作。

Variables:通过定义和使用变量,使 Playbook 更具灵活性和可重用性。

Templates:通过 Jinja2 模板动态生成配置文件。

Handlers:用于响应任务执行后的变更( notify 触发)。(例如在更改配置文件后,可以自动重启服务)

Roles:把多个任务、变量、模板、文件、处理程序组织成模块化结构,便于复用。

3.2 ansible playbook简单编写

在这里插入图片描述
在这里插入图片描述
可以看到,以上脚本执行成功
ansible-playbook test1.yaml ——————————运行 playbook
ansible-playbook test1.yaml --syntax-check ——————————检查语法
在这里插入图片描述
ansible-playbook test1.yaml --list-task ——————————查看任务列表
在这里插入图片描述
ansible-playbook test1.yaml --list-hosts ——————————查看影响的主机
在这里插入图片描述
ansible-playbook test1.yaml --start-at-task=‘install httpd’ ————————从指定任务开始执行
在这里插入图片描述

3.3 when条件判断

在这里插入图片描述
在这里插入图片描述

总结

本文紧接上篇博客,本文将将ansible的模块使用方法讲完,并且讲解主机清单与剧本的相关知识,希望本文内容能对大家有所帮助,谢谢观看😜

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值