playbook 模块

list together nested with_items

Templates 模块

jinja模块架构,通过模板可以实现向模板文件传参(python转义)把占位符参数传到配置文件中去。

生产一个目标文本文件,传递变量到文本文件当中去。

实验:

systemctl stop firewalld

systemctl disable firewalld

setenforce 0

yum -y install httpd

cd /etc/httpd/conf

cp httpd.conf /opt/httpd.conf.j2

cd /opt

修改httpd配置

42 Listen {{ http_port}}

95 ServerName {{server_name}}

119 DocumentRoot "{{root_dir}}"

vim /etc/ansible/hosts

hosts文件要和httpd.conf.j2文件占位符一致

httpd.conf.j2 在文件当中配置的是占位符(声明的变量)

/etc/ensible/hosts 配置了主机的占位符名称和j2文件中的占位符一致(定义参数:占位符的参数声明好)

playbook当中,template模块来把参数传给 目标的主机的配置文件。

nginx

yum安装nginx

yum -y install nginx

cp nginx.conf /opt/nginx.conf.j2

vim nginx.conf.j2

tags模块:

标签模块,可以在playbook当中为任务设定标签(tags),我们在允许playbook时可以通过指定任务标签,来实现只运行设定的标签任务。

任务标签的种类:

always:不管你是否指定了运行标签,任务都会执行

nerver:即使运行了指定标签,改任务也不会执行

debug:调试任务

setup:收集主机信息

自定义标签

per_tasks:指定标签之前的任务

post_tasks: 运行指定标签之后的任务

简单实验

运行时指定标签

ansible-playbook test2.yml --tags="debug"

ansible-playbook test2.yml --tags="nerver"

唯一特殊就是alawys,不管指定谁总会运行。

练习:

在目标touch quoqi. txt always

在目标主机复制分件/opt/wdf. txt

所有的任务默认标签就是alawys

roles模块

角色:

ansible层次化,结构化的组织playbook,使用了rolse(角色)

可以根据层次的结果,自带装载变量文件,task,以及handlers等等

rolse:分别把变量文件任务模块以及处理器,放在单独的目录当中,使用rolse模块来一键调用这些文件

roles:总目录

------web----总目录,角色

files 存放copy和script模块调用文件

templates 存放j2的模板文件

tasks 包含任务的目录

-------main.yml 角色运行的任务

handers 包含处理器的目录

-------main.yml

vars 存放变量的目录

-------main.yml

defaults 包含默认变量的目录

-------main.yml

meta 包含元信息的目录

-------main.yml

导演文件:

site.yml用来调用所有的配置文件。

实验:

安装:三个服务

http

mysql

php

cd /eyc/ansible/roles

安装之后自动有roles

创建三个服务目录

在不同的服务目录下创建不同的任务目录

在defaults,vars,tasks,meta,handers创建main.yml

在每个服务目录的tasks下的写main.yml

cd tasks/

vim main.yml

在vars目录下写main.yml

cd vars/

vim main.yml

三个角色要执行的任务和变量

编辑导演文件:

vim site.yml

开始

ansible-playbook site.yml

相关推荐
孙克旭_2 天前
day051-ansible循环、判断与jinja2模板
linux·运维·服务器·网络·ansible
leo__5204 天前
自动化运维:使用Ansible简化日常任务
运维·自动化·ansible
风清再凯9 天前
自动化工具ansible,以及playbook剧本
运维·自动化·ansible
IT乌鸦坐飞机9 天前
ansible部署数据库服务随机启动并创建用户和设置用户有完全权限
数据库·ansible·centos7
遇见火星22 天前
如何使用Ansible一键部署MinIO集群?
ansible
粥周粥22 天前
ANSIBLE
ansible
码农101号22 天前
Linux中ansible模块补充和playbook讲解
linux·运维·ansible
码农101号22 天前
Linux的Ansible软件基础使用讲解和ssh远程连接
ansible
烟雨书信24 天前
ANSIBLE运维自动化管理端部署
运维·自动化·ansible
碎碎-li24 天前
ANSIBLE(运维自动化)
运维·自动化·ansible