热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

自动化运维ansible(一)自动化运维介绍

自动化运维-ansible一、自动化运维介绍1.自动化运维优势l 传统运维效率低,大多工作人为完成l 传统运维工作繁琐,容易出错l 传统运维每日重复做相同的事情l 传统运维没有标准

自动化运维-ansible


一、自动化运维介绍

1.自动化运维优势

传统运维效率低,大多工作人为完成

传统运维工作繁琐,容易出错

传统运维每日重复做相同的事情

传统运维没有标准化流程

传统运维脚本多,不能方便管理

自动化运维就是要解决上面所有的问题


2.常见自动运维工具

l Pueppet WWW.puppetlabs.com.
基于rubby开发,c/s架构,支持多平台,可管理配置文件,用户,cron任务,软件包,系统服等。分社区版 和企业版。企业版是收费版本,提供图形界面。
 

l Saltstack (官网:httpps://saltstack.com), (文档docs.saltstack.com). 
基于python开发,c/s架构,支持多平台,比puppet轻量,再远程执行命令时非常快捷,因为saltstack有一个东西叫做消息队列,举个例子,客户端和服务端,服务端就是中控中心,客户端就是管理客户机器,那些客户机很多,如果要执行一个命令,要是并行的话就会很快,并行就是把指令发送到每一台机器上去,同时运行就很快了。 配置和使用比puppet容易,能实现puppet几乎所有功能。
 

l Ansible (www.ansible.com) 
更加简洁的自动话运维工具,不需要在客户端上安装agent,基于python开发,可实现批量操作系统配置,批量程序部署,批量运行命令。

 


3.自动化运维工具ansible


3.1 ansible介绍

Ansible 基于Python开发,集合了众多运维工具(puppetcfenginecheffuncfabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。


3.2 ansible特性

l no agents:不需要在被管控主机上安装任何客户端,更新时,只需在操作机上进行一次更新即可

l no server:无服务器端,使用时直接运行命令即可

l modules in any languages:基于模块工作,可使用任意语言开发模块

l yaml,not code:使用yaml语言定制剧本playbook

l ssh by default:基于SSH工作

l strong multi-tier solution:可实现多级指挥


3.3 ansible参数

l -a MODULE_ARGS, --args=MODULE_ARGS

#指定执行模块使用的参数

l --ask-vault-pass

#加密playbook文件时提示输入密码

l -B SECONDS, --background=SECONDS

#后台运行超时时间,异步运行,X秒之后失败

l -C, --check

#模拟执行,不会真正在机器上执行(查看执行会产生什么变化)

l -D, --diff

#当更新的文件数及内容较少时,该选项可显示这些文件不同的地方,该选项结合-C用会有较好的效果

l -e EXTRA_VARS, --extra-vars=EXTRA_VARS

#执行命令时添加额外参数变量

l -f FORKS, --forks=FORKS

#并行任务数。FORKS被指定为一个整数,默认是5

l -h, --help

#打开帮助文档API

l -i INVENTORY, --inventory-file=INVENTORY

#指定要读取的Inventory文件

l -l SUBSET, --limit=SUBSET

#限定执行的主机范围

l --list-hosts

#列出执行匹配到的主机,但并不会执行

l -m MODULE_NAME, --module-name=MODULE_NAME

#指定执行使用的模块,默认使用 command 模块

l -M MODULE_PATH, --module-path=MODULE_PATH

#要执行的模块的路径

l --output=OUTPUT_FILE

l -P POLL_INTERVAL, --poll=POLL_INTERVAL

#设置轮询间隔,每隔数秒。需要- B

l --syntax-check

#检查Playbook中的语法书写

l -t TREE, --tree=TREE

#将日志内容保存在该输出目录,结果保存在一个文件中在每台主机上

l -v, --verbose

#执行详细输出

l --version

#显示版本


推荐阅读
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 在1995年,Simon Plouffe 发现了一种特殊的求和方法来表示某些常数。两年后,Bailey 和 Borwein 在他们的论文中发表了这一发现,这种方法被命名为 Bailey-Borwein-Plouffe (BBP) 公式。该问题要求计算圆周率 π 的第 n 个十六进制数字。 ... [详细]
  • 二维码的实现与应用
    本文介绍了二维码的基本概念、分类及其优缺点,并详细描述了如何使用Java编程语言结合第三方库(如ZXing和qrcode.jar)来实现二维码的生成与解析。 ... [详细]
  • JUnit下的测试和suite
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • 本文详细介绍了C++中的构造函数,包括其定义、特点以及如何通过构造函数进行对象的初始化。此外,还探讨了转换构造函数的概念及其在不同情境下的应用,以及如何避免不必要的隐式类型转换。 ... [详细]
  • CentOS下ProFTPD的安装与配置指南
    本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ... [详细]
  • 本文详细介绍了iOS应用的生命周期,包括各个状态及其转换过程中的关键方法调用。 ... [详细]
  • importjava.io.*;importjava.util.*;publicclass五子棋游戏{staticintm1;staticintn1;staticfinalintS ... [详细]
  • 解决Visual Studio Code中PHP Intelephense误报问题
    PHP作为一种高度灵活的编程语言,其代码结构可能导致Intelephense插件在某些情况下报告不必要的错误或警告。自1.3.3版本起,Intelephense引入了多个配置选项,允许用户根据具体的工作环境和编程风格调整这些诊断信息的显示。 ... [详细]
  • 在处理大数据量的SQL分页查询时,通常需要执行两次查询来分别获取数据和总记录数。本文介绍了一种优化方法,通过单次查询同时返回分页数据和总记录数,从而提高查询效率。 ... [详细]
  • 在尝试使用 Android 发送 SOAP 请求时遇到错误,服务器返回 '无法处理请求' 的信息,并指出某个值不能为 null。本文探讨了可能的原因及解决方案。 ... [详细]
  • 新浪微博热搜暂停更新;即刻APP回归;Android 11 Beta版发布 | 科技新闻速递
    为您带来最新的科技资讯,涵盖社交媒体动态、软件更新及行业重大事件。CSDN携手您共同关注科技前沿。 ... [详细]
  • 本文通过一个具体的实例,介绍如何利用TensorFlow框架来计算神经网络模型在多分类任务中的Top-K准确率。代码中包含了随机种子设置、模拟预测结果生成、真实标签生成以及准确率计算等步骤。 ... [详细]
  • 本文详细探讨了BCTF竞赛中窃密木马题目的解题策略,重点分析了该题目在漏洞挖掘与利用方面的技巧。 ... [详细]
author-avatar
卧龙先生八斗才
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有