第3章 Red Hat Ansible Automation Platform のインストール

Red Hat Ansible Automation Platform のインストールには、Automation Controller と Automation Hub のデプロイが含まれます。

重要

Ansible Automation Platform インストーラーを使用すると、デプロイできます。only one インベントリーごとの Automation Hub。Automation Hub のスタンドアロンインスタンスには Ansible Automation Platform インストーラーを使用し、任意の数の異なるインベントリーでインストーラーを実行して、複数の Automation Hub をデプロイできます。

このインストールオプションには、サポート対象のシナリオが 2 つ含まれています。

3.1. Automation Controller ノードまたはインストーラー以外が管理するデータベースを使用した Red Hat Ansible Automation Platform のインストール

この手順に従って、Automation Controller ノード上のデータベース、またはインストーラー以外が管理するデータベースを使用して、Red Hat Ansible Automation Platform (Automation Controller および Automation Hub の両方) をインストールできます。

3.1.1. 前提条件

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

Automation Hub のインストール時に、以下の設定を使用できます。

  • 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 をバックアップまたは復元する必要はありません。

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

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

注記
  • の使用external databases: インベントリーファイルのデータベースセクションが正しく設定されていることを確認してください。
  • [automationhub] グループに自動化ハブの情報を追加します。
  • Automation Hub と自動化コントローラーは、同じノードにインストールできません。
  • 自動化コントローラーは、使用するデータベースのレプリケーションやフェイルオーバーを設定しません。自動化コントローラーは、所有するレプリケーションと連携する必要があります。
  • パフォーマンス上の理由から、データベースサーバーは、自動化コントローラーサーバーと同じネットワーク上または同じデータセンターに置く必要があります。
  • Ansible Automation Platform をインストールするにはコンテナーレジストリーサービスが必要です。コンテナーレジストリーにアクセスできると、自動化実行環境を Ansible Automation Platform に読み込み、Ansible Playbook およびロール実行する一貫性のあるコンテナー化された環境を提供できます。デフォルトでは、Ansible Automation Platform は Red Hat レジストリーサービスアカウントを必要とする registry.redhat.io を使用します。レジストリーサービスアカウントの作成については、レジストリーサービスアカウントの作成 を参照してください。
  • upgrading an existing cluster: クラスターをアップグレードするときに、既存のインスタンスまたはインスタンスグループを除外するようにクラスターを再設定する必要がある場合があります。インベントリーファイルからインスタンスまたはインスタンスグループを省略すると、クラスターからインスタンスを削除するだけでは不十分です。インベントリーファイルからインスタンスまたはインスタンスグループを除外する他に、アップグレードを開始する前に、インスタンスまたはインスタンスグループのプロビジョニングを解除する 必要もあります。解除しないと、省略されたインスタンスまたはインスタンスグループはクラスターと通信し続けます。これにより、アップグレード中に Tower サービスに関する問題が生じる可能性があります。
  • clustered installations: クラスター化されたセットアップを作成している場合は、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. [バンドルのインストーラー]

      $ cd ansible-automation-platform-setup-bundle-<latest-version>
    2. [オンラインインストーラー]

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

3.1.4. Automation Controller ノードまたはインストーラー以外が管理するデータベースのインベントリーファイル例

この例では、Red Hat Ansible Automation Platform をインストールするためにインベントリーファイルを設定する方法を説明します。このインストールインベントリーファイルには、Automation Controller ノードにあるデータベース、またはインストーラー以外が管理するデータベースを使用した Automation Controller および Automation Hub のインストールが含まれます。

重要
  • Automation Controller と Automation Hub を同じノードにインストールすることはできません。
  • [automationhub] ホストの到達可能な IP アドレスを指定して、ユーザーが別のノードから Private Automation Hub のコンテンツを同期できるようにします。
  • registry_username および registry_password に Red Hat Registry Service Account の認証情報を入力し、Red Hat コンテナーレジストリーにリンクします。
[automationcontroller]
controller.acme.org

[automationhub]
automationhub.acme.org

[all:vars]
admin_password='<password>'
pg_host=''
pg_port=''
pg_database='awx'
pg_username='awx'
pg_password='<password>'
pg_sslmode='prefer'  # set to 'verify-full' for client-side enforced SSL

registry_url='registry.redhat.io'
registry_username='<registry username>'
registry_password='<registry password>'

# Automation Hub Configuration
#
automationhub_admin_password='<password>'
automationhub_pg_host='controller.acme.org'
automationhub_pg_port='5432'
automationhub_pg_database='automationhub'
automationhub_pg_username='automationhub'
automationhub_pg_password='<password>'
automationhub_pg_sslmode='prefer'

# The default install will deploy a TLS enabled Automation Hub.
# If for some reason this is not the behavior wanted one can
# disable TLS enabled deployment.
#
# automationhub_disable_https = False
# The default install will generate self-signed certificates for the Automation
# Hub service. If you are providing valid certificate via automationhub_ssl_cert
# and automationhub_ssl_key, one should toggle that value to True.
#
# automationhub_ssl_validate_certs = False
# SSL-related variables
# If set, this will install a custom CA certificate to the system trust store.
# custom_ca_cert=/path/to/ca.crt
# Certificate and key to install in nginx for the web UI and API
# web_server_ssl_cert=/path/to/tower.cert
# web_server_ssl_key=/path/to/tower.key
# Certificate and key to install in Automation Hub node
# automationhub_ssl_cert=/path/to/automationhub.cert
# automationhub_ssl_key=/path/to/automationhub.key
# Server-side SSL settings for PostgreSQL (when we are installing it).
# postgres_use_ssl=False
# postgres_ssl_cert=/path/to/pgsql.crt
# postgres_ssl_key=/path/to/pgsql.key

3.1.5. 設定スクリプトフラグおよび追加変数

設定スクリプトを実行して Automation Controller をインストールする場合に、フラグおよび追加変数を指定することもできます。

表3.1 フラグ

引数説明

-h

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

-i INVENTORY_FILE

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

-e EXTRA_VARS

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

-b

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

-r

インストールの代わりにデータベースの復元を行います。

-k

生成 and 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

表3.2 追加変数

変数説明デフォルト

upgrade_ansible_with_tower

Automation Controller のインストール時に、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

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

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

手順

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

    $ ./setup.sh

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

3.1.7. Automation Controller インストールの確認

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

手順

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

Automation Controller サーバーには、ポート 80 からアクセスできます。https://<TOWER_SERVER_NAME>/ ただし、ポート 443 にリダイレクトされるため、443 も使用できる必要があります。

重要

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

自動化コントローラーへのログインに成功すると、Red Hat Ansible Automation Platform 2.1 のインストールが完了します。

3.1.7.1. 追加の Automation Controller の設定とリソース

追加のAutomation Controller の設定については、以下の資料を参照してください。

表3.3 Automation Controller を設定するための資料

リンク説明

Automation Controller クイックセットアップガイド

Automation Controller を設定して最初の Playbook を実行します。

Automation Controller 管理ガイド

カスタマースクリプト、管理ジョブなどを使用して Automation Controller の管理を設定します。

Red Hat Ansible Automation Platform のプロキシーサポートの設定

プロキシーサーバーを使用して Automation Controller を設定します。

ユーザビリティーアナリティクスおよび Automation Controller からのデータ収集の管理

Red Hat と共有する Automation Controller の情報を管理します。

Automation Controller ユーザーガイド

Automation Controller の機能をより詳細に確認します。

3.1.8. Automation Hub のインストールの確認

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

手順

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

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

Automation Hub へのログインが成功すると、Red Hat Ansible Automation Platform 2.1 のインストールが完了します。

3.1.8.1. 追加の Automation Hub の設定とリソース

追加の Automation Hub 設定については、以下のリソースを参照してください。

表3.4 Automation Controller を設定するための資料

リンク説明

Private Automation Hub でのユーザーアクセスの管理

Automation Hub のユーザーアクセスを設定します。

Automation Hub での Red Hat 認定コレクションおよび Ansible Galaxy コレクションの管理

Automation Hub にコンテンツを追加します。

Automation Hub でのプロプライエタリーコンテンツコレクションの公開

Automation Hub で社内で開発したコレクションを公開します。

3.1.9. Ansible Automation Platform 2.1 の次のステップ

Ansible Automation Platform を初めて使用するユーザーの場合でも、以前の Ansible コンテンツを最新版をインストールした Red Hat Ansible Automation Platform に移行する予定の既存の管理者の場合でも、次の手順を確認して、Ansible Automation Platform 2.1 の新機能を活用し始めてみてください。

3.1.9.1. Ansible Automation Platform 2.1 へのデータの移行

Ansible Automation Platform 2.1 へのアップグレードを完了しようとしているプラットフォーム管理者の場合には、データを新しいインスタンスに移行するために追加の手順が必要になる場合があります。

3.1.9.1.1. 従来の仮想環境 (venvs) から自動化実行環境への移行

Ansible Automation Platform 2.1 は、カスタム Python 仮想環境 (venvs) よりも、自動化実行環境 (Ansible 自動化の実行とスケーリングに必要なコンポーネントをパッケージ化するコンテナー化されたイメージ) を優先するようになっています。これには、Ansible Core、Ansible Content Collections、Python の依存関係、Red Hat Enterprise Linux UBI 8、およびその他のパッケージの依存関係が含まれます。

venv を実行環境に移行する場合は、(1) awx-manage コマンドを使用して、元のインスタンスから venv のリストを一覧表示してエクスポートし、(2) ansible-builder を使用して実行環境を作成する必要があります。詳細は、自動化実行環境へのアップグレードガイド および Ansible ビルダーガイド を参照してください。

3.1.9.1.2. Ansible Builder を使用した Ansible Engine 2.9 イメージへの移行

Ansible Automation Platform 2.1 で使用するために Ansible Engine 2.9 イメージを移行するには、ansible-builder ツールで、自動化実行環境で使用するためにイメージ (カスタムプラグインおよび依存関係を含む) を再構築するプロセスを自動化します。Ansible Builder を使用して実行環境を構築する方法の詳細は、Ansible Builder ガイド を参照してください。

3.1.9.1.3. Ansible Core 2.12 への移行

Ansible Core 2.12 にアップグレードする場合に、最新版の Ansible Core でサポートされるようにするには、Playbook、プラグイン、または Ansible インフラストラクチャーの他の部分を更新する必要があります。Ansible Core 2.12 との互換性を確保するために Ansible コンテンツを更新する手順については、Ansible-core2.12 Porting Guide を参照してください。

3.1.9.2. 自動化メッシュを使用した自動化スケールアップ

Red Hat Ansible Automation Platform の自動化メッシュコンポーネントは、マルチサイトのデプロイメント全体に自動化を分散するプロセスを簡素化します。IT 環境が複数に分離されている企業の場合、自動化メッシュは、ピアツーピアメッシュ通信ネットワークを使用して実行ノード全体に自動化をデプロイしてスケールアップするための一貫性があり、信頼性の高い方法を提供します。

バージョン 1.x から最新バージョンの Ansible Automation Platform にアップグレードする場合は、データをレガシーの分離ノードから自動化メッシュに必要な実行ノードに移行する必要があります。ハイブリッドノードとコントロールノードのネットワークを計画して、Ansible Automation Platform インストーラーにあるインベントリーファイルを編集して、メッシュ関連の値を各実行ノードに割り当てることで、自動化メッシュを実装できます。

分離ノードから実行ノードに移行する方法については、upgrade & migration guide

自動化メッシュと、ご使用の環境に合わせて自動化メッシュを設計するさまざまな方法については、Red Hat Ansible Automation Platform 化メッシュガイド を参照してください。