第4章 マルチマシンクラスターのインストール

外部管理データベースを使用して、自動化ハブを使用して、クラスター化された自動化コントローラーとして Ansible Automation Platform をインストールできます。このモードでは、複数の自動化コントローラーノードがインストールされ、アクティブになります。任意のノードは HTTP 要求を受け取ることができ、すべてのノードがジョブを実行することができます。これにより、Ansible Automation Platform サーバーがクラスターにインストールされ、データベースとして PostgreSQL のリモートインスタンスと対話するように設定します。このリモート PostgreSQL は、管理するサーバーを使用することも、Amazon RDS などのクラウドサービスで提供することも可能です。

重要

Ansible Automation Platform インストーラーでは、インベントリーごとに自動化ハブを 1 つのみ デプロイできます。自動化ハブのスタンドアロンインスタンスには Ansible Automation Platform インストーラーを使用し、任意の数の異なるインベントリーでインストーラーを実行して、複数の自動化ハブをデプロイできます。

4.1. 外部管理データベースを使用した複数ノードの Red Hat Ansible Automation Platform のインストール

この手順に従い、外部管理データベースを使用して、Red Hat Ansible Automation Platform を複数の自動化コントローラーノードおよび自動化ハブとしてインストールできます。

4.1.1. 前提条件

  • プラットフォームインストーラーを選択し、取得している。
  • ベースシステムの要件を満たすマシンにインストールしている。

4.1.2. Red Hat Ansible Automation Platform インストール設定

自動化ハブのインストール時に、以下の設定を使用できます。

  • automationhub_importer_settings: galaxy-importer に渡す設定および構成のディクショナリー。/etc/galaxy-importer/galaxy-importer.cfg で終了します。
  • automationhub_require_content_approval: コレクションが利用可能になる前に、自動化ハブが承認メカニズムを適用するかどうか
  • automationhub_disable_https: TLS を有効にして自動化ハブをデプロイするかどうか
  • automationhub_disable_hsts: 自動化ハブが HTTP Strict Transport Security (HSTS) の Web セキュリティーポリシーメカニズムを有効にしてデプロイする必要があるかどうか。
  • automationhub_ssl_validate_certs: デフォルトでは、プラットフォームは自己署名証明書を使用してデプロイするため、自動化ハブが自らを要求する際に証明書を検証するかどうか (デフォルト = False)
  • automationhub_ssl_cert: web_server_ssl_cert と同じですが、自動化ハブの UI と API
  • automationhub_ssl_key: 自動化ハブの UI と API 用の web_server_ssl_key と同じです。
  • automationhub_backup_collections: オートメーションハブは、/var/lib/pulp のアーティファクトを提供します。デフォルトでは、これは true に設定され、自動化コントローラーはデフォルトでアーティファクトを自動的にバックアップします。パーティション (LVM、NFS、CephFS など) がそこにマウントされている場合、企業組織は常にバックアップされるようになります。この場合は、automationhub_backup_collections = false を設定すると、バックアップまたは復元プロセスでは /var/lib/pulp をバックアップまたは復元する必要はありません。

4.1.3. Red Hat Ansible Automation Platform インストーラーのインベントリーファイルの編集

Red Hat Ansible Automation Platform インストーラーのインベントリーファイルを使用して、インストールシナリオを指定できます。

注記
  • 外部データベース の使用: インベントリーファイルのデータベースセクションが正しく設定されていることを確認します。
  • [automationhub] グループに自動化ハブの情報を追加
  • 自動化ハブと自動化コントローラーは、同じノードにインストールできません。
  • 自動化コントローラーは、使用するデータベースのレプリケーションやフェイルオーバーを設定しません。自動化コントローラーは、所有するレプリケーションと連携する必要があります。
  • パフォーマンス上の理由から、データベースサーバーは、自動化コントローラーサーバーと同じネットワーク上または同じデータセンターに置く必要があります。
  • 既存のクラスターのアップグレード の場合: クラスターのアップグレード時に、既存のインスタンスまたはインスタンスグループを省略するためにクラスターを再設定しないといけない必要があります。インベントリーファイルからインスタンスまたはインスタンスグループを省略すると、クラスターからインスタンスを削除するだけでは不十分です。インベントリーファイルからインスタンスまたはインスタンスグループを除外する他に、アップグレードを開始する前に、インスタンスまたはインスタンスグループのプロビジョニングを解除する 必要もあります。それ以外の場合には、省略されたインスタンスまたはインスタンスグループはクラスターと通信し続けます。これにより、アップグレード中に Tower サービスに関する問題が生じる可能性があります。
  • クラスター化したインストールの場合: クラスター設定を作成する場合は、localhost を全インスタンスのホスト名または IP アドレスに置き換える必要があります。すべてのノードまたはインスタンスには、このホスト名やアドレスを使用して他のノードに到達できる必要があります。つまり、いずれかのノードで localhost ansible_connection=local を使用できません。また、すべてのノードがホスト名と同じ形式を使用する必要があります。
重要
  • リモートマシンへの root アクセスが必要です。Ansible では、これはさまざまな方法で実行できます。
  • ansible_user=root ansible_ssh_pass=”your_password_here” インベントリーのホスト変数またはグループ変数
  • ansible_user=root ansible_ssh_private_key_file=”path_to_your_keyfile.pem” インベントリーのホスト変数またはグループ変数
  • ANSIBLE_BECOME_METHOD=’sudo’ ANSIBLE_BECOME=True ./setup.sh

become プラグインの詳細は、「特権昇格について」を参照してください。

手順

  1. インストーラーに移動します。

    1. [bundled installer]

      $ cd ansible-automation-platform-setup-bundle-<latest-version>
    2. [online installer]

      $ cd ansible-automation-platform-setup-<latest-version>
  2. テキストエディターで inventory ファイルを開きます。
  3. inventory ファイルのパラメーターを編集して、インストールシナリオを指定します。以下の例に従ってください。

4.1.4. Red Hat Ansible Automation Platform の複数ノードのインベントリーファイル例

以下の例では、自動化コントローラーのマルチノードクラスターインストールのインベントリーファイルを追加する方法を説明します。

重要
  • 自動化コントローラーと自動化ハブを同じノードにインストールすることはできません。
  • [automationhub] ホストの到達可能な IP アドレスを指定して、ユーザーが別のノードから Private Automation Hub のコンテンツを同期できるようにします。
  • pg_password には特殊文字を使用しないでください。これにより、設定が失敗する場合があります。
[automationcontroller]
host1
host11
host12


[automationhub]
host2

[database]
host3

[all:vars]
ansible_become=true

admin_password='password'

pg_host='dbnode.example.com'
pg_port='5432'

pg_database='tower'
pg_username='tower'
pg_password='password'

4.1.5. フラグおよび追加変数

自動化コントローラーのインストール時に、フラグと追加変数を渡すことができます。

:

表4.1 フラグ

引数説明

-h

ヘルプメッセージを表示して終了します。

-i INVENTORY_FILE

Ansible インベントリーファイルへのパス (デフォルト: inventory)

-e EXTRA_VARS

追加の Ansible 変数を key=value または YAML/JSON として設定します。

-b

インストールの代わりにデータベースのバックアップを実行します。

-r

インストールの代わりにデータベースの復元を行う

-k

SECRET_KEY を生成、および 配布します。

-- の区切り文字を使用して、適用する Ansible 引数を追加します。例: ./setup.sh -i my_awesome_inventory.yml -e matburt_is_country_gold=True — -K.

注記
  • -r を渡してデータベース復元を実行する場合は、EXTRA_VARS でデフォルト以外のパスを指定しない限り、デフォルト復元パスが使用されます。復元パスを指定する EXTRA_VAR を渡す以下の例を参照してください。

    ./setup.sh -e 'restore_backup_file=/path/to/nondefault/location' -r
  • -e bundle_install=false を渡すと、オンラインインストールを強制的に実行できます。

    $ ./setup.sh -e bundle_install=false

表4.2 追加変数

変数説明デフォルト

upgrade_ansible_with_tower

自動化コントローラーのインストール時に、Ansible も最新の状態であることを確認します。

False

create_preload_data

Tower のインストール時に、デモ組織、プロジェクト、認証情報、ジョブテンプレートなども作成します。

True

bundle_install_folder

バンドルからインストールする場合に、バンドルされているリポジトリーを配置する場所

var/lib/tower-bundle

nginx_disable_https

nginx で HTTPS トラフィックを無効にします。HTTPS の負荷をロードバランサーに分散する場合に便利です。

False

nginx_disable_hsts

Web セキュリティーポリシーメカニズム HSTS の無効化

False

nginx_http_port

nginx が HTTP をリッスンするように設定するポート

80

nginx_https_port

nginx が HTTPS をリッスンするように設定するポート

443

backup_dir

バックアップ時に使用する一時的な場所

/var/backups/tower/

restore_backup_file

復元元として使用する別のバックアップファイルを指定します。

なし

required_ram

Tower のインストールに必要な最小メモリー (テストインストール時のみ変更してください)

3750

min_open_fds

表示ファイルの説明に使用できる最小リソース (テストインストール時のみ変更してください)

なし

ignore_preflight_errors

プリフライトチェックを無視します。これはテンプレートや他のシステム以外のイメージにインストールするときに便利です (required_ram および min_open_fds をオーバーライドします)。

False

  • コアをアップグレードする方法:
./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

*

To override an inventory file used by passing it as an argument to the setup script:

4.1.6. Red Hat Ansible Automation Platform インストーラー設定スクリプトの実行

Private Automation Hub のインストールに必要なパラメーターを使用して inventory ファイルを更新したら、setup スクリプトを実行ができます。

手順

  1. setup.sh スクリプトを実行します。

    $ ./setup.sh

インストールが開始されます。

4.1.7. 自動化コントローラーインストールの確認

インストールが完了したら、inventory ファイルに挿入した管理者認証情報でログインして、自動化コントローラーが正常にインストールしたことを確認できます。

手順

  1. inventory ファイルの自動化コントローラーノードに指定した IP アドレスに移動します。
  2. inventory ファイルに設定した管理者認証情報を使用してログインします。
注記

自動化コントローラーサーバーはポート 80 (https://<TOWER_SERVER_NAME>/) からアクセスできますが、ポート 443 にリダイレクトされるため、443 も利用できる状態にする必要があります。

重要

インストールに失敗し、Red Hat Ansible Automation Platform の有効なライセンスを購入済みのお客様は、Red Hat カスタマーポータル (https://access.redhat.com/) から Ansible までお問い合せください。

これで自動化コントローラーが初期設定可能になりました。

4.1.7.1. 次のステップ

4.1.8. 次のステップ

  • プロキシーサーバーを使用して自動化コントローラーを設定する場合は、「Red Hat Ansible Automation Platform のプロキシー設定」を参照してください。
  • Red Hat と共有する情報を制御する方法は、「自動化コントローラーからのユーザビリティーアナリティクスおよびデータ収集の管理」を参照してください。
  • 自動化コントローラーの使用方法の詳細は、『Ansible Tower クイック設定ガイド』を参照してください。
  • 自動化のハブ設定に関する完全なドキュメントは、Ansible Automation Platform の製品ドキュメントを参照してください。