ansible运维自动化之playbook

定义

Playbook 是一个由一个或多个 play 组成的文件;play 是针对特定主机或主机组执行的一组有序的任务;每个 playbook 必须包含两部分:

hosts: 运行 playbook 的一组主机,事先在/etc/ansible/hosts 文件中

tasks: 需要在主机上运行的任务

除了这两个必须选项,还有一些可选项选项,也可能需要包含在 play 中,如:

name: play 的名称,在运行该 play 时,会在运行过程中显示

action:后面加上[模块名称]: [空格]  [执行模块的命令]

playbook 以 yaml 格式编写的,通常以 yml 扩展名保存。yaml 格式使用空格缩进,对于空格的数量没有特别要求,但需要注意:

  • 同一级别内的元素必须使用相同的缩进;
  • 对于子项目,缩进必须比父项目多
  • 样式如下

运行方法

ansible-playbook <filename.yml> ... [options]
运行前先给目标主机进行免密认证,否则在每次执行的时候加上-k 让后输入ssh连接密码
常见选项
                --check -C 只检测看是否会出现问题,不会执行
                --limit 192.168.199.111        只限制指定ip能运行

例一

利用playbook在指定主机创建mysql用户
ip已经添加到文件/etc/ansible/hosts文件中
        
绿色代表执行成功且没有任何改变
黄色代表执行成功且有改变
红色代表执行失败

例二

变量的使用
vim /etc/ansible/hosts,[test:vars]为公共变量,端口默认优先执行组内定义的变量,在执行公共变量,当执行.yml文件时,优先执行命令中定义的端口号
ansible-playbook test4.yml -k -e "port=88"
默认端口号为88

例三

使用192.168.199.149作为主机,在192.168.199.150,192.168.199.151上下载安装并运行nginx,s使150和151上各有三个端口可以访问不同内容,开放81,82,83端口,在150.151主机上配置html1,html2,html3目录,并在目录下配置index.html文件,并输入内容

使用模板templates,目录结构必须如下

192.168.199.49配置 

配置default.conf.j2格式的文件

执行命令,加上-k输入ssh连接密码

此时查看150,151主机上的/etc/nginx/conf.d/default.conf文件

150,151 的文件目录结构

查看端口是否启动

测试

相关推荐

  1. 自动化工具Ansibleplaybooks剧本

    2024-03-13 17:16:01       48 阅读
  2. 自动化工具----Ansible playbook详解

    2024-03-13 17:16:01       47 阅读
  3. Ansible自动化工具---Playbook

    2024-03-13 17:16:01       37 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-13 17:16:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-13 17:16:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-13 17:16:01       82 阅读
  4. Python语言-面向对象

    2024-03-13 17:16:01       91 阅读

热门阅读

  1. (差分)胡桃爱原石

    2024-03-13 17:16:01       42 阅读
  2. mysql 技术100问?

    2024-03-13 17:16:01       35 阅读
  3. 当网站服务器受到攻击怎么办?

    2024-03-13 17:16:01       41 阅读
  4. 高可用篇_A Docker容器化技术_I Docker基本概念

    2024-03-13 17:16:01       46 阅读
  5. web前端练习一

    2024-03-13 17:16:01       38 阅读
  6. docker实战之制作filebeat镜像

    2024-03-13 17:16:01       44 阅读
  7. 力扣-167. 两数之和 II - 输入有序数组(双指针)

    2024-03-13 17:16:01       34 阅读
  8. MySQL数据库基础知识之添加修改删除记录表

    2024-03-13 17:16:01       41 阅读
  9. 【c++每天一题】 乒乓球

    2024-03-13 17:16:01       39 阅读
  10. ValueError: too many values to unpack (expected 2)

    2024-03-13 17:16:01       43 阅读
  11. 配置redis伪集群

    2024-03-13 17:16:01       35 阅读