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
目录
打赏
0
0
0
0
89
分享
相关文章
DBeaver Ultimate Edtion 25.0 Multilingual (macOS, Linux, Windows) - 通用数据库工具
DBeaver Ultimate Edtion 25.0 Multilingual (macOS, Linux, Windows) - 通用数据库工具
40 12
DBeaver Ultimate Edtion 25.0 Multilingual (macOS, Linux, Windows) - 通用数据库工具
机器学习+自动化运维:让服务器自己修Bug,运维变轻松!
机器学习+自动化运维:让服务器自己修Bug,运维变轻松!
40 14
GitHub 热门开源运维工具 Websoft9:如何实现服务器管理效率翻倍?
Websoft9 提供 200+ 开源应用一键部署,支持容器化隔离、GitOps 自动化和企业级安全防护,助力服务器管理效率提升 80%。
45 1
Linux下如何安装配置Fail2ban防护工具
通过以上步骤,可以在Linux系统中成功安装和配置Fail2ban,从而有效保护服务器免受暴力破解等攻击。Fail2ban通过实时监控日志文件,自动更新防火墙规则,为系统安全提供了一层重要的保护。
157 36
Ansible与Jenkins:自动化工具的对比
Ansible和Jenkins是自动化领域的两大巨头。Ansible专注于配置管理和任务自动化,采用无代理架构,使用YAML定义配置,具有幂等性和可扩展性。Jenkins则擅长持续集成和持续交付(CI/CD),支持丰富的插件生态系统,适用于自动化构建、测试和部署。两者各有优势,Ansible适合配置管理与大规模部署,Jenkins则在CI/CD方面表现出色。结合使用可创建更强大的自动化工作流,提升团队生产力和软件质量。选择工具时应根据具体需求决定。
|
1月前
|
Linux下载工具wget与curl
`wget` 是一个用于从网络下载文件的命令行工具,支持HTTP、HTTPS和FTP协议。它能自动处理下载中断,并支持递归下载网站内容。基本用法:`wget URL`,可指定文件名(`-O`)、保存目录(`-P`),还支持断点续传(`-c`)、限速(`--limit-rate`)和递归下载(`-r`)。相比之下,`curl` 更侧重于发送各种HTTP请求(如GET、POST),并支持文件上传、自定义请求头和cookie等功能。
61 10
Linux软件包管理工具概览
在Linux系统中,dpkg、apt、rpm、yum和dnf是几种常见的包管理工具,它们分别属于不同的Linux发行版或家族,并有着各自的诞生顺序和特点。下面将按照这些工具的诞生顺序,并结合Debian、Red Hat、CentOS、Ubuntu和Kali等系统,进行详细的介绍。
38 4
基于AI的自动化服务器管理:解锁运维的未来
基于AI的自动化服务器管理:解锁运维的未来
67 0
运维联盟 SOMA 评测系统正式发布,让你的运维工具跑分更丝滑
通过对特定的业务系统进行故障注入,将不同的运维工具放在一起进行评估和评测。
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
114 4