ansible剧本模式特殊模块使用

这篇具有很好参考价值的文章主要介绍了ansible剧本模式特殊模块使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Nginx安装剧本

vim /etc/ansible/hosts

ansible剧本模式特殊模块使用

 vim /etc/ansible/playbook/default.conf.j2

ansible剧本模式特殊模块使用

 vim /etc/ansible/test_nginx.yaml

​​​​​​​ansible剧本模式特殊模块使用

 

检查一下是否有语法错误

ansible剧本模式特殊模块使用

ansible-playbook /etc/ansible/test_nginx.yaml

ansible剧本模式特殊模块使用

ansible-playbook test1.yaml

//补充参数

-k(-ask-pass):用来交互输入ssh密码

-K(-ask-become-pass):用来交互输入sudo密码

-u:指定用户

-e:命令行指定变量

--syntax-check 粗略检查语法

--list-task #列出任务

--start-at-tast=‘install httpd by yum’#指定执行的位置

获取子字段的值(address)加点指定即可

copy:count“ansible_default_ipv4.address”

when //条件判断,常见实现跳过某个主机不执行

//迭代ansible提供了很多种循环结构,命名为with_items作用等同于loop循环

tasks任务 模块的格式

横向格式

user:name=zhagnsan groups=kgc

纵向格式

user:

 name: zhagnsan

 groups: "{{item}}"

with_items 的编写格式

横向格式

值为纯量时

with_items: ["a","b","c"]

值为对象时

with_items:{key1: value1,key2: value2}

with_items:

- {key1: value1,key2: value2}

纵向格式

值为纯量是(单纯的一个值)

with_items:

- a

- b

- c

值为对象时

with_items:

- key1: value1

- key2: value2

ansible循环结构体

with_items  with_flattened  with_list  loop

-a

-b

-c

在处理单层列表(每个列表只有一个元素)时,上面几个循环机构体是没有区别的,都会把每个列表的值遍历一遍

with_items with_flattened with_list loop

- [a,b,c]

- [1,2,3]

- [A,B,C]

在处理嵌套的多层列表(一个列表有多个元素)时,with_items和with_flattened会将嵌套列表拉平扩展,将循环处理所有的元素

with_list和loop不会嵌套列表拉平扩展,指挥按照最外层的列表进行循环处理

with_together 将几个列表的元素对其合并后输出,比如第一个列表的第一个元素和第二个列表的第一个元素合并输出,第一个列表第二个元素和第二个列表第二个元素合并输出

with_nested with_cartesian 将每个列表的元素按照分别组合循环输出比如a1A a1B a1C   a2A a2B a2C . . . .

运行playbook

ansible-playbook XXX.yaml --ayntax-check #检查语
法 --list-task 列出所有任务 --lisst-hosts 列出剧本在那个主机执行 --start-at-task='任务名称' 指定从哪个任务开始执行

使用普通用户执行playbook

-remote_user:普通用户 #远程主机需要事先sudo授权

become:yes

become_user: root

ansible-playbook XXX.yaml -k -K

定义和引用变量

- name:

. . .

vars:

- 变量1: 值1

- 变量2: 值2

- 变量3:

   - key1: value1 - {key1: value1, key2: value2}

     key2:value2 - {key1: value3,key2:value4}

- 变量4:

    - 值1

    - 值2

    -值3

- 变量5:【值1,值2,值3】

tasks:

-name: XXX

模块:参数选项1={{item}}

with_items: “{变量4}”

在tasks里引用变量是,可以从vars自定义的变量中引用,还可以直接引用facts字段的值,还鞥你ansible-playbook -e "变量名=值",此方式优先级大于playbook中vars定义的变量的值

when条件判断

- name:

. . .

tasks:

- name: XXX

   模块:. . .

   when: 变量名 条件运算符(== != >= <= )"值" when判断结果为true才会执行当前任务,false不执行任务

template模板模块

1)先要准备一个xxx.j2 模板文件,在文件中使用{{变量名}} 引用主机变量或者vars自定义的变量及facts字段的值

2)在playbook中的tasks中定义templae模板配置 template:src=XXX.j2 dest=XXX

tags模块

可以在一个playbook中为某个或某些任务定义“标签”,在执行此playbook时通过标签执行

tags模块

- name:

 . . .

 tasks:

 tags:

 - 标签1

 - 标签2

- name:XXX

模块:

tags:

 -aways

ansible-playbook --tags="标签" XXX.yaml文章来源地址https://www.toymoban.com/news/detail-485093.html

到了这里,关于ansible剧本模式特殊模块使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Ansible playbook ----- 剧本

    playbooks 本身由以下各部分组成 (1)Tasks:任务,即通过 task 调用 ansible 的模板将多个操作组织在一个 playbook 中运行 (2)Variables:变量 (3)Templates:模板 (4)Handlers:处理器,当changed状态条件满足时,(notify)触发执行的操作 (5)Roles:角色 //示例: vim test1.yaml ---    

    2024年02月10日
    浏览(41)
  • ansible的剧本

    1.1 playbooks的组成 Tasks 任务,即通过 task 调用 ansible 的模板将多个操作组织在一个 playbook 中运行 Variables 变量 Templates 模板 Handlers 处理器,当changed状态条件满足时,(notify)触发执行的操作 Roles 角色 1.2 playbooks剧本范例 Ansible在执行完某个任务之后并不会立即去执行对应的h

    2024年02月21日
    浏览(33)
  • ansible进阶-剧本调试方法

    目录 1、调试方法 2、实例 2.1    Debug模块  2.2    tags标签 2.3    忽略错误 1、调试方法 具体方法 应用场景 debug标签 执⾏剧本的时候输出剧本的执⾏流程,⼀般配合register⼀起使⽤. 输出facts变量自定义变量 tags标签 给⼀些模块加上标签,运⾏剧本的时候可以运⾏指定标签的内容

    2024年04月22日
    浏览(25)
  • Ansible之playbook剧本

    playbook 是 ansible 用于配置,部署,和管理被控节点的剧本。通过 playbook 的详细描述,执行其中的一系列 tasks ,可以让远端主机达到预期的状态。playbook 就像 Ansible 控制器给被控节点列出的的一系列 to-do-list ,而被控节点必须要完成。也可以这么理解,playbook 字面意思,即剧

    2024年02月09日
    浏览(36)
  • ansible的playbook剧本

    (1)Tasks:任务,即通过 task 调用 ansible 的模块将多个操作组织在一个 playbook 中运行 (2)Variables:变量 (3)Templates:模板 (4)Handlers:处理器,当changed状态条件满足时,(notify)触发执行的操作 (5)Roles:角色 ==Ansible在执行完某个任务之后并不会立即去执行对应的han

    2024年02月12日
    浏览(37)
  • Ansible 的脚本 --- playbook 剧本

    playbook是 一个不同于使用Ansible命令行执行方式的模式,其功能更强大灵活。 简单来说,playbook是一个非常简单的配置管理和多主机部署系统, 不同于任何已经存在的模式,可作为一个适合部署复杂应用程序的基础。 Playbook可以定制配置,可以按照指定的操作步骤有序执行,

    2024年02月10日
    浏览(37)
  • Ansible Playbook剧本配置文件

    目录 一、执行文件 修改hosts文件 Playbook的核心元素包含: 用法 实验案例 1.语法检查 2.预测试 3.列出主机 4.列出任务 5.列出标签 6.进行测试 7.测试查看 二、触发器 handlers触发器的实验实例如下 预执行 执行 查看结果 三、角色 /etc/ansible/roles/为角色集合,该目录下有自定义的各

    2024年02月16日
    浏览(40)
  • Ansible之playbook剧本编写

    playbook是 一个不同于使用Ansible命令行执行方式的模式,其功能更强大灵活。简单来说,playbook是一个非常简单的配置管理和多主机部署系统,不同于任何已经存在的模式,可作为一个适合部署复杂应用程序的基础。Playbook可以定制配置,可以按照指定的操作步骤有序执行,支

    2024年02月14日
    浏览(35)
  • 【Ansible 的脚本 --- playbook 剧本】

    playbooks 本身由以下各部分组成 将yum安装的nginx里面的配置文件进行修改,后传输到对应的远程主机 解压wordpress压缩文件,放入到对应的html网页目录底下 进行传输到远程主机里的网页页面目录上 使用浏览器进行访问测试

    2024年02月14日
    浏览(30)
  • Ansible 的脚本-playbook 剧本

    1.playbooks 本身由以下各部分组成 (1)Tasks:任务,即通过 task 调用 ansible 的模板将多个操作组织在一个 playbook 中运行 (2)Variables:变量 (3)Templates:模板 (4)Handlers:处理器,当changed状态条件满足时,(notify)触发执行的操作 (5)Roles:角色 2.示例 3.定义、引用变量

    2024年02月06日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包