前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Ansible Tower实战大全:第一篇

Ansible Tower实战大全:第一篇

作者头像
魏新宇
发布2018-03-22 15:42:16
3.8K0
发布2018-03-22 15:42:16
举报

1.前言

    Ansible是一个开源的配置管理和业务流程工具。它可以自动化和标准化的配置远程主机和虚拟机。它的编排功能允许Ansible并列的启动和正常关闭多种应用程序。所以Ansible可以以零停机的方式执行多个系统的轧制更新。

Ansible Tower是一个基于Web的用户界面,提供了IT自动化的企业解决方案。它有一个友好用户的仪表板来管理部署和监控资源。Ansible Tower为Ansible增加自动化,可视化管理和监控能力。

    本文档将分别介绍Ansible Tower在RHEL6和RHEL7上的安装。

2.格式约定

2.1 格式约定

序号

格式开头

格式说明

1

以“#”开头

代表root用户;

2

以“$”开头

代表普通用户;

3

以边框“灰色底纹”标注

表示命令或输入字符;

4

以边框“白色底纹”标注

表示配置文件配置项

5

以“红色”标注

表示特殊说明

6

以“楷体”标注

表示注释内容;

3.需求条件

3.1 支持的操作系统

  • 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(/var分区10GB)

40GB+(/var分区20GB+)

CPU

2C

8C+

3.3 软件依赖(RHEL)

操作系统版本

依赖

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.环境介绍

4.1 安装介质

    推荐使用Bundled安装程序,从Ansible Tower2.3.0开始,Tower安装支持bundled安装程序,Bundled安装程序虽然打包了大部分依赖软件包,但是仍然需要访问Red HatEnterprise Linux源。

    Bundled下载地址:https://releases.ansible.com/ansible-tower/setup-bundle/,下载最新的版本,当前最新版本是3.0.3

ansible-tower-setup-bundle-3.0.3-1.el6.tar.gzansible-tower-setup-bundle-3.0.3-1.el7.tar.gz

4.2 操作系统环境

操作系统版本

IP地址

主机名

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上的安装,实际环境中可根据需求选择一个版本即可。

4.3 /var分区检查

    安装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目录所在文件系统上的大小,例如:/分区。

4.4 YUM

    Ansibel Tower Bundled安装程序虽然包含了大部分依赖软件包,但是仍然需要额外的源,除了基础源(系统光盘自带的RPM包)之外,Red Hat Enterprise Linux 6还需要订阅rhscl源,Red Hat Enterprise Linux 7不需要订阅额外的源。

    RHEL6:

# yum repolist  --nopluginsrepo id                      repo name                              statusrhel-server-rhscl-6-rpms     Red Hat Software Collections            4,973rhel-6-server-rpms           Red Hat Enterprise Linux 6  Server       3,855repolist: 8,828

    RHEL7:

# yum repolist  --nopluginsrepo id                      repo name                               statusrhel-7-server-rpms           Red Hat Enterprise Linux 7  Server        4,751repolist: 4,819

4.5 License

    Ansible Tower企业版需要收费,如需订阅,请联系红帽:https://access.redhat.com

    如果需要测试及评估Ansible Tower,可申请试用版基础license,基础License只支持10个节点,申请地址:http://ansible.com/license;红帽员工可以申请50个节点的企业版License,申请地址:https://store.ansible.com/redhat/tower_license/

5.安装Ansible Tower在RHEL6上

    本小节介绍的是Ansible Tower在RHEL6上的标准安装,使用单节点,内置数据库。

5.1 安装介质准备

上传Bundled安装介质至服务器ansible6.example.com:/opt目录下:

# 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# lsansible.cfg  backup.yml  bundle   group_vars  install.yml  inventory   licenses  README.md  restore.yml   roles  setup.sh

5.2 设置Inventory文件

    Ansible Tower 3.0的安装省略了运行./configure的步骤,在执行安装之前,需要手动修改inventory文件,根据当前的环境情况,进行配置。以下是配置示例:

    (1)单节点内置数据库:

[primary]localhost ansible_connection=local [secondary] [database] [all:vars]admin_password='password'       #使用实际的密码替换passwordredis_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'         #使用实际的密码替换passwordredis_password='password'         #使用实际的密码替换password pg_host=‘database’             #使用实际的主机替换databasepg_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'          #使用实际的密码替换passwordredis_password='password'          #使用实际的密码替换password pg_host=‘database’               #使用实际的主机替换databasepg_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节点中的一台。

5.3 安装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才加入的光盘镜像中的。

5.4 导入License

    将申请的License key文件上传至Ansible Tower的/etc/tower目录下,并命名为license,如下:

# ls  /etc/tower/license /etc/tower/license

5.5 访问Ansible Tower

通过浏览器访问:https://172.168.0.10,如下:

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

6.安装Ansible Tower在RHEL7上

    本小节介绍的是Ansible Tower在RHEL7上的标准安装,使用单节点,内置数据库。

6.1 安装介质准备

    上传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# lsansible.cfg  backup.yml  bundle   group_vars  install.yml  inventory   licenses  README.md  restore.yml   roles  setup.sh

6.2 设置Inventory文件

    Ansible Tower 3.0的安装省略了运行./configure的步骤,在执行安装之前,需要手动修改inventory文件,根据当前的环境情况,进行配置。以下是配置示例:

    (1)单节点内置数据库:

[primary]localhost ansible_connection=local [secondary] [database] [all:vars]admin_password='password'       #使用实际的密码替换passwordredis_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'         #使用实际的密码替换passwordredis_password='password'         #使用实际的密码替换password pg_host=‘database’             #使用实际的主机替换databasepg_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'          #使用实际的密码替换passwordredis_password='password'          #使用实际的密码替换password pg_host=‘database’               #使用实际的主机替换databasepg_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节点中的一台。

6.3 安装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

最后看到以上输出,表示安装成功了。

6.4 导入License

将申请的License key文件上传至Ansible Tower的/etc/tower目录下,并命令为license,如下:

# ls  /etc/tower/license /etc/tower/license

6.5 访问Ansible Tower

通过浏览器访问:https://172.168.0.11,如下:

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-03-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大魏分享 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.前言
  • 2.格式约定
    • 2.1 格式约定
    • 3.需求条件
      • 3.1 支持的操作系统
        • 3.3 软件依赖(RHEL)
        • 4.环境介绍
          • 4.1 安装介质
            • 4.2 操作系统环境
              • 4.3 /var分区检查
                • 4.4 YUM源
                  • 4.5 License
                  • 5.安装Ansible Tower在RHEL6上
                    • 5.1 安装介质准备
                      • 5.2 设置Inventory文件
                        • 5.3 安装Tower
                          • 5.4 导入License
                            • 5.5 访问Ansible Tower
                            • 6.安装Ansible Tower在RHEL7上
                              • 6.1 安装介质准备
                                • 6.2 设置Inventory文件
                                  • 6.3 安装Tower
                                    • 6.4 导入License
                                      • 6.5 访问Ansible Tower
                                      领券
                                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档