Documentation

8. 升级现有 Tower 安装

您可轻松地将现有 Tower 安装升级到最新版本。Tower 查找现有配置文件并识别何时应当执行升级而不是安装。

与安装一样,升级过程要求 Tower 服务器可以访问互联网。升级过程所需的时间与 Tower 安装的时间类似,此外还需要时间进行数据迁移。

此升级过程假定您已经安装了 Ansible 和 Tower。

注解

您不能将嵌入式数据库 Tower 转换为主动/被动冗余 (Active/Passive Redundancy) 模式安装的转换过程作为升级过程的一部分。要在冗余配置中部署 Tower 的用户应当备份其 Tower 数据库,在不同的虚拟机或物理主机上安装新的冗余配置,然后恢复数据库。如果 Tower 已在外部数据库上运行,则可以稍后向 Tower 中添加主(master)或从(secondary)实例。请参阅 Ansible Tower Administration GuideActive/Passive Redundancy 章节。

如果 Tower 位于 RHEL 8 之前的版本上,并且您希望升级到使用 RHEL 8 的 Ansible Tower,请按照如下所示的顺序进行操作:

  1. 获取 Tower 安装程序 及在 RHEL 7 中升级至 Ansible Tower 3.7

  2. 运行 Tower 设置 playbook 中包括的 Tower 备份。详情请参阅 Ansible Tower Administration Guide 中的 Backing Up and Restoring Tower

  3. 获取 Tower 安装程序 并在 RHEL 8 Ansible Tower 3.7 上安装全新版本

  4. 运行包括在 Tower setup playbook 中的 Tower Restore。详情请参阅 Ansible Tower Administration GuideBacking Up and Restoring Tower

如果升级使用嵌入式数据库的 Tower,则此升级过程会确保 PostgreSQL 数据库也被正确地迁移到最新版本。请注意,如果您升级使用外部数据库的 Tower,数监控客户端的程序库也会被升级,但您需要手动升级外部 PostgreSQL 服务器。在升级前请查看发行注记中的相关内容。

8.1. 要求

在升级 Tower 安装前,请参阅 要求 以确保您有足够的磁盘空间和 RAM,并查看软件需求。例如,您应当在执行升级前安装最新的 Ansible 稳定版本。

注解

所有升级的系统版本不能比您当前要升级到的版本低两个主要版本。例如,要升级到 Ansible Tower 3.6.x,您必须首先是在使用版本 3.4.x,没有从版本 3.3.x 直接升级的路径。请参阅客户门户网站的 recommended upgrade path article

为了在 RHEL 8 上运行 Ansible Tower 3.5,还必须安装 Ansible 2.8 或更高版本。

8.2. 备份您的 Tower 安装

建议您在升级系统前创建备份。完成备份过程后,再执行 OS/Ansible/Tower 升级。

请参考 Ansible Tower Administration GuideBacking Up and Restoring Tower

8.3. 获取 Tower 安装程序

您可以安装独立 Tower 或者使用捆绑的安装程序:

  • 如果您在有互联网直接访问能力的环境中设置 Tower,您可以下载独立的 Tower 安装程序

  • 如果您在一个没有直接访问在线软件仓库的环境中设置 Tower,或者您的环境需要使用代理,您必须使用捆绑的安装程序

下载并展开 Ansible Tower 安装/升级工具:http://releases.ansible.com/ansible-tower/setup/

root@localhost:~$ tar xvzf ansible-tower-setup-latest.tar.gz
root@localhost:~$ cd ansible-tower-setup-<tower_version>

要安装或升级,请首先编辑 ansible-tower-setup-<tower_version> 目录中的 inventory 文件,使用实际的版本目录(如 2.4.53.0.0)替换 <tower_version>

注解

作为升级过程的一部分,可能会进行数据库 schema 的迁移。根据 Tower 安装的大小,这可能需要一些时间。

如果 Tower 升级失败,或者您需要帮助,请通过红帽客户门户网站 (https://access.redhat.com/.) 联络 Ansible。

8.4. Setup Playbook

注解

Ansible Tower 3.0 简化了安装过程,它不再需要运行 ./configure/。使用老版本的用户需要根据 v.2.4.5 (或更老版本) 文档中的内容进行操作。Tower 文档可以通过 http://docs.ansible.com/ 获得。

Tower 的设置(setup)playbook 脚本使用 inventory 文件,它通过 Tower 安装程序 tarball 被解包到的目录中的 ./setup.sh 运行。

root@localhost:~$ ./setup.sh

设置脚本使用以下参数:

  • -h -- 显示帮助信息并退出

  • -i INVENTORY_FILE -- 到 Ansible 清单文件的路径(默认: inventory

  • -e EXTRA_VARS -- 使用 key=value 或 YAML/JSON 设置额外的 Ansible 变量(例如, -e bundle_install=false 强制在线安装)

  • -b -- 在安装时执行数据库备份

  • -r -- 在安装时执行数据库恢复(除非通过 EXTRA_VARS 提供了一个非默认的路径,使用默认的恢复路径。如下所示)

./setup.sh -e 'restore_backup_file=/path/to/nondefault/location' -r

注解

请注意,在 Tower 3.0.0 和 3.0.1 中发现了一个会阻止正确系统备份和恢复的问题。

如果您需要备份或恢复 Tower v3.0.0 或 v3.0.1 安装,请使用 v3.0.2 安装程序进行。