Ansible安装
文章目录
一、什么是Ansible
Ansible是近年越来越火的一款运维自动化工具,其主要功能是帮助运维实现IT工作的自动化、降低人为操作失误、提高业务自动化率、提升运维工作效率。常用于软件部署自动化、配置自动化、管理自动化、系统化系统任务、持续集成、零宕机平滑升级等。常见的部署管理工具有Chef、Puppet、Ansible、SaltStack、Fabric.Ansible发布于2012年,其作者兼创始人是Michael DeHaan。红帽2015收购了Ansible母公司。
Ansible完全基于Python开发,而DevOps在国内已然是一种趋势,Python被逐步普及,运维人员自己并发工具的门槛逐步降低,得益于此,方便对Ansible二次开发。Ansible丰富的内置模块,甚至还有专门为商业平台开发的功能模块,完全可以满足日常功能所需。在Ansible去中心化概念下,一个简单的复制操作即可完成管理配置中心的迁移。Agentless(无客户端),客户端无需任何配置,由管理端配置好后即可使用,这点非常诱人。
二、Ansible的工作方式
Ansible没有客户端,因此底层通信依赖于系统软件,Linux系统下基于OpenSSH通信,Windows系统下基于PowerShell,管理端必须是Linux系统。
根据Ansible使用过程中的不同角色,将其分为:使用者、Ansible工具集、作用对象。
Ansible使用者来源于多种维度,分为以下几种方式:
(1)CMDB存储和管理着企业IT架构中的各项配置信息,运维人员可以组合CMDB和Ansible,通过CMDB直接下发指令调用Ansible工具集完成操作者所希望达成的目标。
(2)基于PUBLIC(公有云)/PRIVATE(私有云)’,Ansible以API调用的方式运行,Ansible提供了丰富的API语言接口:PHP、Python等。
(3)直接使用Ad-Hoc临时命令集调用Ansible工具集来完成任务执行。
(4)通过执行Playbooks中预先编排好的任务集按序完成任务执行。
三、Ansible应用场景
应用部署:
Ansible内置网络、应用、系统、第三方云平台扩展等完善的功能模块,协助运维快速完成应用的安装、卸载、升级、启停、配置等部署类工作,即使对跨平台或知名的商业硬件也同样支持。
配置管理:
Ansible内置File、Template,结合jinja、Lineinfile等内置模块,同时无缝结合GitHub,GitLab、Git、SVN、 Jenkins等主流版本控制和CI持续集成工具,助力配置管理自动化。
任务流编排:
有效保证Tasks任务流按既定规则和顺序完成事先制订的目标和计划,同时Roles编排方式又能在一定程度上从书写习惯和代码层编排上保证整体项目的可架构性和规范性,协助控制项目维护成本不致过高。
适用于网络管理员、系统运维、应用运维、桌面运维、Devops、基础架构运维等多领域运维行业,上手快,效率高。
四、Ansible通信机制
Ansible主推的卖点是其无需任何Daemon维护进程即可实现相互间的通信,且通信方式是基于业内统一标准的安全可靠的SSH安全连接。
(1)无客户端,只需安装SSH、Python即可。
(2)基于OpenSSH通信,底层基于SSH协议(Windows基于PowerShell) 。
(3)支持密码和SSH认证,建议使用公私钥方式认证,因为密码认证方式的密码需明文写配置文件,虽然配置文件可加密,但会增加Ansible使用的复杂度。
(4)支持Windows,但仅支持客户端,服务端必须是Linux系统。
五、安装步骤
1.设定虚拟机上网
第一种方法:
(1)宿主机通过连接无线网方式上网
(2)使用有线网卡搭建宿主机与虚拟机之间的桥接
(3)route -n查看宿主机网关
(4)将虚拟机网关设定为和宿主机相同的网关,编写/etc/resolv.conf文件,设定dns为114.114.114.114,此时通过ping www.baidu.com查看虚拟机网络连接状态
第二种方法:
(1)宿主机设定一个可以上网的网关,并设定dns为114.114.114.114
(2)网关和宿主机ip不同网段时,将宿主机地址伪装功能开启,并将虚拟机网关设定为宿主机Ip,dns设定为114.114.114.114,通过ping www.baidu.com查看虚拟机网络连接状态
2.镜像源使用
(1)去阿里云官网镜像站搜索epl源,安装步骤下载相应源并搭建软件仓库
(2)搭建好后直接通过dnf install或yum install安装Ansible
六、Ansible服务主机文件编写
在服务主机中编写本地解析,以便Ansible能够更快速的ssh连接目标主机
vim /etc/hosts:格式如下
ip1 主机名1
ip2 主机名2
ip3 主机名3
ip4 主机名4
本文地址:https://blog.csdn.net/nk298120/article/details/111997090