zoukankan      html  css  js  c++  java
  • CentOS7 5 ansible playbook 示例

    一、playbook

    playbooks是一个不同于使用Ansible命令行执行方式的模式,其功能更强大灵活。
    简单来说,playbook是一个非常简单的配置管理和多主机部署系统,不同于任何已经存在的模式,可作为一个适合部署复杂应用程序的基础。
    Playbook可以定制配置,可以按照指定的操作步骤有序执行,支持同步和异步方式。
    值得注意的是playbook是通过YAML格式来进行描述定义的。
    playbook是由一个或多个模块组成的,使用多个不同的模块,完成一件事情。
    playbook通过yaml语法识别描述的状态文件。扩展名是yaml

    二、创建一个playbook

    [root@mongodb05 playbook]# cat run.yml
    ---
    - hosts: agent
      remote_user: root
      tasks:
      - name: mkdir prometheus
        command: 'mkdir /u01/soft/prometheus -p'
      - name: scp node_exporter
        copy: src=/u01/soft/prometheus/node_exporter-0.18.1.linux-amd64.tar.gz dest=/tmp/node_exporter-0.18.1.linux-amd64.tar.gz
      - name: tar node_exporter-0.18.1.linux-amd64.tar.gz
        command: 'tar -vzxf /tmp/node_exporter-0.18.1.linux-amd64.tar.gz -C /u01/soft/prometheus'
      - name: "rename node_exporter"
        command: 'mv /u01/soft/prometheus/node_exporter-0.18.1.linux-amd64   /u01/soft/prometheus/node_exporter'
      - name: "scp node_exporter.service"
        copy: src=/usr/lib/systemd/system/node_exporter.service dest=/usr/lib/systemd/system/node_exporter.service backup=yes
      - name: create group
        command: 'groupadd prometheus'
      - name: create user
        command: 'useradd -g prometheus prometheus'
      - name: change prometheus owner
        command: 'chown -R prometheus.prometheus /u01/soft/prometheus/'
      - name: systemctl daemon-reload
        command: 'systemctl daemon-reload'
      - name: enable node_exporter.service
        command: 'systemctl enable node_exporter.service'
      - name: start node_exporter.service
        command: 'systemctl start node_exporter.service'

    三、检查playbook语法

    ansible-playbook run.yml  --syntax-check

    四、执行playbook

    每一步都是分服务器执行

    [root@mongodb05 playbook]# ansible-playbook run.yml
    [DEPRECATION WARNING]: The TRANSFORM_INVALID_GROUP_CHARS settings is set to allow bad characters in group names by default, this will change, but still be user configurable on deprecation. This feature will be removed in version
    2.10. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.
    [WARNING]: Invalid characters were found in group names but not replaced, use -vvvv to see details

    PLAY [agent] *****************************************************************************************************************************************************************************************************************************
    TASK [Gathering Facts] *******************************************************************************************************************************************************************************************************************
    ok: [172.16.102.16]
    ok: [172.16.102.14]
    ok: [172.16.102.13]
    ok: [172.16.102.12]
    ok: [172.16.102.19]
    ok: [172.16.102.18]
    ok: [172.16.102.20]
    ok: [172.16.102.11]
    TASK [mkdir prometheus] ******************************************************************************************************************************************************************************************************************
    [WARNING]: Consider using the file module with state=directory rather than running 'mkdir'.  If you need to use command because file is insufficient you can add 'warn: false' to this command task or set 'command_warnings=False' in
    ansible.cfg to get rid of this message.
    changed: [172.16.102.14]
    changed: [172.16.102.16]
    changed: [172.16.102.12]
    changed: [172.16.102.13]
    changed: [172.16.102.19]
    changed: [172.16.102.20]
    changed: [172.16.102.18]
    changed: [172.16.102.11]
    TASK [scp node_exporter] *****************************************************************************************************************************************************************************************************************
    changed: [172.16.102.14]
    changed: [172.16.102.12]
    changed: [172.16.102.16]
    changed: [172.16.102.13]
    changed: [172.16.102.19]
    changed: [172.16.102.20]
    changed: [172.16.102.18]
    changed: [172.16.102.11]
    TASK [tar node_exporter-0.18.1.linux-amd64.tar.gz] ***************************************************************************************************************************************************************************************
    [WARNING]: Consider using the unarchive module rather than running 'tar'.  If you need to use command because unarchive is insufficient you can add 'warn: false' to this command task or set 'command_warnings=False' in ansible.cfg to
    get rid of this message.
    changed: [172.16.102.14]
    changed: [172.16.102.16]
    changed: [172.16.102.13]
    changed: [172.16.102.12]
    changed: [172.16.102.19]
    changed: [172.16.102.18]
    changed: [172.16.102.20]
    changed: [172.16.102.11]
    TASK [rename node_exporter] **************************************************************************************************************************************************************************************************************
    changed: [172.16.102.16]
    changed: [172.16.102.13]
    changed: [172.16.102.12]
    changed: [172.16.102.14]
    changed: [172.16.102.19]
    changed: [172.16.102.20]
    changed: [172.16.102.18]
    changed: [172.16.102.11]
    TASK [scp node_exporter.service] *********************************************************************************************************************************************************************************************************
    changed: [172.16.102.16]
    changed: [172.16.102.14]
    changed: [172.16.102.13]
    ok: [172.16.102.12]
    changed: [172.16.102.19]
    changed: [172.16.102.18]
    changed: [172.16.102.20]
    changed: [172.16.102.11]
    TASK [create group] **********************************************************************************************************************************************************************************************************************
    changed: [172.16.102.16]
    changed: [172.16.102.14]
    changed: [172.16.102.13]
    changed: [172.16.102.12]
    changed: [172.16.102.19]
    changed: [172.16.102.18]
    changed: [172.16.102.20]
    changed: [172.16.102.11]
    TASK [create user] ***********************************************************************************************************************************************************************************************************************
    changed: [172.16.102.14]
    changed: [172.16.102.16]
    changed: [172.16.102.12]
    changed: [172.16.102.19]
    changed: [172.16.102.13]
    changed: [172.16.102.18]
    changed: [172.16.102.20]
    changed: [172.16.102.11]
    TASK [change prometheus owner] ***********************************************************************************************************************************************************************************************************
    [WARNING]: Consider using the file module with owner rather than running 'chown'.  If you need to use command because file is insufficient you can add 'warn: false' to this command task or set 'command_warnings=False' in ansible.cfg
    to get rid of this message.
    changed: [172.16.102.14]
    changed: [172.16.102.13]
    changed: [172.16.102.16]
    changed: [172.16.102.12]
    changed: [172.16.102.19]
    changed: [172.16.102.18]
    changed: [172.16.102.20]
    changed: [172.16.102.11]
    TASK [systemctl daemon-reload] ***********************************************************************************************************************************************************************************************************
    changed: [172.16.102.16]
    changed: [172.16.102.14]
    changed: [172.16.102.12]
    changed: [172.16.102.13]
    changed: [172.16.102.19]
    changed: [172.16.102.18]
    changed: [172.16.102.20]
    changed: [172.16.102.11]
    TASK [enable node_exporter.service] ******************************************************************************************************************************************************************************************************
    changed: [172.16.102.16]
    changed: [172.16.102.14]
    changed: [172.16.102.12]
    changed: [172.16.102.13]
    changed: [172.16.102.19]
    changed: [172.16.102.18]
    changed: [172.16.102.20]
    changed: [172.16.102.11]
    TASK [start node_exporter.service] *******************************************************************************************************************************************************************************************************
    changed: [172.16.102.16]
    changed: [172.16.102.12]
    changed: [172.16.102.14]
    changed: [172.16.102.13]
    changed: [172.16.102.19]
    changed: [172.16.102.18]
    changed: [172.16.102.20]
    changed: [172.16.102.11]
    PLAY RECAP *******************************************************************************************************************************************************************************************************************************
    172.16.102.11              : ok=12   changed=11   unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
    172.16.102.12              : ok=12   changed=10   unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
    172.16.102.13              : ok=12   changed=11   unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
    172.16.102.14              : ok=12   changed=11   unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
    172.16.102.16              : ok=12   changed=11   unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
    172.16.102.18              : ok=12   changed=11   unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
    172.16.102.19              : ok=12   changed=11   unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
    172.16.102.20              : ok=12   changed=11   unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
  • 相关阅读:
    leetcode 189. Rotate Array 数组旋转 ---------- java
    Google test Problem A. Country Leader
    leetcode 187. Repeated DNA Sequences 求重复的DNA串 ---------- java
    mysql忘记密码(未初始化)
    leetcode 186. Reverse Words in a String II 旋转字符数组 ---------- java
    CSS3属性transform详解之(旋转:rotate,缩放:scale,倾斜:skew,移动:translate)(转载)
    bootstrap
    bootstrap使用中遇到的问题(二)
    兼容ie8 rgba()用法
    浏览器前缀
  • 原文地址:https://www.cnblogs.com/xibuhaohao/p/12221565.html
Copyright © 2011-2022 走看看