在中国上海使用本地服务器离线安装Ansible/Ansible Tower

首先

这是一篇关于Ansible Advent Calendar的文章。
我已经从使用Ansible的部门调动到另一个部门,但个人仍然会偶尔使用它。

这篇文章将介绍如何在没有互联网连接的环境中进行 Ansible 和 Ansible Tower 的离线安装。我相信有时候会遇到需要在无法上网的环境中进行安装的情况。(我自己就遇到过)

由于那时经历了许多痛苦的事情,所以我将其整理成一篇文章。

前置条件

    • 実行した環境はCentOS 7.6 64bitとなります。

 

    • RHEL 7.5でも本手順でインストールが可能なことを確認しています。

 

    • ユーザはrootで実行しています。

 

    すべてのファイルはデフォルトパス(/root配下)に配置して作業しています。

事前准备

当进行Ansible和Ansible Tower的离线安装时,需要使用RHEL安装ISO映像文件。
您可以从该网站下载映像文件。
您还可以从该网站获取Ansible Engine的rpm文件。如果不使用常规的Ansible,请从这里下载rpm包。

请从这个网站上下载Ansible Tower的离线用软件包bundle版。

版本信息

这次安装的是Ansible和Ansible Tower等版本。

内容バージョンAnsible2.7.4Ansible Tower3.3.3RHEL DVDiso7.7

安装Ansible

挂载DVDiso镜像文件

首先,我們要掛載 ISO 映像檔。
接下來,使用以下指令來解壓縮檔案。

# ファイルを展開
$ mount -o loop /root/rhel-server-7.7-x86_64-dvd.iso

# 展開できたかどうかの確認
$ ls -l /mnt
合計 974
dr-xr-xr-x. 3 root root   2048  7月 23 23:56 EFI
-r--r--r--. 1 root root   8266  7月 23 23:29 EULA
-r--r--r--. 1 root root  18092  7月 23 23:29 GPL
dr-xr-xr-x. 2 root root   2048  7月 23 23:56 LiveOS
dr-xr-xr-x. 2 root root 946176  7月 23 23:56 Packages
-r--r--r--. 1 root root   3375  7月  3 21:51 RPM-GPG-KEY-redhat-beta
-r--r--r--. 1 root root   3211  7月  3 21:51 RPM-GPG-KEY-redhat-release
-r--r--r--. 1 root root   1796  7月 23 23:56 TRANS.TBL
dr-xr-xr-x. 4 root root   2048  7月 23 23:56 addons
-r--r--r--. 1 root root   1455  7月 23 23:29 extra_files.json
dr-xr-xr-x. 3 root root   2048  7月 23 23:56 images
dr-xr-xr-x. 2 root root   2048  7月 23 23:56 isolinux
-r--r--r--. 1 root root    114  7月 23 23:32 media.repo
dr-xr-xr-x. 2 root root   2048  7月 23 23:56 repodata

接下来,我们将在/etc/yum.repos.d目录下添加操作仓库。

# rhel7-dvdiso.repoという名前でrepoファイルをコピー
$ cp /mnt/media.repo /etc/yum.repos.d/rhel7-dvdiso.repo

# 権限を変更する
$ chmod 644 /etc/yum.repos.d/rhel7-dvdiso.repo

# コピーを作成
$ cp -ip /etc/yum.repos.d/rhel7-dvdiso.repo /etc/yum.repos.d/rhel7-dvdiso.repo.org

在创建副本之后,将 rhel7-dvdiso.repo 文件编辑为以下内容。

[InstallMedia]
name=Red Hat Enterprise Linux 7.7
mediaid=1563892373.442998
metadata_expire=-1
gpgcheck=1
cost=500
enabled=1
baseurl=file:///mnt/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

在更新repo文件后,我们将清理yum存储库。

$ yum clean all
読み込んだプラグイン:fastestmirror
リポジトリーを清掃しています: InstallMedia base extras updates

下载依赖文件

当您在离线安装Ansible时,由于依赖关系,以下文件的下载是必需的。

    • sshpass

RPMダウンロードリンク

python-httplib2

RPMダウンロードリンク

python-passlib

RPMダウンロードリンク

python2-jmespath

RPMダウンロードリンク

每个人都将获取RPM文件并安装它们。

 yum -y install sshpass-1.06-1.el7.x86_64.rpm
 yum -y install python-httplib2-0.9.1-2.1.el7.noarch.rpm
 yum -y install python-passlib-1.6.5-1.1.el7.noarch.rpm
 yum -y install python2-jmespath-0.9.0-4.el7ae.noarch.rpm

安装Ansible

既经解决了依赖关系,所以要安装Ansible。

yum -y install ansible-2.7.4-1.el7ae.noarch.rpm

如果您在尝试使用此命令安装时遇到获取 GPG 密钥失败的情况,请使用选项–nogpgcheck进行安装。

安装 Ansible Tower

挂载DVDiso镜像

这部分与Ansible中的相关部分一致。

解压tar文件

Ansible Tower的绑定版本被压缩为tar格式,需要进行解压。

tar -zxvf ansible-tower-setup-bundle-3-3-3.el7.tar.gz
cd ansible-tower-setup-bundle-3.3.3-1.el7/

编辑inventory文件

如果您已经安装过Ansible Tower,那么您可能已经知道,在Ansible Tower的inventory文件中设置密码的位置。
每个对应表如下:

項目内容admin_passwordAnsible Towerの管理者パスワードpg_passwordAnsible Towerのデータを保持するPostgreSQLのパスワード(ユーザはawx)rabbitmq_passwordキャッシュ管理を行うRedisのパスワード

编辑适当的库存文件条目。

安装Ansible Tower

由于Ansible Tower提供了设置脚本setup.sh,因此我们会执行这个脚本。大约需要10分钟左右才能完成安装。

PLAY RECAP *********************************************************************
localhost                  : ok=143  changed=70   unreachable=0    failed=0

The setup process completed successfully.
Setup log saved to /var/log/tower/setup-2019-12-02-00:21:17.log

当显示出这样的结果时,表示安装已经成功完成并处于正常状态。
在浏览器中访问本地IP地址将显示登录界面。

image.png

然后输入指定的密码进行登录,并输入许可证密钥。

使用此方法可以执行Ansible和Ansible Tower的离线安装。

广告
将在 10 秒后关闭
bannerAds