Ansible-Tower web界面管理安装

Ansible-Tower web界面管理安装

Ansible-Tower 介绍

Ansible-Tower(之前叫做awx)是将ansible的指令界面化,简明直观,简单易用。Ansibke-tower其实就是一个图形化的任务调度,复杂服务部署,IT自动化的一个管理平台,属于发布配置管理系统,支持Api及界面操作,Django编写。Ansible-tower可以通过界面从github拉取最新playbook实施服务部署,提高生产效率。当然它也提供一个RESET API和命令行的CLI以供python脚本调用。

如下安装成功,破解没成功--------使用下面低版本
wget https://releases.ansible.com/ansible-tower/setup/ansible-tower-setup-3.7.1-1.tar.gz

tar -zxvf ansible-tower-setup-3.7.1-1.tar.gz 

cd ansible-tower-setup-3.7.1-1

vim inventory 
sed -i "s#password=''#password='tower@123'#g" inventory
sed -i "s#host=''#host='127.0.0.1'#g" inventory
sed -i "s#port=''#port='5432'#g" inventory
mkdir -p /var/log/tower
系统要求 2核 内存4G
./setup.sh 

安装成功后
浏览器访问: https://172.16.72.131/ 输入用户名和密码

ansible-tower-service stop

申请的免费版license最多只能添加10个主机, 且有时间限制 下面记录下破解方法:失败了,因为版本太高
cd /var/lib/awx/venv/awx/lib/python3.6/site-packages/tower_license

新版本的破解失败--------------------------------------------------------
发现最新版本或者高版本的ansible-tower没有__init__.py文件,需要对__init__.pyc进行反编译

python --version
pip --version

yum install python-pip -y
pip -V

pip install uncompyle6
uncompyle6 --version
uncompyle6 __init__.pyc >__init__.py 报语法错误

安装低版本的 Ansible-Tower 但是 ansible也要低版本,不然安装失败
报错: template error while templating string: no filter named ‘match’. String: {{ ( (pg_host is not defined or pg_host == ‘’ or pg_host == '127.0.0.1

wget https://releases.ansible.com/ansible-tower/setup-bundle/ansible-tower-setup-bundle-3.2.6-1.el7.tar.gz
卸载Ansible-Tower
yum list|grep ansible


yum list installed
yum remove ansible-tower
yum remove ansible-tower-server
yum remove ansible-tower-venv-ansible
yum remove ansible-tower-venv-tower

这个版本的可以 -------成功

参考链接: https://www.cnblogs.com/hujinzhong/p/12172903.html

wget https://releases.ansible.com/ansible-tower/setup/ansible-tower-setup-3.6.0-1.tar.gz

tar -zxvf ansible-tower-setup-3.6.0-1.tar.gz

cd ansible-tower-setup-3.6.0-1

vim inventory 
admin_password='tower'
pg_password='tower'
rabbitmq_password='tower'

mkdir -p /var/log/tower
chmod 777 /var/log/tower
./setup.sh

cd /var/lib/awx/venv/awx/lib/python3.6/site-packages/tower_license

wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py

pip -V

pip install uncompyle6
uncompyle6 __init__.pyc >__init__.py

#修改__init__.py文件
    def _check_cloudforms_subscription(self):
        return True    #添加这一行
        if os.path.exists('/var/lib/awx/i18n.db'):
            return True
        else:
            if os.path.isdir('/opt/rh/cfme-appliance'):
                if os.path.isdir('/opt/rh/cfme-gemset'):
                    pass
            try:
                has_rpms = subprocess.call(['rpm', '--quiet', '-q', 'cfme', 'cfme-appliance', 'cfme-gemset'])
                if has_rpms == 0:
                    return True
            except OSError:
                pass
 
            return False
....
 
#修改"license_date=253370764800L" 为 "license_date=253370764800"
    def _generate_cloudforms_subscription(self):
        self._attrs.update(dict(company_name='Red Hat CloudForms License', instance_count=MAX_INSTANCES,
          license_date=253370764800,  #修改
          license_key='xxxx',
          license_type='enterprise',
          subscription_name='Red Hat CloudForms License'))
...
 
#------------------------------------------------------------------

python -m py_compile __init__.py
python -O -m py_compile __init__.py

ansible-tower-service restart

wget -O /etc/yum.repos.d/ansible-awx.repo https://copr.fedorainfracloud.org/coprs/mrmeee/ansible-awx/repo/epel-7/mrmeee-ansible-awx-epel-7.repo

yum install -y ansible-awx

参考链接:
https://www.cnblogs.com/hujinzhong/p/12172903.html
https://www.cnblogs.com/kevingrace/p/11306540.html
https://github.com/nhz94259/rainbow-oneInch-perday/tree/master/doc
https://www.cnblogs.com/nhz-M/p/10720913.html
https://www.jianshu.com/p/804832965259
https://blog.csdn.net/qq_33633013/article/details/82108104
https://docs.ansible.com/ansible-tower/2.3.0/html/towerapi/intro.html
https://gitee.com/lwr_dgas/AnsibleUI?_from=gitee_search

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要在Docker中安装Ansible Tower,您可以按照以下步骤进行操作: 1. 首先,确保您的系统已经安装了Docker和Docker Compose。如果没有,请根据您的操作系统手动安装它们。 2. 创建一个新的目录,并在其中创建一个名为`docker-compose.yml`的文件,用于定义Docker容器的配置。 3. 打开`docker-compose.yml`文件,将以下内容粘贴到文件中: ``` version: '3' services: ansible-tower: image: ansible/awx:15.0.0 container_name: ansible-tower ports: - "8080:80" volumes: - tower_data:/var/lib/awx/projects env_file: - tower.env depends_on: - postgresql - rabbitmq postgresql: image: postgres:13 container_name: postgresql environment: - POSTGRES_USER=awx - POSTGRES_PASSWORD=awxpass - POSTGRES_DB=awx rabbitmq: image: rabbitmq:3-management container_name: rabbitmq environment: - RABBITMQ_DEFAULT_USER=awx - RABBITMQ_DEFAULT_PASS=awxpass volumes: tower_data: ``` 4. 在与`docker-compose.yml`文件相同的目录中,创建一个名为`tower.env`的文件,并将以下内容粘贴到文件中: ``` ADMIN_USER=admin ADMIN_PASSWORD=password SECRET_KEY=awxsecret ``` 请确保替换`ADMIN_PASSWORD`为您要设置的实际密码。 5. 保存并关闭`tower.env`文件。 6. 打开终端或命令提示符,导航到包含`docker-compose.yml`文件的目录。 7. 运行以下命令以启动Ansible Tower容器: ``` docker-compose up -d ``` 这将下载并创建Ansible Tower容器,并将其运行在后台。 8. 当容器启动后,您可以通过访问`http://localhost:8080`来访问Ansible TowerWeb界面。使用先前在`tower.env`文件中设置的用户名和密码进行登录。 请注意,这只是一个简单的示例配置,您可能需要根据您的需求进行调整。有关更多详细的配置选项和自定义,请参阅Ansible Tower的官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

beyond阿亮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值