RHEL 8 に Ansible Tower をインストールするには、 Ansible 2.8 以降が 必要です。これ以前の Ansible は RHEL 8 では機能しません。
HTTP プロキシーにアクセスして OS ベンダーからのソフトウェアをインストールする必要がある場合には、setup.sh
を実行する前に環境変数「HTTP_PROXY」が適切に設定されていることを確認してください。
Tower インストーラーは、HTTPS 通信ができるように自己署名の SSL 証明書と鍵ファイルを /etc/tower/tower.cert
と /etc/tower/tower.key
に作成します。これらは、インストール後に任意で独自のカスタム SSL 証明書と置き換えることができますが、ファイル名は同じままにしておく必要があります。
Ansible Tower 3.6 をインストールすると、自動的に、Tower ユーザーインターフェースの実行に必要な Node.js のバージョンがインストールされます。
Ansible バージョン 1.8 以降を使用する場合には、Tower マシンの ansible.cfg
で、Redis を使用したファクトキャッシュが無効になっていることを確認してください。
Tower は、Ansible のソフトウェアリポジトリーや OS ベンダーのソフトウェアリポジトリーなど、信頼済みのサードパーティーが提供するソフトウェアをインストールできるようにインターネット接続のあるマシンからインストールを行う必要があります。場合によっては、Python Package Index (PyPI) にアクセスする必要があります。インターネット接続のない環境でインストールする必要がある場合は、バンドルのインストールプログラムは推奨のソリューションではありません (「バンドルの Tower インストールプログラムの使用」参照)。Red Hat カスタマーポータル (https://access.redhat.com/) 経由で Ansible までお問い合せください。
OpenShift に Tower をインストールする場合は、「OpenShift Deployment and Configuration」を参照してください。
Ansible Tower インストーラーで使用可能なフラグや追加の変数には以下が含まれます (ただし、以下に限定されません)。
Usage: setup.sh [Options] [-- Ansible Options]
Options:
-i INVENTORY_FILE Path to ansible inventory file (default: ${INVENTORY_FILE})
-e EXTRA_VARS Set additional ansible variables as key=value or YAML/JSON
i.e. -e bundle_install=false will force an online install
-b Perform a database backup in lieu of installing.
-r Perform a database restore in lieu of installing.
-h Show this help message and exit
Ansible Options:
Additional options to be passed to ansible-playbook can be added following the -- separator.
Use the --
separator to add any Ansible arguments you wish to apply. For example: ./setup.sh -i my_awesome_inventory.yml -e matburt_is_country_gold=True -- -K
The following table shows some extra variables that can be used during the installation of Tower.
Variable |
Description |
Default |
|
When installing Tower make sure Ansible is also up to date |
|
|
When installing Tower also create the Demo Org, project, credential, Job Template, etc. |
|
|
When installing from a bundle where to put the bundled repos |
|
|
Disable HTTPS traffic through nginx, this is useful if offloading HTTPS to a load balancer |
|
|
Port to configure nginx to listen to for HTTP |
|
|
Port to configure nginx to listen to for HTTPS |
|
|
Install a plugin into nginx to enable a RabbitMQ manager, this should not be enabled unless needed. If enabled, appropriate security needs to be applied. |
|
|
Where to place the backup from setup.sh -b |
|
|
A temp location to use when backing up |
|
|
Specify an alternative backup file to restore from |
(None) |
|
The minimum RAM required to install Tower (should only be changed for test installation) |
|
|
The minimum open file descriptions (should only be changed for test installations) |
|
|
Ignore preflight checks, useful when installing into a template or other non-system image (overrides |
|
以下は一般的なシナリオ例です。個別のケースに適した値を指定するようにしてください。
**コアをアップグレードする方法*:
./setup.sh -e upgrade_ansible_with_tower=1
nginx で処理する https を無効化する方法:
./setup.sh -e nginx_disable_https=true
バックアップファイルから復元時にデフォルトではないパスを指定する方法:
./setup.sh -e 'restore_backup_file=/path/to/nondefault/location' -r
設定スクリプトに引数として渡すことで使用したインベントリーファイルを上書きする方法:
setup.sh -i <inventory file>
Tower は、留意すべき制限事項がいくつかありますが、FIPS モードが有効なシステムで実行できます。
Enterprise Linux 7 以降のみがサポートされています。Ansible Tower を FIPS モードで機能させるには、RHEL に同梱されている標準の Python を使用する必要があります。標準以外の Python を使用すると、Tower のシステム以外の Python もサポートされません。
デフォルトでは、Tower はパスワードベースの認証を使用してPostgreSQL を設定します。CREATE USER
がインストール時に実行されている場合には、このプロセスでは md5
を使用している必要があります。FIPS 対応システムから Tower インストーラーを実行するには、インベントリーファイルで pg_password
を指定します。
pg_password='choose-a-password'
詳細については、「インベントリーファイルの設定」を参照してください。
インストーラーのインベントリーファイルでパスワードを指定した場合 (pg_password
) に、このパスワードは、インストールプロセスの一部として PostgreSQL により SCRAM-SHA-256 にハッシュ化されます。
ssh-keygen
コマンドは、RFC4716 形式のキーを生成し、プロセスの特定の時点で (入力したパスフレーズに実行する変換の一部として) md5
ダイジェストアルゴリズムを使用します。FIPS が有効なシステムでは md5
が完全に無効になっているので、このタイプの暗号化された SSH キー (パスフレーズで保護されている RFC4716 プライベートキー) は使用できません。FIPS モードが有効な場合には、Ansible Tower にインポートする暗号化された SSH キーは、 PKCS8
形式のキーを 使用する必要があります。既存の AES128
キーは、以下の openssl
コマンドを使用して PKCS8
に変換できます:
$ openssl pkcs8 -topk8 -v2 aes128 -in <INPUT_KEY> -out <NEW_OUTPUT_KEY>
詳細は: https://access.redhat.com/solutions/1519083 を参照してください。
paramiko
ライブラリーを使用する Ansible 機能を使用すると、FIPS に準拠しなくなります。たとえば、トランスポートとしての ansible_connection=paramiko
の設定や ncclient
NETCONF ライブラリーを使用するネットワークモジュールの使用などです。
TACACS+ プロトコルは md5
を使用して認証パケットのコンテンツを難読化します。FIPS モードが有効なシステムでは、「 TACACS+ Authentication」はサポートされません。
RADIUS プロトコルは、md5
を使用して Access-Request
クエリーのパスワードを暗号化します。「RADIUS Authentication 」は、FIPS モードが有効なシステムではサポートされません。
Ansible Tower を RHEL 8 で実行するには、Ansible 2.8 以降をインストールする必要があります。RHEL 8 がサポートするのは、Ansible 2.8 以降のバージョンです。
Ansible Tower 3.5 以降では Tower は Python 3 を使用して稼働します。Python 3 は、Tower インストール時に RHEL 8 に自動的にインストールされます。
PackageKit は頻繁に、インストール/更新メカニズムを干渉する可能性があります。設定プロセスの実行前にインストールする場合は、PackageKit を無効または削除することを検討してください。
"targeted" の SELinux ポリシーのみがサポートされます。targeted ポリシーは、disabled、permissive または enforcing に設定可能です。
バンドルインストールを行う場合の詳細は、「 バンドルの Tower インストールプログラムの使用 」を参照してください。
Ansible Tower のインストール時には、setup.sh
のみを実行するだけで結構です。Tower で必要なリポジトリーは自動的にインストールされます。
設定プロセス時に、最新版の Ansible が自動的にインストールされ、追加のインストールや設定は必要ありません。
Ansible Tower では、Ubuntu のサポートがなくなりました。Ubuntu の詳細は、以前のバージョンの Ansible Tower Installation and Reference Guide を参照してください。
OpenShift ベースのデプロイメントについては、「 OpenShift Deployment and Configuration 」を参照してください。