当前位置: 首页 > news >正文

Ansible安装与常用模块

一.Ansible简介

什么是Ansible?

- ansible是新出现的自动化运维工具,基于python开发,集合了很多的运维工具(puppet、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。
- ansible是基于paramiko开发的,并且基于模块化工作,它本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架,ansible不需要在远程主机上安装client/agents,因为它们是基于ssh来和远程主机通讯的。ansible目前已经被红帽官方收购,是自动化运维工具认可度最高的。
- 更加详细的资源参考官方文档,如右是Ansible的官方网站:Ansible Documentation

 Ansible的特点

*   部署简单,只需要在主控端部署Ansible环境,被控端无需做任何操作;
*   默认使用SSH协议对设备进行管理;
*   有大量的常规运维操作模块,可实现日常绝大部分的操作;
*   配置简单、功能强大、扩展性强;
*   支持API以及自定义模块,可以通过Python轻松扩展;
*   通过Playbooks来定制强大的配置、状态管理;
*   轻量级、无需在客户端安装agent,更新时,只需在操作机上进行一次更新即可;
*   提供一个功能强大、操作性强的web管理界面和REST API接口——AWX平台

Ansible的架构

*   Ansible:Ansible的核心程序

*   HostInventory:记录有Ansible管理的主机信息,包括端口、密码、IP地址等

*   Playbooks:“剧本”YAML格式的文件,多个任务定义在一个文件中,定义主机需要调用哪些模块来完成的功能。

*   CoreModules:核心模块,主要操作是通过调用核心模块来完成管理任务

*   CustomModules:自定义模块,完成核心模块无法完成的功能,支持多种语言。

*   ConnectionPlugins:连接插件,Ansible和Host通信使用

二.Ansible任务执行解析

 ansible任务执行模式

*   ansible系统由控制主机被管节点的操作方式可以分为两类,即adhoc和playbook
*   ad-hoc模式(点对点模式)

> 使用单个模块,支持批量执行单条命令。ad-hoc命令是一种可以快速输入的命令,而且不需要保存起来的命令。就相当于bash中的一句话shell

playbook模式(剧本模式)

> 剧本模式是Ansible的主要管理方式,也是Ansible功能强大的关键所在。playbook通过多个task(任务)集合完成一类功能,比如web服务的安装部署、数据库服务的批量备份等。可以简单地把playbook理解为通过组合多条ad-hoc操作的配置文件

ansible执行流程

简单理解就是Ansible在运行时,首先读取ansible.cfg中的配置,根据规则获取Inventory中的管理主机列表,并行的在这些主机中执行配置的任务,最后等待执行返回结果。

ansible命令执行过程

*   加载自己的配置文件,默认为/etc/ansible/ansible.cfg;
*   查找对应的主机配置文件,找到要执行的主机或者组;
*   加载自己对应的模块文件,如command;
*   通过ansible将模块或者命令生成对应的py文件(python脚本),并且将该文件传输到远程器;
*   对应执行用户的家目录.ansible/tmp/xxx/xxx.py文件;
*   给文件添加执行权限;
*   执行并且返回结果;
*   删除临时的py文件, sleep 0退出;

三.Ansible配置解析

使用yum安装

我们需要先安装一个epel-release包,然后再安装ansible即可。

[root@ansible ~]# yum install epel-release -y
[root@ansible ~]# yum install ansible -y

ansible的程序结构

- 配置文件目录:/etc/ansible/
- 执行文件目录:/usr/bin/
- Lib库依赖目录:/usr/lib/pyhtonX.X/site-packages/ansible/
- Help文档目录:/usr/share/doc/ansible-X.X.X/
- Man文档目录:/usr/share/man/man1/

ansible的配置文件查找顺序

- ansible与我们其他的服务在这一点上又很大的不同,这里的配置文件查找是从多个地方找的,顺序如下:

1.检查环境变量 ANSIBLE_CONFIG 指向的路径文件(export ANSIBLE_CONFIG=/etc/ansible/ansible.cfg);

2. ~/.ansible.cfg,检查当前目录下的ansible.cfg配置文件;

3./etc/ansible.cfg检查etc目录的配置文件。

ansible的配置文件

- ansible的配置文件路径是/etc/ansible/ansible.cfg,ansible许多参数,下面我们列出一些常见的参数:
 

[root@ansible ansible]# vim ansible.cfg
inventory = /etc/ansible/hoste    #这个参数表示资源清单inventory文件的位置
library = /usr/share/ansible    #指向存放ansible模块的目录,支持多个目录方式,只要用冒号(:)隔开就行。fbrks = 5    #并发连接数,默认为5
sudo_user = root    #设置默认执行命令的用户 ,2.14版本中是:become_user=root
remote_port = 22    #指定连接被管理节点的端口,默认为22端口,为安全考虑,建议修改
host_key_checking = False    #设置是否检查SSH主机的密钥,值为True/False,关闭后第一次连接不会提示配置实例
ti
http://www.dtcms.com/a/601728.html

相关文章:

  • Linux新
  • 建站平台哪个好承德做网站的公司
  • wordpress 用户投稿吉林百度seo
  • 通过网络调试,上位机电脑控制下位机单片机板载灯的亮灭
  • 学习笔记八:对数几率回归
  • Linux如何从docker hub下载arm镜像
  • 分析仪器数据处理软件开发
  • LASSO框架(Belloni高维估计微课笔记)
  • 自己开发一款游戏怎么做明港seo公司
  • 公司做二手网站的用意微帮推广平台有哪些
  • 小迪安全v2023学习笔记(一百四十七讲)—— C2远控篇CC++ShellCode定性分析生成提取Loader加载模式编译执行
  • .NET 10发布和它的新增功能
  • (Spring)Spring Boot 自动装配原理总结
  • 网站没有备案做竞价吗浙江企业响应式网站建设设计
  • 若依部署Nginx和Tomcat
  • flash网站报价电子商务seo名词解释
  • 宁德网站开发seo排名优化方式
  • 实时大数据计算中,Flink的滑动窗口,乱序,允许消息迟到机制
  • 李飞飞联合杨立昆发表最新论文:超感知AI模型从视频中“看懂”并“预见”三维世界
  • GSV1016/ACP#HDMI2.0 HDCP1.4 发射器(TTL/LVDS 输入 + 音频插入)技术解析
  • 一级a做爰片免费网站中国片落实二十条优化措施
  • Dell笔记本电脑怎么连接无线网络 详细教程分享
  • 龙华网站建设哪家好我的世界做视频封面的网站
  • 男女做羞羞漫画网站南昌企业网站建设公司
  • 【学习笔记】多智能体系统
  • openeuler-24.3欧拉系统mysql开机自启报错
  • Versatile英文单词学习
  • 【OCP考试喜报】2025.11月 ORACLE OCP 考试通过
  • 【NCCL】NCCL 中的channel 是什么概念?
  • 工业自动化系统使用的高边驱动IC