第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
プラグインの詳細は、「特権昇格について」を参照してください。
手順
インストーラーに移動します。
[bundled installer]
$ cd ansible-automation-platform-setup-bundle-<latest-version>
[online installer]
$ cd ansible-automation-platform-setup-<latest-version>
-
テキストエディターで
inventory
ファイルを開きます。 -
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 フラグ
引数 | 説明 |
---|---|
| ヘルプメッセージを表示して終了します。 |
|
Ansible インベントリーファイルへのパス (デフォルト: |
| 追加の Ansible 変数を key=value または YAML/JSON として設定します。 |
| インストールの代わりにデータベースのバックアップを実行します。 |
| インストールの代わりにデータベースの復元を行う |
| 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 追加変数
変数 | 説明 | デフォルト |
---|---|---|
| 自動化コントローラーのインストール時に、Ansible も最新の状態であることを確認します。 |
|
| Tower のインストール時に、デモ組織、プロジェクト、認証情報、ジョブテンプレートなども作成します。 |
|
| バンドルからインストールする場合に、バンドルされているリポジトリーを配置する場所 |
|
| nginx で HTTPS トラフィックを無効にします。HTTPS の負荷をロードバランサーに分散する場合に便利です。 |
|
| Web セキュリティーポリシーメカニズム HSTS の無効化 |
|
| nginx が HTTP をリッスンするように設定するポート |
|
| nginx が HTTPS をリッスンするように設定するポート |
|
| バックアップ時に使用する一時的な場所 |
|
| 復元元として使用する別のバックアップファイルを指定します。 | なし |
| 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
*
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 スクリプトを実行ができます。
手順
setup.sh
スクリプトを実行します。$ ./setup.sh
インストールが開始されます。
4.1.7. 自動化コントローラーインストールの確認
インストールが完了したら、inventory
ファイルに挿入した管理者認証情報でログインして、自動化コントローラーが正常にインストールしたことを確認できます。
手順
-
inventory
ファイルの自動化コントローラーノードに指定した IP アドレスに移動します。 -
inventory
ファイルに設定した管理者認証情報を使用してログインします。
自動化コントローラーサーバーはポート 80 (https://<TOWER_SERVER_NAME>/) からアクセスできますが、ポート 443 にリダイレクトされるため、443 も利用できる状態にする必要があります。
インストールに失敗し、Red Hat Ansible Automation Platform の有効なライセンスを購入済みのお客様は、Red Hat カスタマーポータル (https://access.redhat.com/) から Ansible までお問い合せください。
これで自動化コントローラーが初期設定可能になりました。
4.1.7.1. 次のステップ
- 顧客スクリプトや管理ジョブなどの管理については、『Automation Controller 管理ガイド』を参照してください。
- 自動化コントローラーのクイック設定については、『Automation Controller クイック設定ガイド』を参照してください。
- 『自動化コントローラーユーザーガイド』で自動化コントローラー機能を確認してください。
4.1.8. 次のステップ
- プロキシーサーバーを使用して自動化コントローラーを設定する場合は、「Red Hat Ansible Automation Platform のプロキシー設定」を参照してください。
- Red Hat と共有する情報を制御する方法は、「自動化コントローラーからのユーザビリティーアナリティクスおよびデータ収集の管理」を参照してください。
- 自動化コントローラーの使用方法の詳細は、『Ansible Tower クイック設定ガイド』を参照してください。
- 自動化のハブ設定に関する完全なドキュメントは、Ansible Automation Platform の製品ドキュメントを参照してください。