• 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

     

  • 相关阅读:
    「消息队列」看过来!
    stl中map的四种插入方法总结
    4.shell编程-文本处理三剑客之sed
    3.shell编程-文件查找之find命令
    2.shell编程-函数的高级用法
    1.shell编程-变量的高级用法
    Django打造大型企业官网(八)
    Django打造大型企业官网(七)
    Django打造大型企业官网(六)
    Django打造大型企业官网(五)
  • 原文地址:https://www.cnblogs.com/51wansheng/p/9163920.html
Copyright © 2020-2023  润新知