企业—ansible的playbook应用

一.为什么要引入playbook

我们完成一个任务,例如安装部署一个httpd服务,我们需要多个模块(一个模块也可以称之为task)提供的功能来完成。而playbook就是组织多个task的容器,它的实质就是一个文件,有着特定的组织格式,它采用的语法格式是YAML(Yet Another Markup Language)。YAML语法能够简单的表示散列表,字典等数据结构。

二.yuml基本语法

1.列表:每一个列表成员都要有一个短横线和空格

fruits:
    - Apple
    - Orange
    - Strawberry
    - Mango

或者:
fruits: ['Apple', 'Orange', 'Strawberry', 'Mango']

2.字典:每一个成员由键值对组成,注意冒号后面要有空格

martin:
    name: Martin D'vloper
    job: Developer
    skill: Elite
或者
martin: {name: Martin D'vloper, job: Developer, skill: Elite}

列表和字典可以混用

3.yaml文件中短杠和冒号后面默认为2个空格,配置本地用户在yaml配置文件中使用tab自动补齐2个空格

[devops@server1 ~]$ vim .vimrc
autocmd filetype  yaml setlocal ai ts=2 sw=2 et

三.playbook的基础组件

  • Hosts:运行执行任务(task)的目标主机
  • remote_user:在远程主机上执行任务的用户
  • tasks:任务列表
  • handlers:任务,与tasks不同的是只有在接受到通知时才会被触发
  • templates:使用模板语言的文本文件,使用jinja2语法。
  • variables:变量,变量替换{ { variable_name }}

整个playbook是以task为中心,表明要执行的任务。hosts和remote_user表明在哪些远程主机以何种身份执行。其他组件让其能够更加灵活。

四.playbook的应用

部署httpd服务:

1.编辑yaml文件

[devops@server1 ansible]$ vim playbook.yml
文件编辑内容如下:
---     必须有的
#deploy apache   操作说明
- hosts:  webservers  定义主机
  tasks:   任务
    - name: install httpd    任务起名可任意
      yum:   任务调用的模块
        name: httpd
        state:  latest   安装最新版的
    - name: create index.html
      copy:
        content:  "www.westos.org\n"
        dest: /var/www/html/index.html
    - name: configure httpd
      copy:
        src:  files/httpd.conf    需要在当前目录下建立files目录并且将httpd.conf文件放入该目录
        dest: /etc/httpd/conf/httpd.conf
        owner:  root
        group:  root
        mode: 644
      notify: restart httpd

    - name: start httpd
      service:
        name: httpd
        state:  started
        enabled:  true
    - name: start firewalld
      service:
        name: firewalld
      
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值