什么是ansible?安装ansible有什么要求?

兄弟姐妹们在线分析下,什么是ansible?安装ansible有什么要求?
最新回答
︶ㄣ彯逸尐苏

2022-08-08 05:53:35

Ansible是一款基于Python开发的自动化运维工具,集合了多种运维工具的优点,可实现批量系统配置、程序部署及命令运行等功能。其基于模块工作,通过连接插件、主机清单、各类模块、插件及Playbook(剧本)等组件协同完成任务,本身仅提供框架,真正具备批量部署能力的是所运行的模块。

  • 连接插件(connection plugins):负责与被监控端实现通信,是Ansible与受管主机交互的桥梁。
  • 主机清单(host inventory):指定操作的主机,通过配置文件定义监控的主机列表,明确Ansible的作用范围。
  • 模块:包括核心模块、command模块、自定义模块等,是Ansible实现具体功能的关键,真正执行批量部署等任务。
  • 插件:借助插件完成记录日志、发送邮件等功能,扩展了Ansible的功能边界。
  • Playbook(剧本):执行多个任务时使用,非必需但可让节点一次性运行多个任务,以YAML文本文件编写,易于阅读和理解。

安装Ansible的要求如下:

  • 控制节点要求

    系统类型:应为Linux或UNIX系统,不支持将Windows用作控制节点,但Windows系统可作为受管主机。

    Python版本:需安装Python3(版本3.5或以上)或Python2(版本2.7或以上)。若操作系统为红帽8.0,Ansible 2.9可自动使用platform-python软件包,无需从AppStream安装python37或python27软件包。可通过命令yum list installed platform-python查看是否已安装platform-python。

  • 受管主机要求

    通用要求:Ansible的一大优势是受管主机无需安装特殊代理,控制节点使用标准网络协议连接受管主机以确保系统处于指定状态。但受管主机可能需满足一些要求,具体取决于控制节点的连接方式及运行的模块。

    Linux和UNIX受管主机:需安装Python2(版本2.6或以上)或Python3(版本3.5或以上),以运行大部分模块。对于红帽8系统,可启用并安装python36应用流(或python27应用流),使用命令yum module install python36。若受管主机上启用了SELinux,还需安装python3-libselinux软件包才能使用与复制、文件或模板功能相关的模块,工作时建议关闭SELinux功能。

  • 基于Windows的受管主机要求

    模块与PowerShell版本:Ansible有许多专门为Windows系统设计的模块,这些模块需在受管主机上安装PowerShell 3.0或更高版本,而非Python。

    PowerShell远程连接配置:受管主机需配置PowerShell远程连接。

    .NET Framework版本:Ansible要求至少将.NET Framework 4.0或更高版本安装在Windows受管主机上。具体模块可查阅

    官方文档

  • 受管网络设备要求

    模块支持:Ansible可配置路由器和交换机等受管网络设备,包含大量专门设计的模块,支持Cisco IOS、IOS XR和NX-OS、Juniper Junos、Arsta EOS以及基于VyOS的网络设备等。

    模块运行位置与连接方法:由于大多数网络设备无法运行Python,Ansible在控制节点上运行网络模块。特殊连接方法用于与网络设备通信,通常使用SSH上的CLI、SSH上的XML或HTTP(S)上的API。具体可查阅

    官方文档

  • 安装步骤示例(以CentOS 8为例)

    提供YUM源

curl -o /etc/yum.repos.d/CentOS-Base.repo
https://mirrors.aliyun.com/repo/Centos-8.reposed
-i -e '/
http://mirrors.cloud.aliyuncs.com/d'
-e '/
http://mirrors.aliyuncs.com/d'
/etc/yum.repos.d/CentOS-Base.reporpm --reinstall
https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpmsed
-i 's|^#baseurl=
https://download.fedoraproject.org/pub
|baseurl=
https://mirrors.aliyun.com
|' /etc/yum.repos.d/epel*sed -i 's|^metalink|#metalink|' /etc/yum.repos.d/epel*sed -i 's|$releasever|8|g' /etc/yum.repos.d/*yum makecache- 安装Ansibleyum -y install ansibleansible --version- 验证安装:通过使用setup模块验证localhost上的ansible_python_version,执行命令`ansible -m setup localhost|grep ansible_python_version`。