Ansible Tower实战大全:第一篇
Posted 大魏分享
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ansible Tower实战大全:第一篇相关的知识,希望对你有一定的参考价值。
Ansible是一个开源的配置管理和业务流程工具。它可以自动化和标准化的配置远程主机和虚拟机。它的编排功能允许Ansible并列的启动和正常关闭多种应用程序。所以Ansible可以以零停机的方式执行多个系统的轧制更新。
是一个基于Web的用户界面,提供了IT自动化的企业解决方案。它有一个友好用户的仪表板来管理部署和监控资源。Ansible Tower为Ansible增加自动化,可视化管理和监控能力。
本文档将分别介绍Ansible Tower在RHEL6和RHEL7上的安装。
1
2
序号 |
格式开头 |
格式说明 |
1 |
以“#”开头 |
代表root用户; |
2 |
以“$”开头 |
代表普通用户; |
3 |
以边框“灰色底纹”标注 |
表示命令或输入字符; |
4 |
以边框“白色底纹”标注 |
表示配置文件配置项 |
5 |
以“红色”标注 |
表示特殊说明 |
6 |
以“楷体”标注 |
表示注释内容; |
3
Red Hat EnterpriseLinux 6 64-bit
Red Hat EnterpriseLinux 7 64-bit
CentOS 6 64-bit
CentOS 7 64-bit
Ubuntu 12.04 LTS64-bit
Ubuntu 14.04 LTS64-bit
名称 |
最小值 |
推荐值 |
内存 |
2GB |
4GB+(100 forks),16GB+(400 forks) |
磁盘 |
20GB |
40GB+(/var分区20GB+) |
CPU |
2C |
8C+ |
操作系统版本 |
依赖 |
Red Hat Enterprise Linux 6 |
rhscl源 |
Red Hat Enterprise Linux 7 |
无 |
注:以上依赖源分别为RHEL6和RHEL7版本,官方文档中提到RHEL7依赖extras源,但是在实际安装过程中,并没有用到extras源中的软件包,所以RHEL7使用ISO中的软件包就可以成功完成安装。从Ansible Tower 3.0开始,Tower在RHEL6上的运行环境是python2.7,所以在RHEL6上安装Tower不在依赖optional源,而是依赖于rhscl源。
4
推荐使用Bundled安装程序,从Ansible Tower2.3.0开始,Tower安装支持bundled安装程序,Bundled安装程序虽然打包了大部分依赖软件包,但是仍然需要访问Red HatEnterprise Linux源。
ansible-tower-setup-bundle-3.0.3-1.el6.tar.gz ansible-tower-setup-bundle-3.0.3-1.el7.tar.gz |
操作系统版本 |
主机名 |
|
Red Hat Enterprise Linux 6.8 |
172.168.0.10 |
ansible6.example.com |
Red Hat Enterprise Linux 7.3 |
172.168.0.11 |
ansible7.example.com |
注:本文档介绍的是Ansible Tower分别在RHEL6和RHEL7上的安装,实际环境中可根据需求选择一个版本即可。
分区检查
安装Ansible Tower,/var分区至少有10G的可用空间,否则安装前检查会无法通过,检查方法如下:
# df -hP /var/ Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup-lv_var 15G 114M 14G 1% /var |
注:如果/var不是一个单独的文件系统,也可以使用上面的命令进行检查,df命令会打印/var目录所在文件系统上的大小,例如:/分区。
源
Ansibel Tower Bundled安装程序虽然包含了大部分依赖软件包,但是仍然需要额外的源,除了基础源(系统光盘自带的RPM包)之外,Red Hat Enterprise Linux 6还需要订阅rhscl源,Red Hat Enterprise Linux 7不需要订阅额外的源。
RHEL6:
# yum repolist --noplugins repo id repo name status rhel-server-rhscl-6-rpms Red Hat Software Collections 4,973 rhel-6-server-rpms Red Hat Enterprise Linux 6 Server 3,855 repolist: 8,828 |
RHEL7:
# yum repolist --noplugins repo id repo name status rhel-7-server-rpms Red Hat Enterprise Linux 7 Server 4,751 repolist: 4,819 |
Ansible Tower企业版需要收费,如需订阅,请联系红帽:。
本小节介绍的是Ansible Tower在RHEL6上的标准安装,使用单节点,内置数据库。
5
# ls /opt/ansible-tower-setup-bundle-3.0.3-1.el6.tar.gz /opt/ansible-tower-setup-bundle-3.0.3-1.el6.tar.gz |
解压:
# cd /opt # tar -xf /opt/ansible-tower-setup-bundle-3.0.3-1.el6.tar.gz # ls ansible.cfg backup.yml bundle group_vars install.yml inventory licenses README.md restore.yml roles setup.sh |
Ansible Tower 3.0的安装省略了运行./configure的步骤,在执行安装之前,需要手动修改inventory文件,根据当前的环境情况,进行配置。以下是配置示例:
(1)单节点内置数据库:
localhost ansible_connection=local
[secondary]
[database]
[all:vars] admin_password='password' 使用实际的密码password redis_password='password' #使用实际的密码替换password
pg_host='' pg_port=''
pg_database='awx' pg_username='awx' pg_password='password' # |
(2)双节点+已安装的外部数据库:
[primary] node1 ansible_connection=local #使用实际的主机替换node1
[secondary] node2 #使用实际的主机替换node2
[database]
[all:vars] admin_password='password' #使用实际的密码替换password redis_password='password' #使用实际的密码替换password
pg_host=‘database’ #使用实际的主机替换database pg_port=’5432’ #使用实际的端口替换5432
pg_database='awx' pg_username='awx' pg_password='password' #使用实际的密码替换password |
(3)双节点+未安装的外部数据库:
[primary] node1 ansible_connection=local #使用实际的主机替换node1
[secondary] node2 #使用实际的主机替换node2
[database] database #使用实际的主机替换database
[all:vars] admin_password='password' #使用实际的密码替换password redis_password='password' #使用实际的密码替换password
pg_host=‘database’ #使用实际的主机替换database pg_port=’5432’ #使用实际的端口替换5432
pg_database='awx' pg_username='awx' pg_password='password' #使用实际的密码替换password |
本文档使用单节点内置数据库,所以inventory文件配置如下:
[primary] localhost ansible_connection=local
[secondary]
[database]
[all:vars] admin_password='redhat' _password='redhat'
pg_host='' pg_port=''
pg_database='awx' pg_username='awx' pg_password='redhat' |
注:redis密码不支持空格和这些特殊符号:【@, :, -,\, /, #】,另外,如果使用双节点的Tower,则数据库必须使用外部数据库,且数据库节点必须是一台单独的节点,不能是Tower节点中的一台。
在配置完inventory文件之后,就可以执行setup.sh开始安装,
# ./setup.sh [warn] Will install bundled Ansible ……… 中间的输出内容省略 ……… PLAY RECAP ************************************************************ localhost : ok=126 changed=53 unreachable=0 failed=0
The setup process completed successfully. Setup log saved to /var/log/tower/setup-2016-12-20-00:04:42.log |
注:如果使用低于RHEL6.7的版本,在安装过程中会提示找不到PyYAML,则需要额外下载PyYAML包,因为PyYAML是在RHEL6.7才加入的光盘镜像中的。
将申请的License key文件上传至Ansible Tower的/etc/tower目录下,并命名为license,如下:
# ls /etc/tower/license /etc/tower/license |
,如下:
使用用户名admin及inventory文件中设置的密码进行登陆,登陆后界面如下:
本小节介绍的是Ansible Tower在RHEL7上的标准安装,使用单节点,内置数据库。
6
上传Bundled安装介质至服务器ansible7.example.com:/opt目录下:
# ls /opt/ansible-tower-setup-bundle-3.0.3-1.el7.tar.gz /opt/ansible-tower-setup-bundle-3.0.3-1.el7.tar.gz |
解压:
# cd /opt # tar -xf /opt/ansible-tower-setup-bundle-3.0.3-1.el7.tar.gz # ls ansible.cfg backup.yml bundle group_vars install.yml inventory licenses README.md restore.yml roles setup.sh |
1
2
3
4
5
6
6.1
Ansible Tower 3.0的安装省略了运行./configure的步骤,在执行安装之前,需要手动修改inventory文件,根据当前的环境情况,进行配置。以下是配置示例:
(1)单节点内置数据库:
[primary] localhost ansible_connection=local
[secondary]
[database]
[all:vars] admin_password='password' #使用实际的密码替换password redis_password='password' #使用实际的密码替换password
pg_host='' pg_port=''
pg_database='awx' pg_username='awx' pg_password='password' #使用实际的密码替换password |
(2)双节点+已安装的外部数据库:
[primary] node1 ansible_connection=local #使用实际的主机替换node1
[secondary] node2 #使用实际的主机替换node2
[database]
[all:vars] admin_password='password' #使用实际的密码替换password redis_password='password' #使用实际的密码替换password
pg_host=‘database’ #使用实际的主机替换database pg_port=’5432’ #使用实际的端口替换5432
pg_database='awx' pg_username='awx' pg_password='password' #使用实际的密码替换password |
(3)双节点+未安装的外部数据库:
[primary] node1 ansible_connection=local #使用实际的主机替换node1
[secondary] node2 #使用实际的主机替换node2
[database] database #使用实际的主机替换database
[all:vars] admin_password='password' #使用实际的密码替换password redis_password='password' #使用实际的密码替换password
pg_host=‘database’ #使用实际的主机替换database pg_port=’5432’ #使用实际的端口替换5432
pg_database='awx' pg_username='awx' pg_password='password' #使用实际的密码替换password |
本文档使用单节点内置数据库,所以inventory文件配置如下:
[primary] localhost ansible_connection=local
[secondary]
[database]
[all:vars] admin_password='redhat' redis_password='redhat'
pg_host='' pg_port=''
pg_database='awx' pg_username='awx' pg_password='redhat' |
注:redis密码不支持空格和这些特殊符号:【@, :, -,\, /, #】,另外,如果使用双节点的Tower,则数据库必须使用外部数据库,且数据库节点必须是一台单独的节点,不能是Tower节点中的一台。
在配置完inventory文件之后,就可以执行setup.sh开始安装,
# ./setup.sh [warn] Will install bundled Ansible ……… 中间的输出内容省略 ……… PLAY RECAP ************************************************************ localhost : ok=122 changed=52 unreachable=0 failed=0
The setup process completed successfully. Setup log saved to /var/log/tower/setup-2016-12-19-16:26:34.log |
最后看到以上输出,表示安装成功了。
将申请的License key文件上传至Ansible Tower的/etc/tower目录下,并命令为license,如下:
# ls /etc/tower/license /etc/tower/license |
通过浏览器访问:,如下:
使用用户名admin及inventory文件中设置的密码进行登陆,登陆后界面如下:
以上是关于Ansible Tower实战大全:第一篇的主要内容,如果未能解决你的问题,请参考以下文章