运维Ansible自动化工具概述
运维的工作内容
- 安装系统:pxe、kickstart、cobbler、image template
- 安装应用、配置应用、启动应用(服务):puppet、saltstack、chef
- 发布程序:puppet、saltstack、chef
- 监控(服务器、系统、应用、程序):zabbix
程序发布
- 灰度发布
- 金丝雀发布
ansible解决的问题:
- 批量安装应用、配置应用、启动应用
- 批量发布程序
ansible的资源站点
- https://www.ansible.com/
- https://github.com/ansible/ansible
Ansible的综述
ansible是一款无需在被管理主机上安装客户端,基于SSH对多台目标主机进行同时操作的轻量级的管理软件,借助各个内部的功能模块,实现了批量系统配置、批量程序部署、批量运行命令等功能。
Ansible简介
ansible基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,能够实现批量系统配置、批量程序部署、批量运行命令等功能。
ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。主要包括:
- 连接插件connection plugins:负责和被监控端实现通信;
- host inventory:指定操作的主机,是一个配置文件里面定义监控的主机;
- 各种模块核心模块、command模块、自定义模块;
- 借助于插件完成记录日志邮件等功能;
- playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务
ansible的软件结构:
- Host Inventory:主机清单,也就是被管理的主机列表
- Playbooks:ansible的剧本,可想象为将多个任务放置在一起,一块执行
- Core Modules:ansible的核心模块
- Custom Modules:自定义模块
- Connection Plugins:连接插件,用于与被管控主机之间基于SSH建立连接关系
- Plugins:其他插件,包括记录日志等
ansible的特性
- 模块化:调用特定的模块,完成特定任务
- 基于python语言实现,由Paramiko(完成基于ssh的连接),PyYAML(对YAML文件的支持),jinja2(python的模板库)三个关键的模块
- 部署简单:是没有客户端的
- 支持自定义模块,使用任意编程语言
- 支持强大的playbook
- 具有幂等性:一个操作在一个主机上执行一遍和执行N遍的结果是一样的
ansible的执行流程
1) 加载配置文件,默认/etc/ansible/ansible.cfg
2) 查找对应主机的配置文件,找到要执行的主机和组
3) 加载自己对应的模块文件,如command
4)通过ansible将模块或者命令生成对应的临时py文件,并将该文件传输到远程服务器
5) 对应执行用户家目录的.ansible/tmp/xxx/xxx.py文件
6) 给文件加执行权限
7)执行并返回结果
8)删除临时的py文件,sleep0 退出。
运维Ansible自动化工具概述相关推荐
- linux自动化运维ansible
linux自动化运维ansible 一.概述 二.安装 1.配置安装源 2.安装 3.查询版本信息 三.设置主机清单 1.添加ip及账号信息 2.修改主配置文件 3.测试是否成功 四.模块应用 1.模 ...
- 自动化运维—ansible
2019独角兽企业重金招聘Python工程师标准>>> 自动化运维-ansible 一.Ansible介绍 Ansilbe是一个部署一群远程主机的工具.远程的主机可以是远程虚拟机或物 ...
- 运维与自动化系列①运维与自动化概述
运维与自动化概述 一:运维工作内容分类: 1).机房运维(负责服务器上下架.IP配置与划分.服务器打标签.机房定期巡检.服务器故障报修.服务器硬件监控) 2).基础设施运维(系统安装及初始化.网络维护 ...
- 自动化运维---ansible常用模块之文件操作(findreplace模块)
自动化运维-ansible常用模块之文件操作(find&replace模块) 文章目录 自动化运维---ansible常用模块之文件操作(find&replace模块) 1.find模 ...
- 企业运维实战--自动化运维Saltstack(上)之saltstack的安装部署、远程执行、grains和pillar详解以及Jinja模板的使用
企业运维实战--自动化运维Saltstack(上) 前言 一.Saltstack安装部署 二.sls文件远程执行 saltstack安装httpd并启动 saltstack源码编译安装nginx 启动 ...
- 命令行接口(CLI)将被取而代之,它不再是网络运维的主要工具
Gartner声称:到2020年,CLI的使用将日渐式微. 多年来,网络工程师依赖命令行接口:据市场研究公司Gartner的分析师们声称,但是这种使用很普遍的工具正在迅速让位于配置和运维网络的其他方法 ...
- 《DevOps实战:VMware管理员运维方法、工具及最佳实践》——2.3 配置管理
本节书摘来自华章计算机<DevOps实战:VMware管理员运维方法.工具及最佳实践>一书中的第2章,第2.3节,作者:小特雷弗 A. 罗伯茨(Trevor A. Roberts Jr.) ...
- 智能运维 | 百度自动化运维是怎么做的(上)——概念以及标准从何而来?
百度是中国互联网规模最大的公司之一.业内很多人都会好奇,百度是怎么做运维的?接下来让我们一起重溯百度运维之路. 百度运维诞生于2008年,截至目前共打造了三代运维平台,百度的运维技术也经历了web化. ...
- IT运维之自动化运维
所谓自动化运维,即在最少的人工干预下,结合运用脚本与第三方工具,保证业务系统7*24小时高效稳定运行.这应该是所有业务系统运维终极目标. 按照运维的发展成熟度来看,运维大致可分为三个阶段: 依靠纯手工 ...
最新文章
- AI一分钟 | 黎曼猜想已被证明?对错有待同行评议;讯飞与发帖质疑同传译员达成谅解...
- eclipse中创建类和包的快捷方式
- 人脸识别损失函数笔记
- 10+ commonly using find command switches with example Unix/Linux
- fibonacci climbing-stairs
- 【错误记录】Error creating bean with name: Unsatisfied dependency expressed through field
- 【C++教程】02.环境配置
- myemployees库的四张表介绍
- Lombok的@Data生成的hashCode和equals方法坑
- Delphi与Windows 7下的用户账户控制(UAC)机制
- Struts2 + Hibernate + Spring 以及javaweb模块问题解决(2)
- 单机rust怎么设置白天_安卓单机游戏评测:侠盗猎车手3十周年版本
- linux7不能使用yum,CentOS7.6无法使用yum命令,无法更新解决方法
- usb keyboard找不到驱动程序_让台式机也能用上蓝牙,毕亚兹USB蓝牙适配器体验
- 2022/7/2 Jenkins详细教程
- CDUTCM OJ 2017第一次月赛
- jquery 调用 click 事件 的 三种 方式
- Premiere 抠像与合成
- 【服务端】多线程游戏服务端
- [附源码]java毕业设计宠物商店管理系统
热门文章
- 逻辑函数(IF函数)
- 防静电手环在计算机中的功能,防静电手环原理
- [Python]循环语句中的 else 子句
- 【解决方案】如何通过RTSP协议安防视频直播平台EasyNVR打造智慧校园监控联网解决方案?
- 家庭网络软路由才是主路由 进阶版
- 营收增长亏损收窄,国美重回巅峰之路走到了哪一步?
- 雷神之锤 - 神一般存在的Sqrt函数
- PSD:由物理先验指导的有原则的合成到真实的去雾(Principled Synthetic-to-Real Dehazing Guided by Physical Priors_CVPR_2021)
- 毛书卿3.24纸白银原油今晚行情涨跌独家分析-黄金操作指导
- 向日葵远程黑屏无效问题解决--最新