Centos 7安装Ansible+Ansible-Tower踩坑记

一、安装前环境
Centos 7 最小化安装 | 4G内存 | 100GB硬盘

注:Ansible-Tower目前支持7.4+的版本,可以使用yum update -y命令更新

同时机器一定要联网,因为执行./setup的时候会联网安装很多的依赖包,安装速度和你的网速有关

二、安装Ansible
1.安装Ansible的epel源
yum install -y http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum update -y
2.清空缓存,安装Ansible
yum clean all
yum install -y ansible
至此Ansible安装成功

三、安装Ansible-Tower
1.下载解压所需的安装包
cd /home
yum install -y wget
wget http://releases.ansible.com/ansible-tower/setup/ansible-tower-setup-latest.tar.gz
tar zxvf ansible-tower-setup-latest.tar.gz
2.移动安装包到/usr/local下
mv ansible-tower-setup-3.3.0-1/ /usr/local/ansible-tower

3.配置inventory文件
sed -i “s#password=’’#password=‘324215’#g” inventory
sed -i “s#host=’’#host=‘127.0.0.1’#g” inventory
sed -i “s#port=’’#port=‘5432’#g” inventory
4.安装Ansible-Tower
安装前先创建/var/log/tower的日志目录,不然会报错
mkdir -p /var/log/tower
删除之前下载的epel源
rm -rf /etc/yum.repos.d/e*

cd /usr/local/ansible-tower
./setup
安装过程中会要求输入密码,那个密码是之后登陆图形化界面的密码,当安装出现如下图的时候,代表已经安装成功

添加防火墙例外,关闭selinux,访问服务器地址即可

firewall-cmd --permanent --zone=public --add-port=80/tcp
systemctl restart firewalld.service

setenforce 0
vim /etc/sysconfig/selinux
将SELINUX的状态改为
SELINUX=disabled

五、安装完成后设置
1.遇到打开之后左上角已经显示出标签页,页面中没有任何选项的,请更换浏览器尝试一下

报错: ansible-tower包打不到
TASK [packages_el : Install the Tower RPM.] ************************************

fatal: [localhost]: FAILED! => {“changed”: false, “failed”: true, “msg”: “No package matching ‘ansible-tower == 3.0.3’ found available, installed or updated”, “rc”: 126, “results”: [“No package matching ‘ansible-tower == 3.0.3’ found available, installed or updated”]}

to retry, use: --limit @/root/ansible-tower-setup-3.0.3/install.retry

PLAY RECAP *********************************************************************

localhost : ok=38 changed=1 unreachable=0 failed=1

而根据自动生成的repo,发现http://releases.ansible.com/ansible-tower/setup/ 该仓库是有对应版本的包的。只是enable=0被禁用了。
解决办法:
手动建一个repo,避免修改后被覆盖
cat >/etc/yum.repos.d/Ansible-Tower.repo <<EOF
[Ansible-Tower]

name=Ansible Tower Repository - $releasever $basearch

baseurl=http://releases.ansible.com/ansible-tower/rpm/epel-7-$basearch

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ansible-release

EOF

再次执行setup.sh后成功安装并运行ansible-tower
RUNNING HANDLER [supervisor : Wait for supervisor to stop.] ********************

ok: [localhost] => {“attempts”: 1, “changed”: false, “stat”: {“exists”: false}}

RUNNING HANDLER [supervisor : Start supervisor.] *******************************

changed: [localhost] => {“changed”: true, “name”: “supervisord”, “state”: “started”, “status”: {“ActiveEnterTimestamp”: “日 2017-01-15 04:39:59 CST”, “ActiveEnterTimestampMonotonic”: “1881966420”, “ActiveExitTimestamp”: “日 2017-01-15 04:40:14 CST”, “ActiveExitTimestampMonotonic”: “1897033772”, “ActiveState”: “inactive”, “After”: “rc-local.service systemd-journald.socket basic.target system.slice”, “AllowIsolate”: “no”, “AssertResult”: “yes”,

… …

RUNNING HANDLER [httpd : restart httpd] ****************************************

changed: [localhost] => {“changed”: true, “name”: “httpd”, “state”: “started”, “status”: {“ActiveEnterTimestamp”: “日 2017-01-15 04:40:08 CST”, “ActiveEnterTimestampMonotonic”: “1890667186”, “ActiveExitTimestampMonotonic”: “0”, “ActiveState”: “active”, “After”: “systemd-journald.socket basic.target -.mount remote-fs.target system.slice network.target nss-lookup.target tmp.mount”, “AllowIsolate”: “no”, “AssertResult”: “yes”, “AssertTimestamp”: “日 2017-01-15 04:40:08 CST”, “AssertTimestampMonotonic”: “1890531339”, “Before”: “shutdown.target multi-user.target”,


中间还尝试了手动安装Tower RPM

猜你喜欢

转载自blog.csdn.net/weixin_43935079/article/details/86131663