Ansible Tower

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架构

Ansible Tower_第1张图片

  • 部署 Anisble Tower
  1. 创建安装目录 :~ # mkdir ansibie

  2. 进入目录 :~ # cd ansibie/

  3. 下载安装包 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

  4. .解压 # tar xf ansible-tower-setup-bundle-3.6.2-1.el7.tar.gz.0

  5. 进入安装目录 Ansible Tower_第2张图片

  6. 修改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 SSL

    rabbitmq_username=tower
    rabbitmq_password=‘tower’
    rabbitmq_cookie=cookiemonster

  7. 安装 # ./setup.sh 切记要留够4G以上的内存否则会报错
    Ansible Tower_第3张图片Ansible Tower_第4张图片
    Ansible Tower_第5张图片
    Ansible Tower 破解

  8. 安装python环境 yum install -y python36-devel

  9. 安装uncompyle6 yum install -y python36-devel

  10. 反编译代码

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.pyAnsible Tower_第6张图片
Ansible Tower_第7张图片
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_第8张图片
Ansible Tower使用
先创建连接虚拟机的方式
Ansible Tower_第9张图片
选择使用密码或者秘钥
Ansible Tower_第10张图片
创建主机清单
Ansible Tower_第11张图片
Ansible Tower_第12张图片
添加主机
Ansible Tower_第13张图片
Ansible Tower_第14张图片
Ansible Tower_第15张图片
添加项目
Ansible Tower_第16张图片
编辑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/
Ansible Tower_第17张图片
创建执行任务的模板
Ansible Tower_第18张图片
Ansible Tower_第19张图片
执行任务的结果
Ansible Tower_第20张图片
Ansible Tower_第21张图片

你可能感兴趣的:(笔记)