运维基础(7)Ansible Tower
Ansible的自动化能力很强吧?但众所周知,越是强大的自动化平台,越是要监管,以防误操作,曾经携程爆发的误操作的乌龙事件一定要警惕。今天就给大家介绍一下Ansible Tower。欢迎关注微信公众号【厦门微思网络】。www.xmws.cn专业IT认证培训19周年主要课程:思科、华为、红帽、ORACLE、VMware、CISP、PMP等认证培训及考证什么是Ansible TowerAnsible
Ansible的自动化能力很强吧?但众所周知,越是强大的自动化平台,越是要监管,以防误操作,曾经携程爆发的误操作的乌龙事件一定要警惕。今天就给大家介绍一下Ansible Tower。
欢迎关注微信公众号【厦门微思网络】。www.xmws.cn专业IT认证培训19周年
主要课程:思科、华为、红帽、ORACLE、VMware、CISP、PMP等认证培训及考证
什么是Ansible Tower
Ansible 是一个超级强大的自动化平台,而 Ansible Tower则是:
简约的按角色 / 权限 / 控制的集中自动化平台;
与操作 / 日志 / 审计 / 版本控制结合的一个数据中心自动化管控平台;
Ansible Tower 本质上是Ansible 的统一管理界面,类似于虚拟化中的管理平台;
它可以和AD,LDAP等认证方式做对接、通过统一图形化界面直观的看到被管系统的状态。
Ansible Tower既能发挥Ansible 这类自动化工具原本的强大执行能力,又对其能力按角色进行控制,同时能将事后报表和审计功能融入,做到符合传统数据中心的运维规范。
Ansible Tower的操作日志还可以与数据中心的CMDB对接,便于用户从整个数据级别对Ansible Tower的自动化运维操作进行统一管理和监控。
因此,Ansible Tower,给企业带来的一个自动化的数据中心,更是一个安全放心的数据中心。


Ansible Tower的安装
一、基础环境
Linux版本:CentOS 7.5
Ansible版本:2.5.3
Ansible Tower版本:
Ansible 服务器:共三台,ans-01,ans-02,ans-03
使用VMware Fusion虚拟化环境进行模拟,所有服务器2 Cores,2GB RAM。
二、Ansible Tower架构

Ansible 本质上是一个进行了封装的Shell。优点在于它是去中心化的工具,可以直接通过ssh管理远程主机,实现Agent的部署(ssh+python环境已经原生集成在Linux中)。
Ansible的缺点也在于其去中心化的特点,本身不支持高可用和分布式架构,无法实现 Server-Proxy-Client 的架构。在比较复杂或者多区域的网络区域中,无法实现同一的集中式管理(如多个ansible管理端的配置同步),也没有前端UI,对ansible的技能要求比较高。
Redhat提供为Ansible提供了一个前端UI,Ansible Tower。使用它可以免费管理10台以内的主机。
Ansible Tower 提供了通过WEB端管理其他主机的方式。本身也支持 Cluster 群集方式(需要在每个节点都安装ansible 和 ansible Tower),通过修改配置文件来实现 Ansible Tower 组成一个或多个群集。
Ansible Tower 是目前唯一(除了自研发方式外)能够实现底层 Ansible 高可用、水平扩展的解决方案。Ansible Towe r的功能比较简单,群集配置逻辑(Instance Group分组 )通过配置文件实现,没有一个前端维护的界面。因此每次重新配置逻辑都需要在更新配置文件后重跑ansible tower的setup文件。
三、Ansible安装
1、配置 Ansible 的 YUM 源

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
2、安装Ansible
yum install ansible
验证ansible --version
3、生成公钥

ssh-keygen -N "" -b 4096 -t rsa -C "Ansible Public Key"
生成的秘钥默认为id_rsa,可以通过-f参数指定其他路径,但需要修改ssh_config的默认秘钥文件名,才能实现免密登陆。
4、复制公钥
ssh-copy-id -i /root/.ssh/id_rsa root@localhos
5、添加主机到Ansible的hosts列表

修改/etc/ansible/hosts文件,将管理服务器的信息加入到这个文件,也可以按需分组。
ans-[01:99] 表示ans-01, ans-02, ... , ans-99所有的服务器
6、验证免密码登录Ansible管理功能

运行ssh host或者ansible远程执行命令(如ansible "localhost" -m command -a "ip addr")来检测是否可进行免密码登陆。
7、对于其他要进行管理的服务器,可以重复第4步,进行公钥下发,下发后,便可以实现通过ssh进行远程操作。ansible的远程管理需要进行一定的 配置后才能进行。
8、重复上述步骤,使得ans-01,ans-02,ans-03可以相互进行管理(即:每台服务器的/root/.ssh/authorized_keys文件存在这三台服务器的密钥信息)。
往期回顾:
更多推荐




所有评论(0)