ansible-playbook

1playbook配置文件

(1):执行配置文件

        Playbook 配置文件使用YAML语法,具有简介明了,结构清晰等特点。Playbook 配置文件类似于shell脚本,是一个 YAML格式的文件,用于保存针对特定需求的任务列表,前面介绍的 ansible命令虽然可以完成各种任务,但是当配置一系列任务时,逐条输入命令就显得效率非常低下,更有效的方式在playbook配置中配置所有的任务代码.利用ansible-playbook 命令执行该文件,可以实现自动化运维,YAML文件的扩展名通常为.yaml或.yml.

      YAML i语法和其他高级语言类似,其结构通过缩进来展示,通过“”来代表选项,通过冒号“:”来分隔键和值。整个文件以“---”开始并以“...”结束。如下所示

 修改hosts文件:

《1》:vim /etc/ansible/hosts  编辑文件

写入:

[test01]

192.168.100.20

[test02]

192.168.100.30

《2》:vim /etc/ansible/test1.yml  编写脚本

写入:

---

- hosts: test01

  remote_user: root

  tasks:

    - name: adduser

      user: name=user2 state=present

      tags:

      - testa

    - name: addgroup

      group: name=tests system=yes

      tags:

      - testb

- hosts: test02

  remote_user: root

  tasks:

    - name: cf

      copy: src=/etc/passwd dest=/home

      tags:

      - testc

...

[root@ansible ~]# vim /etc/ansible/test1.yml    #创建test,yml文件

…                                    #开头格式(可忽略)

- hosts: test01                            #表示对test01(192.168.200.112)的操作

  remote_user: root                        #远端执行用户身份root

  tasks:                                    #任务列表

    - name: adduser                        #任务名称

      user: name=user2 state=present        #执行user模块创建用户

      tags:                                #创建tag标签

      - testa                                #tag标签为testa

    - name: addgroup                        #任务名称

      group: name=tests system=yes        #执行group模块创建一个组账号

      tags:                                #创建tag标签

      - testb                                #tag标签为testb

- hosts: test02                            #表示对test02(192.168.200.113)的操作

  remote_user: root                        #远端执行用户身份root

  tasks:                                    #任务列表

    - name: cf                            #任务名称

      copy: src=/etc/passwd dest=/home    #执行copy模块复制文件

      tags:                                #创建tag标签

      - testc                                #tag标签为testsc

...                                        #结尾格式(可忽略)

注:所有的“_"和”:“后面均有空格,而且要注意缩进和对齐

playbook的核心元素包含:

1:hosts:任务的目标主机,多个主机用冒号分隔,一般调用/etc/ansible/hosts 中的分组信息

2:remote_user:远程主机上,运行此任务的什么默认为root

3:tasks:任务。即定义的具体任务,有模块定义的操作列表

4:hadiers:触发器,类似tasks,只是在特定的条件下才会触发任务,某任务的状态在运行后changed时,可通过“notify”通知给相应的handers进行触发执行

5:roles:角色,将hosts剥离出去,有tasks,haders等所组成的一种特定的结构集合。

用法:

playbook文件定义的任务需要通过ansible-playbook命令进行调用并执行,ansible-playbook命令用法如下:

 其中[optin]部分的功能包括

  • --syntax-check:检测yaml文件的语法
  • -C (--check):测试,不会改变主机任何配置
  • --list-hosts:列出yaml文件影响的主机列表
  • --list-tags:列出yaml文件中标签
  • --list-tasks:列出yaml文件的任务列表
  • -t TAGS(--tags=TAGS):表示只执行指定标签的任务
  • --skip-tags=skip_TAGSS:表示除了指定标签任务,执行其他任务
  • --start-at-task=START_AT:从指定任务开始下运行

案例:

《1》:ansible-playbook --syntax-check /etc/ansible/test1.yml  检查语法

《2》:ansible-playbook -C /etc/ansible/test.yml  预测试

《3》:ansible-playbook --list-hosts /etc/ansible/test.yml  列出主机

《4》:ansible-playbook --list-tasks /etc/ansible/test.yml  列出任务

《5》:-C  :表示测试任务是否能跑起来)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BK_小小关

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值