Ansible脚本— playbook剧本(进阶篇)

本文深入介绍了Ansible的高级用法,包括Templates模板模块,详细解析了Jinja2模板引擎的用法和配置示例。接着探讨了tags标签模块,展示了如何使用标签来选择性执行任务,包括单标签和多标签任务的执行。最后,详述了roles(角色)模块,阐述了角色的层次结构和如何配置安装LAMP环境在节点设备上,包括各个目录的含义和具体步骤。
摘要由CSDN通过智能技术生成

一、Templates模板 模块

1.1 简介

Jinja是基于Python的模板引擎。template类是Jinja的另一个重要组件,可以看作一个编译过的模块文件,用来生产目标文本,传递Python的变量给模板去替换模板中的标记。

1.2 用法示例

通过模板配置节点设备设置

在node1,2上查看

[root@node1 ~]# rpm -q httpd
httpd-2.4.6-67.el7.centos.x86_64
[root@node1 ~]# vi /etc/httpd/conf/httpd.conf 
修改添加:
Listen 80          主机变量
ServerName www.example.com:80   域名
MaxClients 300     最大连接数

在master上

1.拷贝文件到管理端当前目录下

[root@master ~]# scp root@192.168.40.12:/etc/httpd/conf/httpd.conf ./
[root@master ~]# mkdir demo	#创建目录,方便管理
[root@master ~]# mv httpd.conf demo/	#移动
[root@master ~]# cd demo/

[root@master demo]# vim httpd.conf	#编辑配置文件
修改添加变量
Listen {
  {http_port}}        监听端口,ip
ServerName {
  {server_name}}  域名
MaxClients {
  {access_num}}   最大连接数

[root@master demo]# mv httpd.conf httpd.conf.j2	将文件转变为模板

在这里插入图片描述
jinja2 是基于python的模板引擎,功能比较类似于PHP的smarty,J2ee的Freemark和velocity。它能完全支持unicode,并具有集成的沙盒执行环境,应用广泛。jinja2使用BSD授权

2.编辑配置文件

[root@master ~]# vim /etc/ansible/hosts 
添加修改变量
[mysql]
192.168.40.13 http_port=192.168.40.13:80 server_name=www.apples.com:80 access_num=500

3.设置脚本

[root@master demo]# pwd
/root/demo
[root@master demo]# cd
[root@master ~]# vim apavhe.yaml 
设置添加
- hosts: webserver  node1
  remote_user: root 
  vars:            定义变量
  - server: httpd   
  tasks:          执行的任务
  - name: install new apache    标题   安装最新版本
    yum: name={
  {server}} state=latest  操作 最新
  - name: config file   配置文件
    template: src=/root/demo/httpd.conf.j2 原文件本地 dest=/etc/httpd/conf/httpd.conf  目标地址
    notify:                 调用,调取(关联handlers模块)
    - restart httpd        
  - name: start httpd
    service: name={
  {server}} state=started  
  handlers:
  - name: restart httpd   
    service: name={
  {server}} state=restarted enabled=true
       
[root@master ~]# ansible-playbook apavhe.yaml --syntax-check	语法检查
[root@master ~]# ansible-playbook apache.yaml   执行脚本

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值