Linux下的自动化运维ansible工具

简介:

什么是自动化运维


    随着信息时代的持续发展,IT运维已经成为IT服务内涵中重要的组成部分。面对越来越复杂的业务,
面对越来越多样化的用户需求,不断扩展的IT应用需要越来越合理的模式来保障IT服务能灵活便捷、安
全稳定地持续保障,这种模式中的保障因素就是IT运维(其他因素是更加优越的IT架构等)。从初期的
几台服务器发展到庞大的数据中心,单靠人工已经无法满足在技术、业务、管理等方面的要求,那么标
准化、自动化、架构优化、过程优化等降低IT服务成本的因素越来越被人们所重视。其中,自动化最开始作为代替人工操作为出发点的诉求被广泛研究和应用。
   IT运维从诞生发展至今,自动化作为其重要属性之一已经不仅仅只是代替人工操作,更重要的是深
层探知和全局分析,关注的是在当前条件下如何实现性能与服务最优化,同时保障投资收益最大化。自
动化对IT运维的影响,已经不仅仅是人与设备之间的关系,已经发展到了面向客户服务驱动IT运维决策
的层面,IT运维团队的构成,也从各级技术人员占大多数发展到业务人员甚至用户占大多数的局面。
   因此,IT运维自动化是一组将静态的设备结构转化为根据IT服务需求动态弹性响应的策略,目的就
是实现IT运维的质量,降低成本。可以说自动化一定是IT运维最高层面的重要属性之一,但不是全部。

什么是ansible


  ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、
chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。可以实现
多台服务器的配置,在多台服务器上同时执行统一个命令。


ansible的框架 

这里写图片描述

> host inventory:定义被ansible操作的主机列表
> connection plugins:负责监控被操作主机与被操作主机之间通信
> playbook:定义ansible的任务
> plugins:拓展模块,主要用来完成日志,邮件等功能
> 核心模块,自定义模块:主要用于执行命令12345671234567


下载并安装ansible


 1. 下载ansible
 [root@www ~]# wget http://releases.ansible.com/ansible/ansible-2.3.2.0-0.4.rc4.tar.gz
 2. 安装ansible
    [root@www ~]# tar -xzf ansible-2.3.2.0-0.4.rc4.tar.gz
    [root@www ~]# cd ansible-2.3.2.0
    [root@www ~]# python setup.py build
    [root@www ~]# python setup.py install
 3. 装备配置文件
    [root@www ~]# mkdir /etc/ansible
    [root@www ~]# cp -r examples/* /etc/ansible/


hosts配置文件


格式:
    [webservers]                 //主机组名字
        alpha.example.org
        beta.example.org
        192.168.1.100
        192.168.1.110


ansible命令


 1. 格式:
    ansible <host-pattern> [-f forks] [-m module_name] [-a args] 
 2. 详细参数:
    host-pattern:配置文件定义的主机群名    
    -f gorks:级别,默认为5
    -m:指定要使用的核心模块,默认为command模块    
    -a:指定模块参数 
 3. 替他命令:
    ansible -l:用来查看ansible所支持的模块
    ansible-doc -s module_name:用来查看某一个模块所支持的参数


使用ansible命令实现远程shell执行


host文件 
 这里写图片描述


目标机 
 这里写图片描述


ansible主机 
 [root@www ~]# ssh-keygen 
 [root@www ~]# ssh-copy-id root@192.168.80.130 
 这里写图片描述


[root@www ~]# ansible install_httpd -m shell -a “yum -y  install httpd” 
 这里写图片描述


目标机 
 这里写图片描述

使用yaml语法定义多任务


 1. 文件定义格式:
     Task_set.yaml           (文件后缀.yaml) 
 2. 文本内容格式:
     - hosts:hosts_name           //定义在hosts文件中的主机名
        remote_user: root          //运行此次任务的用户
        tasks:                   ///应以任务
         - name:taks_name       //任务名称
            moudule_name:args[1]=? args[2]=? .... //参数,即命令中-a 对应的选项
            ignore_errors:True   //忽略错误
            notify:               //若没有改变不会发生以下事件
             - handerls_name
       handlers:             //实现在变化发生完成后一次性地执行指定操作,
如:改变配置文件后从新启动服务。
        - name: handerls_name          module:args
    *注*:一个主机集可以对应多个任务,一个.yaml文件可以含有多个主机集 
 3. 文本内容运行命令:
    [root@www ~]#  ansible-playbook file.yam

测试 
这里写图片描述

这里写图片描述

本文转自lnsaneLlinux博客51CTO博客,原文链接http://blog.51cto.com/lnsane784/1951496如需转载请自行联系原作者

Insane_linux
相关文章
|
9天前
|
监控 Unix Linux
Linux操作系统调优相关工具(四)查看Network运行状态 和系统整体运行状态
Linux操作系统调优相关工具(四)查看Network运行状态 和系统整体运行状态
26 0
|
10天前
|
敏捷开发
【sgCreatePinyin】自定义小工具:敏捷开发→自动化生成拼音字段名称(字段名生成工具)
【sgCreatePinyin】自定义小工具:敏捷开发→自动化生成拼音字段名称(字段名生成工具)
|
16天前
|
存储 前端开发 Linux
Linux系统之部署ToDoList任务管理工具
【4月更文挑战第1天】Linux系统之部署ToDoList任务管理工具
61 1
|
17天前
|
存储 传感器 运维
linux系统资源统计工具
【4月更文挑战第1天】Linux系统监控工具如dstat、htop、glances、vmstat、top、iostat、mpstat、sar和atop,用于跟踪CPU、内存、磁盘I/O、网络和进程性能。这些工具提供实时、交互式和历史数据分析,助力管理员优化系统性能和故障排查。例如,dstat是vmstat等工具的增强版,htop提供彩色界面的进程管理,而atop则结合了多种功能并记录历史数据。
27 5
linux系统资源统计工具
|
9天前
|
Linux
Linux操作系统调优相关工具(三)查看IO运行状态相关工具 查看哪个磁盘或分区最繁忙?
Linux操作系统调优相关工具(三)查看IO运行状态相关工具 查看哪个磁盘或分区最繁忙?
19 0
|
24天前
|
jenkins 测试技术 持续交付
现代软件测试中的自动化工具与挑战
随着软件开发领域的不断发展,自动化测试工具在测试过程中扮演着越来越重要的角色。本文将探讨现代软件测试中自动化工具的应用及面临的挑战,旨在帮助开发人员和测试人员更好地理解和应对自动化测试中的问题。
|
10天前
|
敏捷开发
【sgCreateTableData】自定义小工具:敏捷开发→自动化生成表格数据数组[基于el-table]
【sgCreateTableData】自定义小工具:敏捷开发→自动化生成表格数据数组[基于el-table]
|
14天前
|
资源调度 JavaScript 安全
Linux系统之部署web-check网站分析工具
【4月更文挑战第3天】Linux系统之部署web-check网站分析工具
61 9
|
15天前
|
运维 监控 Linux
不是所有的Linux工具都会让人惊叹,但这个绝对让你叫绝
【4月更文挑战第3天】不是所有的Linux工具都会让人惊叹,但这个绝对让你叫绝
29 0
不是所有的Linux工具都会让人惊叹,但这个绝对让你叫绝
|
17天前
|
Java 测试技术 API
软件测试中的自动化工具与策略
软件测试是确保软件质量的重要环节,而自动化测试工具和策略的应用在提高测试效率和准确性方面发挥着重要作用。本文将介绍几种常见的自动化测试工具,并探讨在软件测试中应用自动化测试的最佳实践和策略。

热门文章

最新文章