第3章 Red Hat Ansible Automation Platform Operator での Red Hat Ansible Automation Platform コンポーネントの設定


Ansible Automation Platform Operator をインストールし、Ansible Automation Platform コンポーネントを設定したら、必要な出力が得られるようにコンポーネントを設定できます。

3.1. Red Hat OpenShift Container Platform Web コンソールでのプラットフォームゲートウェイの設定

この手順を使用すると、Red Hat OpenShift Container Platform でプラットフォームゲートウェイ Operator をさらに設定し、カスタムリソースを指定し、外部データベースを使用して Ansible Automation Platform をデプロイできます。

3.1.1. Red Hat Ansible Automation Platform Operator にプラットフォームゲートウェイ用の外部データベースを設定する

外部データベースを使用して Ansible Automation Platform をデプロイするには、次の 2 つのシナリオがあります。

シナリオ

必要な操作

新規インストール

次の目的でプラットフォームが使用する外部データベースインスタンスを 1 つ指定する必要があります。

  • プラットフォームゲートウェイ
  • Automation Controller
  • Automation Hub
  • Event-Driven Ansible
  • Red Hat Ansible Lightspeed (有効な場合)

これに関するヘルプは、aap-configuring-external-db-all-default-components.yml の例を参照してください (14.1. カスタムリソース セクションを参照)。

Red Hat Ansible Lightspeed を使用している場合は、aap-configuring-external-db-with-lightspeed-enabled.yml の例を使用してください。

2.4 の既存の外部データベース

既存の外部データベースはアップグレード後も同じままですが、Ansible Automation Platform カスタムリソースで external-postgres-configuration-gateway (spec.database.database_secret) を指定する必要があります。

外部データベースを使用して Ansible Automation Platform をデプロイするには、まずデータベースに接続するための認証情報を含めて Kubernetes シークレットを作成する必要があります。

デフォルトでは、Ansible Automation Platform Operator は、Ansible Automation Platform デプロイメントと同じ namespace にマネージド PostgreSQL Pod を自動的に作成および設定します。Ansible Automation Platform Operator が自動的に作成するマネージド PostgreSQL Pod の代わりに、外部データベースを使用して Ansible Automation Platform をデプロイすることもできます。

外部データベースを使用すると、リソースを共有して再利用でき、バックアップ、アップグレード、およびパフォーマンスの最適化を手動で管理できます。

注記

データベース名が異なる限り、Automation Hub、Automation Controller、プラットフォームゲートウェイに同じ外部データベース (PostgreSQL インスタンス) を使用できます。つまり、単一の PostgreSQL インスタンス内に異なる名前のデータベースを複数指定できます。

次のセクションでは、Ansible Automation Platform Operator にプラットフォームゲートウェイ用の外部データベースを設定する手順について説明します。

前提条件

外部データベースが、Ansible Automation Platform の現在のリリースでサポートされているバージョンの PostgreSQL データベースを指定している。

注記

Ansible Automation Platform 2.5 は PostgreSQL 15 をサポートしています。

手順

外部の postgres インスタンスの認証情報と接続情報をシークレットに保存する必要があります。この情報は、その後プラットフォームゲートウェイの仕様に設定されます。

  1. 以下のテンプレートに従って、postgres_configuration_secret YAML ファイルを作成します。

    apiVersion: v1
    kind: Secret
    metadata:
      name: external-postgres-configuration
      namespace: <target_namespace> 
    1
    
    stringData:
      host: "<external_ip_or_url_resolvable_by_the_cluster>" 
    2
    
      port: "<external_port>" 
    3
    
      database: "<desired_database_name>"
      username: "<username_to_connect_as>"
      password: "<password_to_connect_with>" 
    4
    
      type: "unmanaged"
    type: Opaque
    Copy to Clipboard
    1
    シークレットを作成する namespace。これは、デプロイ先の namespace と同じにする必要があります。
    2
    データベースノードの解決可能なホスト名です。
    3
    外部ポートのデフォルトは 5432 です。
    4
    変数 password の値には、デプロイ、バックアップ、または復元中の問題を回避するために、一重引用符 (')、二重引用符 (")、またはバックスラッシュ (\) を含めないでください。
  2. oc create コマンドを使用して、external-postgres-configuration-secret.yml をクラスターに適用します。

    $ oc create -f external-postgres-configuration-secret.yml
    Copy to Clipboard
    注記

    以下は、プラットフォームゲートウェイのデプロイメント例です。すべてのコンポーネントの外部データベースを設定するには、aap-configuring-external-db-all-default-components.yml の例を使用してください (14.1. カスタムリソース セクションを参照)。

  3. AnsibleAutomationPlatform カスタムリソースオブジェクトを作成するときに、次の例に従って、仕様にシークレットを指定します。

    apiVersion: aap.ansible.com/v1alpha1
    kind: AnsibleAutomationPlatform
    metadata:
      name: example-aap
      Namespace: aap
    spec:
      database:
         database_secret: automation-platform-postgres-configuration
    Copy to Clipboard

3.1.2. 予期しない DataStyle が設定された外部データベースのトラブルシューティング

Ansible Automation Platform Operator をアップグレードするときに、次のようなエラーが発生する場合があります。

NotImplementedError: can't parse timestamptz with DateStyle 'Redwood, SHOW_TIME': '18-MAY-23 20:33:55.765755 +00:00'
Copy to Clipboard

このようなエラーは、予期しない DateStyle が設定された外部データベースがある場合に発生します。この問題を解決するには、次の手順を参照してください。

手順

  1. データベースサーバーの /var/lib/pgsql/data/postgres.conf ファイルを編集します。

    # vi /var/lib/pgsql/data/postgres.conf
    Copy to Clipboard
  2. 次の行を見つけてコメントアウトします。

    #datestyle = 'Redwood, SHOW_TIME'
    Copy to Clipboard
  3. 新しくコメントアウトした行のすぐ下に次の設定を追加します。

    datestyle = 'iso, mdy'
    Copy to Clipboard
  4. postgres.conf ファイルを保存して閉じます。
  5. データベース設定を再ロードします。

    # systemctl reload postgresql
    Copy to Clipboard
    注記

    このコマンドを実行してもデータベース操作は中断されません。

3.1.3. OpenShift Container Platform のプラットフォームゲートウェイでシングルサインオン (SSO) 用の HTTPS リダイレクトを有効にする

SAML 用の HTTPS リダイレクトを使用すると、一度ログインするだけで、再認証することなくプラットフォームゲートウェイ全体にアクセスできます。

前提条件

  • Ansible Automation Platform Operator からゲートウェイに SAML を正常に設定した。これに関するヘルプは、SAML 認証の設定 を参照してください。

手順

  1. Red Hat OpenShift Container Platform にログインします。
  2. Operators Installed Operators に移動します。
  3. Ansible Automation Platform Operator のデプロイメントを選択します。
  4. All Instances を選択し、AnsibleAutomationPlatform インスタンスに移動します。
  5. ⋮ アイコンをクリックし、Edit AnsibleAutomationPlatform を選択します。
  6. YAML view で、spec: セクションの下に次の YAML コードを貼り付けます。

    spec:
      extra_settings:
        - setting: REDIRECT_IS_HTTPS
          value: '"True"'
    Copy to Clipboard
  7. Save をクリックします。

検証

REDIRECT_IS_HTTPS 設定を追加したら、Pod が自動的に再デプロイされるまで待ちます。次のコマンドを実行すると、この設定が Pod に反映されていることを確認できます。

oc exec -it <gateway-pod-name> -- grep REDIRECT /etc/ansible-automation-platform/gateway/settings.py
Copy to Clipboard

3.1.4. プラットフォームゲートウェイ Operator の Ingress の CSRF を設定する

Red Hat Ansible Automation Platform Operator は、Openshift ルートを作成し、クロスサイトリクエストフォージェリー (CSRF) 設定を自動的に指定します。外部 Ingress を使用する場合は、クロスサイトリクエストを許可するように Ingress で CSRF を設定する必要があります。Advanced configuration でプラットフォームゲートウェイ Operator の Ingress を設定できます。

手順

  1. Red Hat OpenShift Container Platform にログインします。
  2. Operators Installed Operators に移動します。
  3. Ansible Automation Platform Operator のデプロイメントを選択します。
  4. Ansible Automation Platform タブを選択します。
  5. 新しいインスタンスの場合は、Create AnsibleAutomationPlatform をクリックします。

    1. 既存のインスタンスの場合は、⋮ アイコンをクリックして Edit AnsibleAutomationPlatform クリックすると、YAML ビューを編集できます。
  6. Advanced Configuration をクリックします。
  7. Ingress annotations で、Ingress に追加するアノテーションを入力します。
  8. Ingress TLS secret で、ドロップダウンリストをクリックし、リストからシークレットを選択します。
  9. YAML view で次のコードを貼り付けます。

    spec:
      extra_settings:
        - setting: CSRF_TRUSTED_ORIGINS
          value:
            - https://my-aap-domain.com
    Copy to Clipboard
  10. プラットフォームゲートウェイを設定したら、フォームビューの下部にある Create をクリックします (既存のインスタンスを編集した場合は Save をクリックします)。

Red Hat OpenShift Container Platform が Pod を作成します。これには数分の時間がかかる場合があります。Workloads Pod に移動し、新たに作成されたインスタンスを見つけることで、進捗を表示できます。

検証

プラットフォームゲートウェイからの Red Hat Ansible Automation Platform Operator インストールによって提供される次の Operator Pod が実行されていることを確認します。

Operator マネージャーコントローラー PodAutomation Controller PodAutomation Hub PodEvent-Driven Ansible (EDA) Podプラットフォームゲートウェイ Pod

4 つの Operator それぞれの Operator マネージャーコントローラー。次のものが含まれます。

  • automation-controller-operator-controller-manager
  • automation-hub-operator-controller-manager
  • resource-operator-controller-manager
  • aap-gateway-operator-controller-manager
  • ansible-lightspeed-operator-controller-manager
  • eda-server-operator-controller-manager

Automation Controller のデプロイ後に、次の Pod が追加されていることを確認できます。

  • Automation Controller Web
  • Automation Controller タスク
  • Mesh Ingress
  • Automation Controller postgres

Automation Hub のデプロイ後に、次の Pod が追加されていることを確認できます。

  • Automation Hub
  • Automation Hub タスク
  • Automation Hub API
  • Automation Hub ワーカー

EDA のデプロイ後に、次の Pod が追加されていることを確認できます。

  • EDA API
  • EDA アクティベーション
  • EDA ワーカー
  • EDA ストリーム
  • EDA スケジューラー

プラットフォームゲートウェイをデプロイすると、次の Pod が追加されていることを確認できます。

  • プラットフォームゲートウェイ
  • プラットフォームゲートウェイ Redis
注記

Pod が見つからない場合は、プルシークレットが必要であることを示している可能性があります。プルシークレットは、保護されたイメージレジストリーまたはプライベートイメージレジストリーに必要です。詳細は、イメージプルシークレットの使用 を参照してください。oc describe pod <pod-name> を実行して、その Pod に ImagePullBackOff エラーがあるかどうかを確認することで、この問題をさらに診断できます。

3.1.5. プラットフォームゲートウェイに関するよくある質問

Ansible Automation Platform のデプロイメントを削除しても、Automation Controller には引き続きアクセスできますか?
いいえ、Automation Controller、Automation Hub、および Event-Driven Ansible はデプロイメント内にネストされており、これらも削除されます。
デプロイメントで問題が発生しましたが、何が問題なのかわかりません。どうすればわかりますか?
Operator が調整している間、コマンドラインで状況を追跡できます。これはデバッグに役立ちます。または、デプロイメントのインスタンスをクリックして、デプロイの進行中にステータスの状態が更新される様子を確認することもできます。
個々のコンポーネントのログを表示することは、現在も可能ですか?
トラブルシューティングを行うときは、メインログは、Ansible Automation Platform インスタンスを調べてください。さらに具体的な情報は、各コンポーネント (EDAAutomationHubAutomationController) を調べてください。
インスタンスの状態はどこで確認できますか?
ステータスの状態を表示するには、インスタンスをクリックし、Details または Events タブを確認します。または、get コマンド (oc get automationcontroller <instance-name> -o jsonpath=Pipe "| jq") を実行して、ステータスの状態を表示することもできます。
移行をリアルタイムで追跡できますか?
移行のステータスを追跡したり、移行が失敗した理由を確認したりするには、移行の実行中に移行ログを確認します。logs コマンド oc logs fresh-install-controller-migration-4.6.0-jwfm6 -f を使用してください。
SAML を設定しましたが、"Unable to complete social auth login" というエラーが発生して認証が失敗します。どうすればよいですか?
REDIRECT_IS_HTTPS 追加設定を含めるには、Ansible Automation Platform インスタンスを更新する必要があります。これに関するヘルプは、OpenShift Container Platform 上のプラットフォームゲートウェイでシングルサインオン (SSO) を有効にする を参照してください。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat