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 をインストールすると、自動的に、Tower ユーザーインターフェースの実行に必要な Node.js のバージョンがインストールされます。
Ansible Tower 3.7 以降をインストールすると、RHEL 7.7 に同梱されているものよりも新しいバージョンの rsyslog がインストールされます。詳細は、『Ansible Tower Administration Guide ガイド』の「Tower のロギングおよびアグリゲーション」セクションを参照してください。
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)
-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
-k Generate and distribute a new SECRET_KEY
-h Show this help message and exit
Ansible Options:
Additional options to be passed to ansible-playbook can be added following the -- separator
--
の区切り文字を使用して、適用する Ansible 引数を追加します。例: ./setup.sh -i my_awesome_inventory.yml -e matburt_is_country_gold=True -- -K
以下の表では、Tower のインストール中に使用可能な追加変数を紹介します。
変数 |
説明 |
デフォルト |
|
Tower のインストール時には、Ansible が最新の状態であることを確認します。 |
|
|
Tower のインストール時に、デモ組織、プロジェクト、認証情報、ジョブテンプレートなども作成します。 |
|
|
バンドルからインストールする場合に、バンドルされているリポジトリーを配置する場所 |
|
|
nginx で HTTPS トラフィックを無効化します。HTTPS の負荷をロードバランサーに分散する場合に便利です。 |
|
|
nginx が HTTP をリッスンするように設定するポート |
|
|
nginx が HTTPS をリッスンするように設定するポート |
|
|
setup.sh -b からのバックアップを配置する場所 |
|
|
バックアップ時に使用する一時的な場所 |
|
|
復元元として使用する別のバックアップファイルを指定します。 |
(なし) |
|
Tower のインストールに必要な最小メモリー (テストインストール時のみ変更してください) |
|
|
表示ファイルの説明に使用できる最小リソース (テストインストール時のみ変更してください) |
|
|
プリフライトチェックを無視します。これはテンプレートや他のシステム以外のイメージにインストールするときに便利です ( |
|
以下は一般的なシナリオ例です。個別のケースに適した値を指定するようにしてください。
**コアをアップグレードする方法*:
./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>
Websocket 設定を nginx/ロードバランサー設定に合わせるために、Ansible Tower のインストールの一部としてプロキシーおよび Websockets を設定する方法を検討してください。詳細は、本ガイドの「ag_proxy_support」セクションを参照してください。
Tower は、留意すべき制限事項がいくつかありますが、FIPS モードが有効なシステムで実行できます。
Enterprise Linux 7 以降のみがサポートされています。Ansible Tower を FIPS モードで機能させるには、RHEL に同梱されている標準の Python を使用する必要があります。標準以外の Python を使用すると、Tower のシステム以外の Python もサポートされません。
デフォルトでは、Tower はパスワードベースの認証を使用して PostgreSQL を設定します。インストール時に CREATE USER
を実行している場合は、このプロセスに md5
を使用している必要があります。FIPS 対応システムから Tower インストーラーを実行するには、インベントリーファイルで pg_password
を指定します。セットアップが失敗する場合があるため、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」を参照してください。