zoukankan      html  css  js  c++  java
  • Ansible(自动化运维工具--playbook)

    一、什么是playbook

    ansible-playbook是一系列ansible命令的集合,就像执行shell命令与写shell脚本一样,也可以理解为批处理任务利用yaml 语言编写。playbook命令根据自上而下的顺序依次执行。

    play的主要功能在于将事先归并为一组的主机装扮成事先通过ansible中的task定义好的角色

    二、playbooy剧本主要有三部分组成:

    1、hosts部分:使用hosts指示使用哪个主机或主机组来运行下面的tasks,每个playbook都必须指定hosts,hosts也可以使用通配符格式。主机或主机组在inventory清单中指定,可以使用系统默认的/etc/ansible/hosts,也可以自己编辑,在运行的时候加上-i选项,指定清单的位置即可

    2、remote_user:指定远端主机中的哪个用户来登录远端系统,在远端系统执行task的用户,可以任意指定,也可以使用sudo,但是用户必须要有执行相应task的权限。

    3、tasks:指定远端主机将要执行的一系列动作。tasks的核心为ansible的模块,前面已经提到模块的用法。tasks包含name和要执行的模块,name是可选的,只是为了便于用户阅读,不过还是建议加上去,模块是必须的,同时也要给予模块相应的参数。

    [root@ansible ansible]# cat test.yml 
    #创建测试文件
    - hosts: web  #主机组或主机名
      remote_user: root  #设置执行任务的用户
      tasks:
            - name: create files  #任务名字
              shell: touch /tmp/bin/test{100..120}  #执行的任务

    三、示例

    1、安装Samba服务

    [root@ansible ansible]# cat samba_server.yml 
    # install samba
    - hosts: web
      remote_user: root
      tasks:
            - name: yum install samba server.
              yum: name=samba state=latest

    执行结果:

    2、不同主机安装不同服务:

    [root@ansible ansible]# cat servers.yml 
    # install server
    - hosts: 192.168.64.129
      remote_user: root
      tasks:
            - name: yum install nginx server.
              yum: name=nginx state=latest
    - hosts: 192.168.64.131
      remote_user: root
      tasks:
            - name: yum install vsftpd server.
              yum: name=vsftpd state=latest

     

  • 相关阅读:
    js:鼠标事件
    js:argument
    js:|| 和 && 运算符 特殊用法
    css:选择器
    css:清除浮动 overflow
    jquery:after append appendTo三个函数的区别
    WIndow Document
    css:颜色名和十六进制数值
    安装centos出错
    Leetcode | Unique Paths I & II
  • 原文地址:https://www.cnblogs.com/51wansheng/p/9163920.html
Copyright © 2011-2022 走看看