Ansible(1)- 简单介绍
什么是 Ansible
- 开源部署工具,也是一个自动化运维工具
- 开发语言:Python
Ansible 的特性
- 模块化部署管理:调用特定的模块,完成特定任务
- 三个关键模块:Paramiko(python 对 ssh 的实现),PyYAML,Jinja2(模板语言)
- 安全:基于 OpenSSH 协议通讯
- 跨平台:支持 Linux、Win、UNIX、物理机、虚拟机、云平台、网络
- 部署简单,无需编译:基于 Python 和 SSH(默认已装),agentless(免代理),无需代理不依赖 PKI(无需 SSL)
- 支持自定义模块:支持任何编程语言编写模块(二次开发)
- 幂等性:一个任务执行一遍和执行 n 遍的结果是一样的,不因重复执行而带来意外情况
- 支持 playbook 编排任务,YAML 语法格式,编排任务,支持丰富的数据结构
- 强大的多层解决方案 role
- 支持异构 IT 架构
Ansible 的应用场景
- 批量修改系统配置
- 批量程序部署
- 批量运行命令
Ansible、Cherf、Saltstack 的不同
Saltstack
- Ruby 语言编写
- C/S架构
- 配置需要 Git 依赖
- Recipe 脚本编写规范,需要 Ruby 编程经验
Saltstack
- Python 语言编写
- C/S架构
- 模块化配置管理
- YAML 脚本编写规范
- 适合大规模集群部署
Ansible
- Python 语言编写
- 无 Client
- 模块化配置管理
- Playbook 脚本编写规范
- 易于上手,适合中小规模快速部署
Ansible 最大的优势
- 符合最近几年流行的敏捷开发流程,快速开发快速部署交付
- 我们需要有高效、敏捷的部署工具,加快产品交付
- 兼容主流云计算下所有用到的基础工具
Ansible 的架构
- ANSIBLE PLAYBOOKS :任务剧本,编排定义 Ansible 任务集的配置文件,由 Ansible 顺序执行,通常为 json 格式的 YAML 文件
- INBENTORY:需要 Ansible 管理主机的清单列表 /etc/anaible/hosts
- MODULES:Ansible 的执行命令的功能模块,多数为内置核心模块,也可以自定义
- PLUGINS:模块功能补充,比如链接类型插件、循环插件、变量插件、过滤插件等,不常用
- API:供第三方程序调用的应用程序编程接口
- HOSTS:待 Ansible 管理的主机集
- NETWORKING:网络
它们互相之间都是通过 SSH 互相调用
Ansible 命令执行来源
- USERS:普通用户
- PLAYBOOKS:任务剧本
- CMDB:配置管理数据库,通过 API 调用
- PUBLIC/PRIVATE CLOUD:公有云、私有云,通过 API 调用
Ansible 的概念
Control node
控制节点
- 可以是任何安装了 Ansible 的计算机,但不能是 Window 系统
- 可以从任意控制节点运行命令和 playbook,然后调用 /usr/bin/ansible 或 /usr/bin/ansible-playbook
- 可以将任何安装了 Python 的计算机作为控制节点,比如笔记本电脑、台式机、服务器
Managed nodes
受管节点
- 受管节点不需要安装 Ansible
- 它可以是通过 Ansible 管理的网络设备或服务器
- 它也可以称为 hosts(主机)
Inventory
清单
- 需要 Ansible 管理的主机清单
- 它也可以称为 hostfile(主机文件)
- 它有多种方式去管理组织主机的信息
Modules
模块
- 执行代码单元
- 在 python 中,一个模块是一个 .py 文件,这里也可以这样理解,每个模块都会有特定的功能
- 可以通过 task 调用单个模块,也可以通过 playbook 调用多个不同的模块
- Ansible 目前有 3000+ 个模块
Tasks
任务
- 行动单元
- 可以使用临时命令(ad-hoc)每次执行一个任务
Playbooks
剧本(直译)
- 保存任务的有序列表,方便可以按顺序重复运行这些任务(复用性)
- playbook 可以包括变量、任务
- 采用 YAML 语法格式
Ansible(1)- 简单介绍的更多相关文章
- Ansible简单介绍(一)
一 :ansible简单介绍 此名取自 Ansible 作者最喜爱的<安德的游戏> 小说,而这部小说更被后人改编成电影 -<战争游戏>. 官网地址:https://www.an ...
- Ansible常用模块介绍及使用(week5_day1_part2)--技术流ken
Ansible模块 在上一篇博客<Ansible基础认识及安装使用详解(一)--技术流ken>中以及简单的介绍了一下ansible的模块.ansible是基于模块工作的,所以我们必须掌握几 ...
- python paramiko 模块简单介绍
背景,公司的很多服务包括数据库访问都需要通过跳板机访问,为日常工作及使用带来了麻烦,特别数python直接操作数据更是麻烦了,所以一直想实现python 通过跳板机访问数据库的操作. 首先了解到了 p ...
- Python常用的库简单介绍一下
Python常用的库简单介绍一下fuzzywuzzy ,字符串模糊匹配. esmre ,正则表达式的加速器. colorama 主要用来给文本添加各种颜色,并且非常简单易用. Prettytable ...
- Ansible常用模块介绍及使用(2)
Ansible模块 在上一篇博客<Ansible基础认识及安装使用详解(一)–技术流ken>中以及简单的介绍了一下ansible的模块.ansible是基于模块工作的,所以我们必须掌握几个 ...
- [原创]关于mybatis中一级缓存和二级缓存的简单介绍
关于mybatis中一级缓存和二级缓存的简单介绍 mybatis的一级缓存: MyBatis会在表示会话的SqlSession对象中建立一个简单的缓存,将每次查询到的结果结果缓存起来,当下次查询的时候 ...
- 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍
一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构 ...
- 利用Python进行数据分析(4) NumPy基础: ndarray简单介绍
一.NumPy 是什么 NumPy 是 Python 科学计算的基础包,它专为进行严格的数字处理而产生.在之前的随笔里已有更加详细的介绍,这里不再赘述. 利用 Python 进行数据分析(一)简单介绍 ...
- yii2的权限管理系统RBAC简单介绍
这里有几个概念 权限: 指用户是否可以执行哪些操作,如:编辑.发布.查看回帖 角色 比如:VIP用户组, 高级会员组,中级会员组,初级会员组 VIP用户组:发帖.回帖.删帖.浏览权限 高级会员组:发帖 ...
- angular1.x的简单介绍(二)
首先还是要强调一下DI,DI(Denpendency Injection)伸手获得,主要解决模块间的耦合关系.那么模块是又什么组成的呢?在我看来,模块的最小单位是类,多个类的组合就是模块.关于在根模块 ...
随机推荐
- 第40天学习打卡(静态代理 Lambda表达式 线程状态 线程同步 同步方法)
静态代理 package com.kuang.demo03; //静态代理模式总结 //真实对象和代理对象都要实现同一个接口 //代理对象要代理真实角色 //好处: //代理对象可以做很多真实对象 ...
- std和stl的关系
[前言]在写程序时,虽然一直这么用,有点疑惑为甚么引入了头文件.h还要在加上using namespace std?例如: 1 #include<iostream> 2 using nam ...
- MYSQL索引优化法则
目录 一首诗送给各位: 全值匹配我最爱,最左前缀要遵守: 带头大哥不能死,中间兄弟不能断: 索引列上少计算,范围之后全失效: Like百分写最右,覆盖索引不写星: 不等空值还有or,索引失效要少用: ...
- Docker镜像构建原理解析(不装docker也能构建镜像)
在devops流程里面 构建镜像是一个非常重要的过程,一般构建镜像是写dockerfile文件然后通过docker client来构建的image. docker client 会先检查本地有没有im ...
- Flask:数据库管理
为什么不使用SQL语句,而使用ORM框架管理数据库?首先,在python程序中嵌入原生SQL语句,不方便维护,ORM框架使用面向对象思想,使用较方便:第二,如果更换底层数据库引擎,ORM框架不需要修改 ...
- c++:一个辅助类让内存泄漏现原形!
前言 对于c++而言,如何查找内存泄漏是程序员亘古不变的话题:解决之道可谓花样繁多.因为最近要用到QT写程序,摆在我面前的第一个重要问题是内存防泄漏.如果能找到一个简单而行之有效的方法,对后续开发大有 ...
- MarkFormat,一个在Word中使用Mark进行格式化的插件
MarkFormat(标记格式化),是一款在Word中基于标记进行格式化的工具. 让我们看下具体效果. 首先是有标记的文本 点击格式化之后 点击去除标记之后(去除标记也会进行格式化) 如果想要恢复标记 ...
- CVE-2017-7504-JBoss JMXInvokerServlet 反序列化
漏洞分析 https://paper.seebug.org/312/ 漏洞原理 这是经典的JBoss反序列化漏洞,JBoss在/invoker/JMXInvokerServlet请求中读取了用户传入的 ...
- 测试工程师Docker进阶
学习整理来源 B站 狂神说Java https://space.bilibili.com/95256449/ 四.docker镜像 1.镜像是什么 镜像是一种轻量级.可执行的独立软件包,用来打包软件运 ...
- ZooKeeper 的选举机制,你了解多少?
本文作者:HelloGitHub-老荀 Hi,这里是 HelloGitHub 推出的 HelloZooKeeper 系列,免费开源.有趣.入门级的 ZooKeeper 教程,面向有编程基础的新手. 项 ...