Ansible-tower工具搭建和使用

xiaohai 2020-03-09 16:49:38 2638人围观 标签: SSH 
简介Ansible-tower工具搭建和使用
一、Ansible-tower安装
  • 传统安装:
    • 基本思路,从Github拉取项目,然后配置文件,然后执行./setup.sh
    • 缺点:安装过程太艰辛,后期卸载非常麻烦
  • Docker安装:
    • 基本思路:申请证书、拉取镜像、运行镜像、破解
    • 优点:安装快,配置方便

本文主要介绍Docker安装过程:

1.1、申请证书

certbot免费证书:https://github.com/certbot/certbot
Ansible-tower必须使用https来进行访问,所以必须要申请证书

本过程省略,读者自己去古道这个工具 完成后会在/etc/letsencrypt/live/目录下生成对应域名的目录,如/etc/letsencrypt/live/xxx.yyy.com 里面有四个文件(cert.pem、chain.pem、fullchain.pem、privkey.pem) 我们只需要两个(fullchain.pem、privkey.pem),分别修改名称: fullchain.pem ==> tower.cert privkey.pem ==> tower.key
1.2、获取镜像

Docker镜像:https://hub.docker.com/

docker pull kakawait/ansible-tower
1.3、运行容器
docker run -d -v /etc/letsencrypt/live/xxx.yyy.com:/certs -p 6001:443 --name tower kakawait/ansible-tower

这里需要挂在证书到/certs下,我们本地开发6001端口指向容器。

1.4、通过域名访问

访问地址:https://xxx.yyy.com:6001 注意:一定要是https

image.png

这里默认用户名和密码:admin/password

登录成功后,需要们上传License File,需要去申请(建议申请)。以供学习使用,我们可以修改下代码来跳过这个步骤。

1.5、跳过上传License
docker exec -it tower bash #进入容器 cd /var/lib/awx/venv/awx/lib/python2.7/site-packages/tower_license #进入该目录 vim __init__.py #编辑__init__.py文件,找到 def _check_cloudforms_subscription(self):函数下直接返回True #119行 def _check_cloudforms_subscription(self): #120行 return True #修改完后保存,再当前目录下指向如下两个命令 python -m py_compile __init__.py python -O -m py_compile __init__.py #重启服务 ansible-tower-service restart

重启后,重新进入就跳过了上传License File的过程。

目前我们已经能正常使用了,但是我们这个hosts会有一定的限制,所以我们也可以通过破解来进行处理。(仅供学习使用)

1.6、Tower无限hosts的License修改

修改的文件跟上一步一样,找到文件232行

#232行 #available_instances = int(attrs.get('instance_count', None) or 0) #注释 #233行 available_instances = 1000000 #新增 #234行 attrs['license_type'] = 'enterprise' #新增

其他操作跟上一步一样,都需要重新执行和重启服务。重新查询License如下图

image.png