playbook详解

一、playbook简介

  • Playbooks是ansible执行任务的另一种完全不同的方式,并且功能特别强大。
    playbooks是真正简单的配置管理和多机器部署系统的基础,并且非常适合部署复杂的应用程序。
  • 官网:playbook官网

二、playbook基本语法

  • playbook使用yaml语法
    yaml语法讲解:yaml语法讲解
    yaml语法检验:yaml语法检验(网络检测工具,敏感信息不要输入)

  • 样本示例:官网示例

  • 先举个栗子
    nginx.yml

    ---
    - hosts: all
      tasks: 
        - name: Install nginx
          yum: name=nginx state=present
        - name: template nginx.conf
          template: src=./nginx.conf.j2 dest=/etc/nginx/nginx.conf owner=root group=root mode=0644 validate='nginx -t -c %s'
          notify: 
            - Restart Nginx Service
      handlers: 
        - name: Restart Nginx Service
          service: name=nginx state=restarted
    
    • 1,第一行表示是YAML文件,非必须
    • 2,- hosts:后面是主机的组命
    • 3,tasks是任务动作的集合,可以有多个任务
    • 4,name是操作的描述或注释
    • 5,yum是使用yum模块执行,后面跟着一些本模块的参数
    • 6,template是模块,src是源文件(jinja2语法的模板文件以 .j2后缀),dest是生成的目标文件。
    • 7,notify执行需要有触发条件,如果文件改变,则会触发notify执行(和handlers组合使用,name和上面必须一样)
    • 8,service模块,后面是参数
  • 检查yml文件语法是否正确:ansible-playbook nginx.yml --syntax-check

  • 一般都是缩进错误,空格错误。一定要使用空格,不要使用tab键
    A YAML file cannot contain tabs as indentation
    yaml文件不能包含制表符作为缩进

  • 执行:ansible-playbook -i hosts nginx.yml

三、playbook常用内置词汇说明

remote_user: root  【远程ssh认证用户】
sudo: yes          【设置"playbook sudo"操作】
sudo_user: admin   【设置"playbook sudo"操作】
gather_facts: no   【设置facts信息收集】
accelerate: no     【设置accelerate模式(在客户端开启守护进程)】
accelerate_port: 8088 【设置accelerate端口】
max_fail_percentage: 30 【设置任务失败比例,超过30%就停止】
serial: 15 【设置并发数目】
vars: 
    nginx_port: 80  【设置变量,可通过模板使用变量。】
    
vars_files: 
    - "vars.yml" 【 变量的文件】
    - ["vars1.yml","vars2.yml"] 【使用列表可传多个文件】

roles: 
    - docker  【角色】
    
tasks:
    - include:tasks.yml  【引入tasks,也可单独写入任务】
    
post_tasks: 
    -name: post_taske   【运行之后的tasks】
    
handles:
    - include:handlers.yml 【由 notify 触发】

四、playbook中的roles角色

  • 官网介绍:roles官网

  • 如果任务多,就可以分别写到不同的角色里。每一个角色再写自己的tasks。这样也好管理。再以roles的方式写入playbook,执行任务。这样在总任务文件中就可以不写tasks了,起到了解耦的作用。

  • 简单示例
    site.yml:统一入口文件
    roles/nginx/tasks/main.yml :角色的入口文件
    site.yml和roles同级目录
    site.yml中:

    ---
    - hosts: ceshi
    gather_facts: no
    
    roles:
      - nginx 
    

    main.yml中:

    ---
    - name: install nginx
      yum: name=nginx state=present
    - name: start service nginx
      service: name=nginx state=restarted
    

    执行:ansible-playbook -i hosts site.yml

五、playbook变量与引用

  • 官网:variables官网

  • (1)、在主机清单里定义变量

    [ceshi:vars]
    key=value 
    
  • (2)、在playbook中定义变量

    vars:
        key:value
    
  • (3)、在命令行使用变量使用

    -e "key=value"
    
  • (4)、在文件中定义并引用
    vars.yml

    ---
    key1: value1
    key2: value2
    

    playbook中

    vars_files: 
        - "vars.yml" 
    

未完待续。。。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,907评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,987评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,298评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,586评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,633评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,488评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,275评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,176评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,619评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,819评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,932评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,655评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,265评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,871评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,994评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,095评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,884评论 2 354