Ansible Tower
什么是Ansible Tower
Ansible Tower是由Redhat提供的一个管理Ansible前端UI,使用它可以免费管理10台以内的主机,所以它是一个收 费项目,该项目仅适用于那些不会运维开发,并且有钱的选手们,当然,如果会开发,懒得写,也可以 PJ Ansible Tower。Do you understand me? Ansible本质上是一个进行了封装的Shell。优点在于它是去中心化的工具,可以直接通过ssh管理远程主机,实现无 Agent的部署(ssh+python环境已经原生集成在Linux中)。 Ansible的缺点也在于其去中心化的特点,本身不支持高可用和分布式架构,无法实现Server-Proxy-Client的架构。 在比较复杂或者多区域的网络区域中,无法实现统一的集中式管理(如多个ansible管理端的配置同步),也没有前 端UI,对ansible的技能要求比较高。
Ansible Tower架构
- 部署 Anisble Tower
-
创建安装目录 :~ # mkdir ansibie
-
进入目录 :~ # cd ansibie/
-
下载安装包 wget [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Oiab6crt-1629380192321)(file:///C:\Users\Administrator\AppData\Roaming\Tencent\QQTempSys%W@GJ$ACOF(TYDYECOKVDYB.png)]https://releases.ansible.com/ansible-tower/setup-bundle/ansible-tower-setup-bundle-3.6.2-1.el7.tar.gz
-
.解压 # tar xf ansible-tower-setup-bundle-3.6.2-1.el7.tar.gz.0
-
进入安装目录
-
修改inventory文件 vim inventory
[tower]
localhost ansible_connection=local[database]
[all:vars]
admin_password=‘tower’ #tower登录密码pg_host=’’
pg_port=’’pg_database=‘awx’
pg_username=‘awx’
pg_password=‘tower’
pg_sslmode=‘prefer’ # set to ‘verify-full’ for client-side enforced SSLrabbitmq_username=tower
rabbitmq_password=‘tower’
rabbitmq_cookie=cookiemonster -
安装 # ./setup.sh 切记要留够4G以上的内存否则会报错
Ansible Tower 破解 -
安装python环境 yum install -y python36-devel
-
安装uncompyle6 yum install -y python36-devel
-
反编译代码
cd /var/lib/awx/venv/awx/lib/python3.6/site-packages/tower_license
uncompyle6 init.pyc >init.py
mv init.pyc init.pyc.bak
python -m py_compile init.py
python -O -m py_compile init.py
13. 重启服务 ansible-tower-service restart
Restarting Tower
Redirecting to /bin/systemctl stop rh-postgresql10-postgresql.service
Redirecting to /bin/systemctl stop rabbitmq-server.service
Redirecting to /bin/systemctl stop nginx.service
Redirecting to /bin/systemctl stop supervisord.service
Redirecting to /bin/systemctl start rh-postgresql10-postgresql.servi
Redirecting to /bin/systemctl start nginx.service
Redirecting to /bin/systemctl start supervisord.service
Ansible Tower使用
先创建连接虚拟机的方式
选择使用密码或者秘钥
创建主机清单
添加主机
添加项目
编辑playbook
1.进入ansible tower指定目录
[root@web03 tower_license]# cd /var/lib/awx/projects
2.创建目录
[root@web03 projects]# mkdir ip
3.编辑playbook
[root@web03 projects]# vim ip/get_ifconfig.yml
- hosts: all
tasks: - name: Get Ifconfig
shell: ‘ifconfig’
4.授权
[root@web03 projects]# chown awx.awx -R /var/lib/awx/projects/
创建执行任务的模板
执行任务的结果