Linux——ansible剧本

剧本(playbook)

现在,可以写各种临时命令

但如果,想把所有步骤,集合到一起,写到同一个文件里

让ansible自动按顺序执行

就必须要写"剧本"

剧本里面,也可以写临时命令,但是剧本有规范的文本格式

一个剧本里(playbook)

1.可以写多个"剧集",每一集是一个"play"

2.每个play里

指明,对哪些客户机操作,操作什么,顺序

具体格式

1.整个playbook开头,顶头写:---(三个横杠,没有空格)

2.往后退一层/一级,play的标题/名字

顶头写:一个横杠一个空格name冒号名字


  • name: xxxxxxx

3.再往下

和上面一行的name对其

文件名,以".yml"结尾

如果写完了playbook,让ansible执行:

#ansible-playbook xxx.yml

可以在执行前,进行"格式检查",不是运行检查,只检查剧本的格式

#ansible-playbook --syntax-check xxx.yml

空运行

演练、彩排?

能看到剧本执行的过程、流程、预期结果

来看一些例子(用法)

先来盘点一下,现在能写出来的,以及涉及到的

剧本内容->模块

yum或dnf模块

管理软件包

可以安装软件包,卸载软件包,更新软件包

于是,就会有个小问题,看上面的例子

用yum模块,指定了俩软件包httpd和firewalld

并没写类似与install之类的选项,默认就是安装?

其实,看最后state

也就是说,要通过yum,保证上面列出的两个软件包,处于哪个状态......

比如

present保证存在,absent确保不存在

这俩选项,比较通用,不光在yum模块里用到

对于yum模块,还有一个latest,确保存在并且是最新版本

再比如下面这个

copy这个模块,通常用来传文件

但是,看上面的例子,也可以直接把文本内容传进目标文件

于是~给客户机生成文件,就有多种方式

比如

copy把整个文件,传过去

copy把内容传过去

lineinfile确保目标文件里有某一行内容

继续

关于服务

Linux->软件包->执行->持续执行->守护进程->服务

可用的模块:service和systemd

state和enabled,分别管理一个服务的当前状态和开机启动设置

再然后,关于防火墙

主要是firewalld,不是iptables(是别的玩意)

首先是防火墙自己也是个服务

需要放行,每一个业务相关的其他服务

service、state

接下来两个不太一样

immediate,立即生效

permanent,永久生效(写入配置文件)

有了各个部分的内容,包括

安装软件、文件生成、服务启动、防火墙放行

再然后,需要安排什么事情?

需要编排剧本里每个部分的大顺序以及小顺序

解决方法......

1.停止服务,分别对a和b做

0)可以一个playbook里,写两个play

这两个play,分别写自己的hosts,各自包含servera和serverb

1)用service模块或systemd

2)name里包含httpd、mysqld

name里包含nginx

2.停止服务后,原来的配置文件和工作目录的文件,都还在

0)这些文件,是否还要保留?

关于配置文件的备份,可以在服务器本机,也可以放到远程的其他主机

如果要有文件的备份,通常,在服务部署时就会备份一次

至于其他时候的备份,就得按照企业的计划......

1)如果不需要考虑文件的备份,可以直接删除软件包

探索一个问题:通过yum或dnf安装的软件包,修改了配置文件......

在停止服务并且删除软件包后,配置文件还在不在?

3.卸载软件包

1)模块:yum或dnf

2)state就变成了absent,也就是确保指定的软件未安装

4.在指定的文件里,添加一行内容,不影响原有内容

1)copy也可以,lineinfile也可以

2)还可以?

用command模块,执行临时命令(但是,不能保证幂等性)

相关推荐
papaofdoudou8 分钟前
Linux内核任务调度时机总结
linux·运维·网络
草莓熊Lotso9 分钟前
Ext 系列文件系统核心:块、分区、inode 与块组结构详解
android·linux·c语言·开发语言·c++·人工智能·文件
开开心心_Every12 分钟前
系统清理工具清理缓存日志,启动卸载管理
运维·服务器·网络·数学建模·电脑·excel·抽象代数
小鸡食米2 小时前
Nginx基础
运维·服务器·nginx
~黄夫人~9 小时前
Linux 权限管理:用户组 + 特殊权限 + ACL 解析
linux·运维·计算机·学习笔记·权限管理
2501_907136829 小时前
手搓仓库管理系统Senbar-1.0.4(附带财务管理板块)
运维·服务器·软件需求
badwomen__10 小时前
MOV 指令的数据流向
服务器·性能优化
盟接之桥11 小时前
盟接之桥EDI软件:API数据采集模块深度解析,打造企业数据协同新引擎
java·运维·服务器·网络·数据库·人工智能·制造
2501_9071368211 小时前
离线工具箱 内含53个小工具
linux·服务器·网络
时空潮汐11 小时前
神卓N600 NAS身份核验功能深度解析
linux·运维·网络·神卓nas·神卓n600 pro·家庭轻nas