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实战大全:第一篇

    本小节介绍的是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

    通过浏览器访问:,如下:

Ansible Tower实战大全:第一篇

使用用户名admin及inventory文件中设置的密码进行登陆,登陆后界面如下:





魏新宇

"大卫分享"运营者、红帽资深解决方案架构师

专注开源云计算、容器及自动化运维在金融行业的推广

拥有红帽RHCE/RHCA、VMware VCP-DCV、VCP-DT、VCP-Network、VCP-Cloud、ITIL V3、Cobit5、TOGAF、C-STAR、AIX、HPUX等相关认证。




以上是关于Ansible Tower实战大全:第一篇的主要内容,如果未能解决你的问题,请参考以下文章

python 基础篇第一篇

Python学习基础篇第一篇——快速入门(适合初学者)

读书笔记:《如何阅读一本书》(暂定第一篇第二篇)

Lua从青铜到王者基础篇第一篇:Lua初始教程和环境安装

ansible代码分析第一篇--主文件—ansible分析

kinect2.0 基础篇第一篇 用C#在Visual Studio上编写关闭彩色图像的三色通道的某个通道