Documentation

3. インストールに関する注意点

  • HTTP プロキシーにアクセスして OS ベンダーのソフトウェアをインストールする必要がある場合には、setup.sh を実行する前に環境変数「HTTP_PROXY」が適切に設定されていることを確認してください。

  • Tower インストーラーは、HTTPS 通信ができるように自己署名の SSL 証明書と鍵ファイルを /etc/tower/tower.cert/etc/tower/tower.key に作成します。これらは、インストール後に任意で独自のカスタム SSL 証明書と置き換えることができますが、ファイル名は同じままにしておく必要があります。

  • 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」を参照してください。

3.1. Tower で指定するフラグおよび追加の変数

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.

-- のセパレーターおよび適用する Ansible の引数を使用します。例: ./setup.sh -i my_awesome_inventory.yml -e matburt_is_awesome=True -- -K

3.1.1.

以下は一般的なシナリオ例です。個別のケースに適した値を指定するようにしてください。

  • **コアをアップグレードする方法*:

    ./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>
    

3.2. FIPS モードを有効にしたシステムへの Tower のインストール

Tower は、留意すべき制限事項がいくつかありますが、FIPS モードが有効なシステムで実行できます。

  • Enterprise Linux 7 以降のみがサポートされています。Ansible Tower を FIPS モードで機能させるには、RHEL に同梱されている標準の Python を使用する必要があります。標準以外の Python を使用すると、Tower のシステム以外の Python もサポートされません。

  • デフォルトでは、Tower はパスワードベースの認証を使用して PostgreSQL を設定します。CREATE USER がインストール時に実行されている場合には、このプロセスでは md5 を使用している必要があります。FIPS が有効なシステムから Tower のインストーラーを実行する予定の場合は、インストール時に md5 ハッシュをご自身で事前にコンピュートし、「 インベントリーファイルの設定 」で記載されているようにインベントリーファイルにその値を追加する必要があります。

    具体的には、FIPS を有効化 *せずに * システムでハッシュ化された値を事前にコンピュートする必要があります:

    $ python -c 'from hashlib import md5; print("md5" + md5("choose-a-password" + "awx").hexdigest())'
    md57d08dde7e95e862eaadfff09565e92e6
    

    ...また、インベントリーファイルで pg_passwordpg_hashed_password両方 を指定してください:

    pg_password='choose-a-password'
    pg_hashed_password='md57d08dde7e95e862eaadfff09565e92e6'
    
  • 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 を参照してください。

  • TACACS+ プロトコルは md5 を使用して認証パケットのコンテンツを難読化します。FIPS モードが有効なシステムでは、「 TACACS+ Authentication 」はサポートされません。

  • RADIUS プロトコルは md5 を使用して Access-Request クエリーのパスワードを暗号化します。「 RADIUS Authentication 」は、FIPS モードが有効なシステムではサポートされません。

3.3. Red Hat Enterprise Linux および CentOS の設定に関する注意

  • PackageKit は頻繁に、インストール/更新メカニズムを干渉する可能性があります。設定プロセスの実行前にインストールする場合は、PackageKit を無効または削除することを検討してください。

  • 「ターゲット」 SELinux ポリシーのみがサポートされます。ターゲットポリシーは、disabled、permissive または enforcing に設定可能です。

  • バンドルインストールを実行する場合は (詳細は「バンドルの Tower インストールプログラムの使用」を参照)、Red Hat Enterprise Linux をご利用のお客様は、デフォルトで無効になっている以下のリポジトリーを有効化する必要があります。

    • Red Hat Enterprise Linux 7 をお使いの場合は extras リポジトリーを有効化する必要があります。

3.4. Red Hat Enterprise Linux および CentOS での Ansible の設定およびインストール

以下の手順は、リポジトリーへのアクセスの設定、以前のバージョンの Tower への Ansible のインストールに役立ちます。

3.4.1. リポジトリーアクセスの設定

EPEL リポジトリーおよびその他に必要なリポジトリーを設定します。

Red Hat Enterprise Linux 7 および CentOS 7 の場合には root ユーザーで実行します。

root@localhost:~$ yum install http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

注釈

  • お使いの環境に固有の extras リポジトリーを有効化する必要がある場合もあります。
    • CentOS 7 は extras

    • Red Hat Enterprise Linux 7 は rhel-7-server-extras-rpms

    • EC2 で実行する場合は rhui-REGION-rhel-server-extras

  • 公式の Red Hat Enterprise Linux 7 マーケットプレース AMI を使用する場合は、オプションのリポジトリー (EC で rhui-REGION-rhel-server-optional という名称) を有効化できる最新の rh-amazon-rhui-client パッケージがインストールされていることを確認してください。

3.4.2. Ansible のインストール

注釈

Tower は Ansible Playbook を使用してインストールされるので、Tower のインストールを完了するには Ansible が必要です。

Ansible Tower バージョン 2.3.0 以降は、Ansible が設定プロセスで自動的にインストールされます。

以前のバージョン(2.3.0 よりも前) の Tower を使用している場合は、Ansible は http://docs.ansible.com/intro_installation.html にある Ansible ドキュメントに詳細に説明されている方法でインストールしてください。

便宜上、これらのインストールの説明は以下のように簡単にまとめられています。

root@localhost:~$ yum install ansible

3.5. Ubuntu での Ansible の設定およびインストール

以下の手順は、リポジトリーへのアクセスの設定、以前のバージョンの Tower への Ansible のインストールに役立ちます。

3.5.1. リポジトリーアクセスの設定

root ユーザーで Ansible PPA を設定します。

root@localhost:~$ apt-get install software-properties-common
root@localhost:~$ apt-add-repository ppa:ansible/ansible

3.5.2. Ansible のインストール

注釈

Tower は Ansible Playbook を使用してインストールされるので、Tower のインストールを完了するには Ansible が必要です。

Ansible Tower バージョン 2.3.0 以降は、Ansible が設定プロセスで自動的にインストールされます。

以前のバージョン(2.3.0 よりも前) の Tower を使用している場合は、Ansible は http://docs.ansible.com/intro_installation.html にある Ansible ドキュメントに詳細に説明されている方法でインストールしてください。

便宜上、これらのインストールの説明は以下のように簡単にまとめられています。

root@localhost:~$ apt-get update
root@localhost:~$ apt-get install ansible

3.6. OpenShift での設定およびインストール

OpenShift ベースのデプロイメントについては、「OpenShift デプロイメントおよび設定」を参照してください。