zoukankan      html  css  js  c++  java
  • Ansible 小手册系列 九(Playbook)

    playbook是由一个或多个"play"组成的列表。play的主要功能在于将事先归并为一组的主机装扮成事先通过ansible中的task定义好的角色。从根本上来讲所谓task无非是调用ansible的一个module。将多个play组织在一个playbook中即可以让它们联同起来按事先编排的机制同唱一台大戏。

    其主要有以下四部分构成:

    • Target section: 定义将要执行 playbook 的远程主机组
    • Variable section: 定义 playbook 运行时需要使用的变量
    • Task section: 定义将要在远程主机上执行的任务列表
    • Handler section: 定义 task 执行完成以后需要调用的任务

    ** 开始书写我们第一个playbook**

    第一步:定义我们的主机清单

    [web]
    192.168.77.129 ansible_ssh_pass=123456
    192.168.77.130 ansible_ssh_pass=1234567
    # 注:这里如果做了ssh免密码登陆,可以去掉

    第二步:明确playbook做哪些任务

    web组的主机完成下列任务

    1. 远程执行用户为root
    2. 安装httpd
    3. apache配置文件实现自定义http端口和客户端连接数
    4. 启动httpd,并设置其开机自启动

    第三步:书写playbook

    ---
    - hosts: web
      vars: 
        http_port: 80
        max_clients: 200
      remote_user: root
      tasks: 
        - name: ensure apache is at the latest version
          yum: name=httpd state=latest
        - name: write the apache config file
          template: src=/etc/ansible/httpd.conf.j2 dest=/etc/httpd/conf/httpd.conf backup=yes
          notify:
          - restart apache
        - name: ensure apache is running (and enable it at boot)
          service: name=httpd state=started enable=yes
      handlers:
        - name: restart apache
          service: name=httpd state=restarted
        

    第四步:运行playbok

    ansible-playbook -i hosts test.yml
    

      

    ** 在执行playbook前,可以做些检查**

    1、检查palybook语法

    ansible-playbook -i hosts httpd.yml --syntax-check
    

    2、列出要执行的主机

    ansible-playbook -i hosts httpd.yml --list-hosts
    

    3、列出要执行的任务

    ansible-playbook -i hosts httpd.yml --list-tasks
    

      



  • 相关阅读:
    【CF-148E】Porcelain DP
    【CF-687C】The Values You Can Make 01背包变形
    【CF-269】B. Greenhouse Effect 最公共子序列
    【CF-1345】C.Hilbert's Hotel 数论
    【CF-607B】Zuma 经典区间DP
    【【模板】三分法】
    【CF-1355 E.Restorer Distance】三分,贪心
    【CF-1355 BCount Triangles】枚举
    【CF-1355 Sequence with Digits】
    触发器的类型有哪三种?
  • 原文地址:https://www.cnblogs.com/wanstack/p/8534708.html
Copyright © 2011-2022 走看看