OpenShift Container Platform へのインストール


Red Hat Ansible Automation Platform 2.5

OpenShift Container Platform に Ansible Automation Platform Operator をインストールして設定する

Red Hat Customer Content Services

概要

このガイドでは、OpenShift Container Platform の Red Hat Ansible Automation Platform Operator でサポートされるインストールシナリオの手順および参考情報を提供します。

はじめに

Red Hat Ansible Automation Platform に興味をお持ちいただきありがとうございます。Ansible Automation Platform は、Ansible を装備した環境に、制御、ナレッジ、委譲の機能を追加して、チームが複雑かつ複数層のデプロイメントを管理できるように支援する商用サービスです。

このドキュメントは、OpenShift Container Platform に Ansible Automation Platform Operator をデプロイするためのインストール、移行、およびアップグレードの要件を理解するのに役立ちます。

Red Hat ドキュメントへのフィードバック (英語のみ)

このドキュメントの改善に関するご意見がある場合や、エラーを発見した場合は、https://access.redhat.com からテクニカルサポートに連絡してリクエストを送信してください。

第1章 Red Hat OpenShift Container Platform への Red Hat Ansible Automation Platform Operator のインストール

システム管理者は、Ansible Automation Platform Operator を使用して、OpenShift 環境に新しい Ansible Automation Platform インスタンスをデプロイできます。

1.1. Red Hat OpenShift Container Platform での Red Hat Ansible Automation Platform Operator の計画

Red Hat Ansible Automation Platform は、Red Hat Enterprise Linux と Red Hat Openshift の両方でサポートされます。

OpenShift Operator は、Red Hat OpenShift Container Platform に複雑な分散ソフトウェアの day 2 操作のインストールおよび自動化に役立ちます。Ansible Automation Platform Operator を使用すると、Red Hat OpenShift Container Platform に Ansible Automation Platform コンポーネントをデプロイして管理できます。

このセクションは、Red Hat OpenShift Container Platform 環境への Red Hat Ansible Automation Platform のインストールを計画するのに役立ちます。インストールを行う前に、サポートされているインストールシナリオを確認し、要件を満たしていることを確認してください。

1.1.1. Ansible Automation Platform Operator について

Ansible Automation Platform Operator は、OpenShift 環境に新しい Ansible Automation Platform インスタンスをボタンを押すだけでデプロイできるクラウドネイティブの機能を提供します。

Ansible Automation Platform Operator には、Automation Controller および Private Automation Hub のインスタンスをデプロイして管理するリソースタイプが含まれています。

また、Automation Controller デプロイメント内でジョブを定義および起動するための Automation Controller ジョブリソースも含まれています。

Kubernetes ネイティブ Operator を使用して Ansible Automation Platform インスタンスをデプロイすると、Red Hat OpenShift Container Platform にデプロイされた Playbook からインスタンスを起動するという利点があります。これには、Red Hat Ansible Automation Platform デプロイメントへのアップグレードおよび完全なライフサイクルサポートが含まれます。

OperatorHub の Red Hat Operator カタログから Ansible Automation Platform Operator をインストールできます。

Ansible Automation Platform Operator のシステム要件とインフラストラクチャートポロジーの詳細は、テスト済みのデプロイメントモデルOperator トポロジー を参照してください。

1.1.2. OpenShift Container Platform バージョンの互換性

Ansible Automation Platform 2.5 をインストールする Ansible Automation Platform Operator は、OpenShift Container Platform 4.12 から 4.17 以降のバージョンで利用できます。

1.1.3. Red Hat OpenShift Container Platform のサポート対象のインストールシナリオ

Red Hat OpenShift Container Platform Web コンソールで OperatorHub を使用して、Ansible Automation Platform Operator をインストールできます。

または、OpenShift Container Platform コマンドラインインターフェイス (CLI) oc から Ansible Automation Platform Operator をインストールできます。これに関するヘルプは、OpenShift Container Platform CLI からの Red Hat Ansible Automation Platform Operator のインストール を参照してください。

Ansible Automation Platform Operator をインストールした後、Ansible Automation Platform カスタムリソース (CR) を作成する必要があります。これにより、プラットフォームゲートウェイと呼ばれる単一の統合インターフェイスから Ansible Automation Platform コンポーネントを管理できるようになります。バージョン 2.5 以降では、既存の Automation Controller、Automation Hub、または Event-Driven Ansible コンポーネントがある場合でも、Ansible Automation Platform CR を作成する必要があります。

既存のコンポーネントがすでにデプロイされている場合は、Ansible Automation Platform CR でこれらのコンポーネントを指定する必要があります。このカスタムリソースは、既存のコンポーネントと同じ namespace に作成する必要があります。

Expand
サポート対象シナリオ既存のコンポーネントがある場合のサポート対象シナリオ
  • Automation Controller、Automation Hub、および Event-Driven Ansible が有効な白紙インストール用の Ansible Automation Platform CR
  • Automation Controller のみが有効な Ansible Automation Platform CR
  • Automation Controller と Automation Hub のみが有効な Ansible Automation Platform CR
  • Automation Controller と Event-Driven Ansible のみが有効な Ansible Automation Platform CR
  • Ansible Automation Platform CR が、Ansible Automation Platform CR 仕様で指定された Automation Controller 名を使用して、既存の Automation Controller CR と同じ namespace に作成されている。
  • Automation Controller と Automation Hub の場合も同様です。
  • Automation Controller、Automation Hub、および Event-Driven Ansible の場合も同様です。
  • Automation Controller と Event-Driven Ansible の場合も同様です。

1.1.4. カスタムリソース

プライマリーインストールワークフローごとにカスタムリソースを定義できます。

  • OpenShift Container Platform に Event-Driven Ansible をインストールし、ルールブックアクティベーションの同時実行数を変更する予定の場合は、必須の EDA_MAX_RUNNING_ACTIVATIONS パラメーターをカスタムリソースに追加してください。デフォルトでは、Event-Driven Ansible Controller はノードごとに 12 個のアクティベーションを同時に実行できます。例については、付録セクションの eda-max-running-activations.yml を参照してください。
注記

OpenShift Container Platform の EDA_MAX_RUNNING_ACTIVATIONS は、グローバル値です。OpenShift Container Platform に Event-Driven Ansible をインストールする場合は、ワーカーノードの概念が存在しないためです。

1.1.5. Ansible Automation Platform Operator による CSRF の管理

Ansible Automation Platform バージョン 2.5 では、OpenShift Container Platform 上の Ansible Automation Platform Operator が OpenShift ルートを作成し、クロスサイトリクエストフォージェリー (CSRF) 設定を自動的に設定します。

外部 Ingress を使用する場合は、Ingress で CSRF を設定する必要があります。詳細は、プラットフォームゲートウェイ Operator の Ingress の CSRF を設定する を参照してください。

重要

以前のバージョンでは、CSRF は Automation Controller のユーザーインターフェイスを通じて設定可能でした。バージョン 2.5 でも、Automation Controller の設定は引き続き存在しますが、プラットフォームゲートウェイの CSRF 設定には影響しません。

次の表は、どの設定がどのコンポーネントに適用されるかを明確にするのに役立ちます。

Expand
UI 設定適用対象

Subscription

Automation Controller

プラットフォームゲートウェイ

プラットフォームゲートウェイ

ユーザー設定

ユーザーインターフェイス

システム

Automation Controller

Job

Automation Controller

ロギング

Automation Controller

トラブルシューティング

Automation Controller

1.1.6. 関連情報

OpenShift Container Platform OperatorHub の詳細は、OpenShift Container Platform のドキュメントを参照してください。

1.2. Red Hat OpenShift Container Platform への Ansible Automation Platform Operator のデプロイ

この手順では、Red Hat OpenShift Container Platform の Operator セクションから Red Hat Ansible Automation Platform Operator をデプロイし、適切な更新チャネルとインストールモードを選択して、デプロイメントが成功したことを確認する手順を説明します。

1.2.1. Red Hat OpenShift Container Platform への Ansible Automation Platform Operator のインストール

Ansible Automation Platform Operator のインストール時に、namespace スコープ Operator、またはクラスタースコープ Operator を選択できます。これは、選択した更新チャネル (stable-2.x または cluster-scoped-2.x) により異なります。

namespace スコープの Operator は、1 つの namespace 内に限定されるため、より強固なセキュリティーを提供します。クラスタースコープの Operator は、複数の namespace を対象とするため、より広範な権限を持っています。

同じ Ansible Automation Platform Operator バージョンで複数の Ansible Automation Platform インスタンスを管理している場合は、1 つの Operator を使用してクラスター内のすべての Ansible Automation Platform カスタムリソースを管理するクラスタースコープ Operator を使用します。

同じクラスター内で複数の Operator バージョンが必要な場合は、namespace スコープ Operator を使用する必要があります。Operator とデプロイメントは同じ namespace を共有します。Operator ログはその namespace 内のカスタムリソースにのみ関係するため、デバッグ時にも役立ちます。

注記

Ansible Automation Platform Operator のシステム要件とインフラストラクチャートポロジーの詳細は、テスト済みのデプロイメントモデルOperator トポロジー を参照してください。

namespace スコープまたはクラスタースコープの Operator のインストールに関するヘルプは、次の手順を参照してください。

重要

OpenShift クラスターのデフォルトの namespace に Ansible Automation Platform をデプロイすることはできません。aap namespace が推奨されます。カスタムの namespace を使用することもできますが、その namespace では Ansible Automation Platform だけを実行してください。

前提条件

手順

  1. Red Hat OpenShift Container Platform にログインします。
  2. OperatorsOperatorHub に移動します。
  3. Ansible Automation Platform を検索し、Install をクリックします。
  4. Update Channel を選択します。

    • stable-2.x: namespace スコープ Operator をインストールします。これにより、Automation Hub および Automation Controller インスタンスのデプロイメントが、Operator がインストールされている namespace に制限されます。これは、ほとんどの場合に適しています。stable-2.x チャネルは管理者特権を必要とせず、単一の namespace のみを監視するため、使用するリソースが少なくなります。
    • stable-2.x-cluster-scoped: すべての namespace で Ansible Automation Platform のカスタムリソースとデプロイメントを管理する単一の namespace に Ansible Automation Platform Operator をインストールします。Ansible Automation Platform Operator には、クラスター内のすべての namespace に対する管理者権限が必要です。
  5. Installation ModeInstalled Namespace、および Approval Strategy を選択します。
  6. Install をクリックします。

検証

インストールプロセスが開始します。インストールが完了すると、指定した namespace に Ansible Automation Platform Operator がインストールされたことを通知するモーダルが表示されます。

  • View Operator をクリックして、新しくインストールされた Ansible Automation Platform Operator を表示し、次の Operator カスタムリソースが存在することを確認します。
Expand
Automation ControllerAutomation HubEvent-Driven Ansible (EDA)Red Hat Ansible Lightspeed
  • Automation Controller
  • Automation Controller Backup
  • Automation Controller Restore
  • Automation Controller Mesh Ingress
  • Automation Hub
  • Automation Hub Backup
  • Automation Hub Restore
  • EDA
  • EDA Backup
  • EDA Restore
  • Ansible Lightspeed
  • Ansible Automation Platform Operator に Succeeded ステータスが表示されていることを確認します。

1.3. Red Hat OpenShift Container Platform CLI からの Red Hat Ansible Automation Platform Operator のインストール

以下の手順に従って、oc コマンドを使用して、OpenShift Container Platform コマンドラインインターフェイス (CLI) から Red Hat OpenShift Container Platform に Ansible Automation Platform Operator をインストールします。

1.3.1. namespace への Ansible Automation Platform Operator のインストール

この手順を使用して、namespace を Operator にサブスクライブします。

重要

OpenShift クラスターのデフォルトの namespace に Ansible Automation Platform をデプロイすることはできません。aap namespace が推奨されます。カスタムの namespace を使用することもできますが、その namespace では Ansible Automation Platform だけを実行してください。

前提条件

  • Operator をインストールするパーミッションを持つアカウントを使用して Red Hat OpenShift Container Platform にアクセスできる。
  • OpenShift Container Platform CLI oc コマンドがローカルシステムにインストールされている。詳細は、Red Hat OpenShift Container Platform 製品ドキュメントの OpenShift CLI のインストール を参照してください。

手順

  1. Operator のプロジェクトを作成します。

    oc new-project ansible-automation-platform
    Copy to Clipboard Toggle word wrap
  2. sub.yaml という名前のファイルを作成します。
  3. 以下の YAML コードを sub.yaml ファイルに追加します。

    ---
    apiVersion: v1
    kind: Namespace
    metadata:
      labels:
        openshift.io/cluster-monitoring: "true"
      name: ansible-automation-platform
    ---
    apiVersion: operators.coreos.com/v1
    kind: OperatorGroup
    metadata:
      name: ansible-automation-platform-operator
      namespace: ansible-automation-platform
    spec:
      targetNamespaces:
        - ansible-automation-platform
    ---
    apiVersion: operators.coreos.com/v1alpha1
    kind: Subscription
    metadata:
      name: ansible-automation-platform
      namespace: ansible-automation-platform
    spec:
      channel: 'stable-2.5'
      installPlanApproval: Automatic
      name: ansible-automation-platform-operator
      source: redhat-operators
      sourceNamespace: openshift-marketplace
    ---
    Copy to Clipboard Toggle word wrap

    このファイルは、ansible-automation-platform namespace を ansible-automation-platform-operator Operator にサブスクライブする ansible-automation-platform という Subscription オブジェクトを作成します。

  4. oc apply コマンドを実行して、sub.yaml ファイルで指定されたオブジェクトを作成します。

    oc apply -f sub.yaml
    Copy to Clipboard Toggle word wrap
  5. 続行する前に、oc get csv -n ansible-automation-platform コマンドを使用して、CSV の PHASE に "Succeeded" と報告されることを確認します。

    oc get csv -n ansible-automation-platform
    
    NAME                               DISPLAY                       VERSION              REPLACES                           PHASE
    aap-operator.v2.5.0-0.1728520175   Ansible Automation Platform   2.5.0+0.1728520175   aap-operator.v2.5.0-0.1727875185   Succeeded
    Copy to Clipboard Toggle word wrap
  6. ansible-automation-platform namespace に example という名前の AnsibleAutomationPlatform オブジェクトを作成します。

    Ansible Automation Platform とそのコンポーネントを example から変更するには、metadata: セクションの name フィールドを編集し、example を使用する名前に置き換えます。

    oc apply -f - <<EOF
    apiVersion: aap.ansible.com/v1alpha1
    kind: AnsibleAutomationPlatform
    metadata:
      name: example
      namespace: ansible-automation-platform
    spec:
      # Platform
      image_pull_policy: IfNotPresent
      # Components
      controller:
        disabled: false
      eda:
        disabled: false
      hub:
        disabled: false
        ## Modify to contain your RWM storage class name
        storage_type: file
        file_storage_storage_class: <your-read-write-many-storage-class>
        file_storage_size: 10Gi
    
        ## uncomment if using S3 storage for Content pod
        # storage_type: S3
        # object_storage_s3_secret: example-galaxy-object-storage
    
        ## uncomment if using Azure storage for Content pod
        # storage_type: azure
        # object_storage_azure_secret: azure-secret-name
      lightspeed:
        disabled: true
    EOF
    Copy to Clipboard Toggle word wrap

第2章 Red Hat OpenShift Container Platform での Red Hat Ansible Automation Platform Operator の設定

namespace 管理者は、Ansible Automation Platform ゲートウェイを使用して、OpenShift 環境内の新しい Ansible Automation Platform コンポーネントを管理できます。

Ansible Automation Platform ゲートウェイは、Ansible Automation Platform カスタムリソースを使用して、次の Ansible Automation Platform コンポーネントを管理し、一元的なユーザーインターフェイスに統合します。

  • Automation Controller
  • Automation Hub
  • Event-Driven Ansible
  • Red Hat Ansible Lightspeed (この機能はデフォルトで無効になっており、使用するにはオプトインする必要があります。)

プラットフォームゲートウェイをデプロイするには、namespace に Ansible Automation Platform Operator をインストールする必要があります。Ansible Automation Platform Operator をインストールしていない場合は、Red Hat OpenShift Container Platform への Red Hat Ansible Automation Platform Operator のインストール を参照してください。

注記

プラットフォームゲートウェイは、Ansible Automation Platform Operator バージョン 2.5 でのみ使用できます。Ansible Automation Platform Operator 2.5 でデプロイされるコンポーネントは、すべてデフォルトでバージョン 2.5 になります。

Ansible Automation Platform Operator と、Ansible Automation Platform コンポーネントの一部またはすべてがインストールされている場合の手順は、既存の Ansible Automation Platform コンポーネントを使用したプラットフォームゲートウェイのデプロイ を参照してください。

すでにインストールされている Ansible Automation Platform のコンポーネントがある場合は、そのコンポーネントを、新しい Ansible Automation Platform インスタンスにリンクできます。

次の手順では、既存のコンポーネントとして Automation Controller があり、Automation Hub と Event-Driven Ansible を追加する状況を再現します。

手順

  1. Red Hat OpenShift Container Platform にログインします。
  2. OperatorsInstalled Operators に移動します。
  3. Ansible Automation Platform Operator のデプロイメントを選択します。
  4. Subscriptions をクリックし、Update channelstable-2.5 に編集します。
  5. Details をクリックし、Ansible Automation Platform タイルで Create instance をクリックします。
  6. Create Ansible Automation Platform ページで、Name フィールドにインスタンスの名前を入力します。

    • Ansible Automation Platform のインスタンスをデプロイするときは、統合が機能するように、既存の Automation Controller インスタンスの auto_update がデフォルト値の false に設定されていることを確認してください。
  7. YAML view をクリックし、以下のコピーを貼り付けます。

    apiVersion: aap.ansible.com/v1alpha1
    kind: AnsibleAutomationPlatform
    metadata:
      name: example-aap
      namespace: aap
    spec:
      database:
        resource_requirements:
          requests:
            cpu: 200m
            memory: 512Mi
        storage_requirements:
          requests:
            storage: 100Gi
    
      # Platform
      image_pull_policy: IfNotPresent
    
      # Components
      controller:
        disabled: false
        name: existing-controller-name
      eda:
        disabled: false
      hub:
        disabled: false
        ## uncomment if using file storage for Content pod
        storage_type: file
        file_storage_storage_class: <your-read-write-many-storage-class>
        file_storage_size: 10Gi
    
        ## uncomment if using S3 storage for Content pod
        # storage_type: S3
        # object_storage_s3_secret: example-galaxy-object-storage
    
        ## uncomment if using Azure storage
    Copy to Clipboard Toggle word wrap
    1. 新しいコンポーネントは、名前を指定しないと、デフォルトの名前が生成されます。
  8. Create をクリックします。
  9. 新しいインスタンスにアクセスするには、プラットフォームゲートウェイへのアクセス を参照してください。

    注記

    マネージド Postgres Pod を備えた既存のコントローラーがある場合、Ansible Automation Platform リソースを作成した後、Automation Controller インスタンスが元の Postgres Pod を引き続き使用します。新規インストールを実行しても、すべてのインスタンスに対して 1 つのマネージド Postgres Pod が使用されます。

2.3. OpenShift Container Platform UI を介してプラットフォームゲートウェイにアクセスする

Ansible Automation Platform インスタンスをデフォルトとして使用します。このインスタンスは、Automation Controller、Automation Hub、および Event-Driven Ansible デプロイメントを単一のインターフェイスにリンクします。

手順

  1. Red Hat OpenShift Container Platform にログインします。
  2. NetworkingRoutes に移動します。
  3. Ansible Automation PlatformLocation の下にあるリンクをクリックします。
  4. Ansible Automation Platform のログインページにリダイレクトされます。Username フィールドにユーザー名として "admin" と入力します。
  5. パスワードについては、以下を実行します。

    1. WorkloadsSecrets に移動します。
    2. <your instance name>-admin-password をクリックし、パスワードをコピーします。
    3. パスワードを Password フィールドに貼り付けます。
  6. Login をクリックします。
  7. サブスクリプションを適用します。

    1. Subscription manifest または Username/password をクリックします。
    2. マニフェストをアップロードするか、ユーザー名とパスワードを入力します。
    3. Subscription リストからサブスクリプションを選択します。
    4. Next をクリックします。Analytics ページにリダイレクトされます。
  8. Next をクリックします。
  9. I agree to the terms of the license agreement チェックボックスをオンにします。
  10. Next をクリックします。

検証

これで、プラットフォームゲートウェイのユーザーインターフェイスにアクセスできるようになりました。

トラブルシューティング

Ansible Automation Platform にアクセスできない場合は、プラットフォームゲートウェイに関するよくある質問 を参照して、トラブルシューティングとデバッグのヘルプを参照してください。

2.4. OpenShift Container Platform CLI 経由でプラットフォームゲートウェイにアクセスする

OpenShift Container Platform CLI を使用して、作成した Automation Controller の Web アドレスとパスワードを取得できます。プラットフォームゲートウェイにログインするには、Web アドレスとパスワードが必要です。

2.4.1. プラットフォームゲートウェイの Web アドレスの取得

Red Hat OpenShift Container Platform ルートは、外部クライアントが名前でサービスに到達できるように、ホスト名でサービスを公開します。プラットフォームゲートウェイのインスタンスを作成すると、そのルートが作成されます。ルートは、YAML ファイルでプラットフォームゲートウェイオブジェクトに割り当てた名前を継承します。

手順

  • 以下のコマンドを使用してルートを取得します。

    oc get routes -n <platform_namespace>
    Copy to Clipboard Toggle word wrap

    検証

    次の例では、example というプラットフォームゲートウェイが ansible-automation-platform namespace で実行されていることがわかります。

$ oc get routes -n ansible-automation-platform

NAME      HOST/PORT                                              PATH   SERVICES          PORT   TERMINATION     WILDCARD
example   example-ansible-automation-platform.apps-crc.testing          example-service   http   edge/Redirect   None
Copy to Clipboard Toggle word wrap

プラットフォームゲートウェイインスタンスのアドレスは、example-ansible-automation-platform.apps-crc.testing です。

2.4.2. プラットフォームゲートウェイのパスワードの取得

AnsibleAutomationPlatform オブジェクト内のプラットフォームゲートウェイインスタンスの YAML ブロックでは、name キーと admin_user キーに値が割り当てられてます。

手順

  1. これらの値を次のコマンドで使用して、プラットフォームゲートウェイインスタンスのパスワードを取得します。

    oc get secret/<your instance name>-<admin_user>-password -o yaml
    Copy to Clipboard Toggle word wrap
  2. admin_user のデフォルト値は admin です。AnsibleAutomationPlatform オブジェクトで管理者ユーザー名を変更した場合は、コマンドを変更してください。

    次の例では、example という名前のプラットフォームゲートウェイオブジェクトのパスワードを取得します。

    oc get secret/example-admin-password -o yaml
    Copy to Clipboard Toggle word wrap

    プラットフォームゲートウェイインスタンスの base64 でエンコードされたパスワードは、出力の metadata フィールドに表示されます。

    $ oc get secret/example-admin-password -o yaml
    
    apiVersion: v1
    data:
      password: ODzLODzLODzLODzLODzLODzLODzLODzLODzLODzLODzL
    kind: Secret
    metadata:
      labels:
        app.kubernetes.io/component: aap
        app.kubernetes.io/name: example
        app.kubernetes.io/operator-version: ""
        app.kubernetes.io/part-of: example
      name: example-admin-password
      namespace: ansible-automation-platform
    Copy to Clipboard Toggle word wrap

2.4.3. プラットフォームゲートウェイのパスワードのデコード

ゲートウェイパスワードを取得したら、それを base64 からデコードする必要があります。

手順

  • 次のコマンドを実行して、パスワードを base64 からデコードします。
oc get secret/example-admin-password -o jsonpath={.data.password} | base64 --decode
Copy to Clipboard Toggle word wrap

第3章 Ansible Automation Platform のサブスクリプション、更新、サポートの管理

Ansible はオープンソースソフトウェアプロジェクトであり、Ansible ソースコード に記載されているように、GNU General Public License バージョン 3 に基づいてライセンスが付与されます。

Ansible Automation Platform をインストールする前に、有効なサブスクリプションが割り当てられている必要があります。

3.1. 試用と評価

Ansible Automation Platform を実行するにはサブスクリプションが必要です。まずは無料トライアルサブスクリプションにサインアップしてください。

  • Ansible Automation Platform のトライアルサブスクリプションは、Red Hat 製品トライアルセンター から入手できます。
  • トライアルサブスクリプションまたは Ansible Automation Platform の評価期間中は、サポートはありません。

3.2. サブスクリプションにおけるノードカウント

Ansible Automation Platform サブスクリプションは、サブスクリプションの一部として管理できるマネージドノードの数を定義します。

サブスクリプションのマネージドノードの要件に関する詳細は、How are "managed nodes" defined as part of the Red Hat Ansible Automation Platform offering を参照してください。

注記

Ansible は、ノード数を再利用したり、自動化されたホストをリセットしたりしません。

3.3. サブスクリプションタイプ

Red Hat Ansible Automation Platform は、年間サブスクリプション契約をベースに、さまざまなサポートレベルおよびマシン数で提供されます。

すべてのサブスクリプションレベルに、Automation Controller、Ansible、および Ansible Automation Platform の他のコンポーネントの定期的な更新とリリースが含まれています。

詳細は、Red Hat カスタマーポータル または Ansible サイト から Ansible チームにお問い合わせください。

3.4. マニフェストファイルの取得

サブスクリプションマニフェストは、Red Hat Subscription Management の サブスクリプション割り当て セクションで取得できます。

サブスクリプションの割り当てを取得したら、そのマニフェストファイルをダウンロードしてアップロードし、Ansible Automation Platform のライセンス認証を行うことができます。

まず、管理者ユーザーアカウントを使用して Red Hat カスタマーポータル にログインし、記載されている手順に従います。

3.4.1. サブスクリプションの割り当ての作成

新しいサブスクリプションの割り当てを使用すると、現在オフラインまたはエアギャップシステムのサブスクリプションとエンタイトルメントを確保できます。これは、マニフェストをダウンロードして Ansible Automation Platform にアップロードする前に必要です。

手順

  1. サブスクリプションの割り当て ページで、新規サブスクリプションの割り当て をクリックします。
  2. 割り当ての名前を入力し、後で検索できるようにします。
  3. 管理アプリケーションとして、Type: Satellite 6.16 を選択します。
  4. Create をクリックします。

3.4.2. サブスクリプション割り当てへのサブスクリプションの追加

割り当てを作成したら、Ansible Automation Platform を適切に実行するために必要なサブスクリプションを追加できます。この手順は、マニフェストをダウンロードして Ansible Automation Platform に追加する前に必要です。

手順

  1. サブスクリプション割り当て ページで、サブスクリプションを追加する サブスクリプション割り当て の名前をクリックします。
  2. Subscriptions タブをクリックします。
  3. Add Subscriptions をクリックします。
  4. 追加する予定の Ansible Automation Platform エンタイトルメントの数を入力します。
  5. Submit をクリックします。

3.4.3. マニフェストファイルのダウンロード

適切なサブスクリプションを含む割り当てを作成したら、Red Hat Subscription Management からマニフェストファイルをダウンロードできます。

手順

  1. Subscription Allocations ページで、マニフェストを生成する Subscription Allocation の名前をクリックします。
  2. Subscriptions タブをクリックします。
  3. Export Manifest をクリックして、マニフェストファイルをダウンロードします。

    これにより、manifest_<allocation name>_<date>.zip ファイルがデフォルトのダウンロードフォルダーにダウンロードされます。

3.5. Red Hat Ansible Automation Platform のライセンス認証

Red Hat Ansible Automation Platform は、Ansible Automation Platform の使用を許可するために、利用可能なサブスクリプションまたはサブスクリプションマニフェストを使用します。

サブスクリプションを取得するには、次のいずれかを実行できます。

  1. Ansible Automation Platform を起動するときに、Red Hat のユーザー名とパスワード、サービスアカウントの認証情報、または Satellite の認証情報を使用します。
  2. Red Hat Ansible Automation Platform インターフェイスを使用するか、Ansible Playbook で手動でサブスクリプションマニフェストファイルをアップロードします。

3.5.1. 認証情報によるライセンス認証

Ansible Automation Platform を初めて起動すると、Ansible Automation Platform サブスクリプションウィザードが自動的に表示されます。組織管理者の場合は、Red Hat サービスアカウントを作成 し、クライアント ID とクライアントシークレットを使用してサブスクリプションを取得して Ansible Automation Platform に直接インポートできます。

管理者アクセス権がない場合は、ユーザー名とパスワード タブに Red Hat のユーザー名とパスワードを入力して、サブスクリプションを検索し、Ansible Automation Platform インスタンスに追加できます。

注記

初めてログインしてプラットフォームをアクティベートすると、デフォルトで Automation Analytics がオプトインされます。これは、Red Hat がユーザーエクスペリエンスを大きく改善し、製品を改良する上で役立ちます。Ansible Automation Platform をアクティベートした後、次の手順でオプトアウトできます。

  1. ナビゲーションパネルから、SettingsAutomation ExecutionSystem を選択します。
  2. Gather data for Automation Analytics オプションのチェックボックスをオフにします。
  3. Save をクリックします。

手順

  1. Red Hat Ansible Automation Platform にログインします。
  2. サブスクリプションウィザードで Service Account タブを選択します。
  3. Client IDClient secret を入力します。
  4. Subscription リストからサブスクリプションを選択します。

    注記

    クラスターノードが Subscription Manager を通じて Satellite に登録されている場合は、Satellite タブに Satellite のユーザー名とパスワードを入力することもできます。

  5. 使用許諾契約書を確認し、I agree to the End User License Agreement を選択します。
  6. Finish をクリックします。

検証

サブスクリプションが承認されると、サブスクリプションの詳細が表示されます。Compliant のステータスは、サブスクリプションが、サブスクリプションカウント内で自動化したホストの数に準拠していることを示します。それ以外の場合、ステータスは Out of Compliance と表示さます。これは、サブスクリプション内のホスト数を超えていることを示しています。表示されるその他の重要な情報は次のとおりです。

自動化されたホスト
ライセンス数を消費するジョブによって自動化されたホスト数
インポートされたホスト
すべてのインベントリーソースを考慮したホスト数 (残りのホストには影響しません)
残りのホスト
合計ホスト数から自動化されたホストを差し引いた数

3.5.2. マニフェストファイルによるライセンス認証

サブスクリプションマニフェストがある場合は、Red Hat Ansible Automation Platform インターフェイスを使用してマニフェストファイルをアップロードできます。

注記

初めてログインしてプラットフォームをアクティベートすると、デフォルトで Automation Analytics がオプトインされます。これは、Red Hat がユーザーエクスペリエンスを大きく改善し、製品を改良する上で役立ちます。Ansible Automation Platform をアクティベートした後、次の手順でオプトアウトできます。

  1. ナビゲーションパネルから、SettingsAutomation ExecutionSystem を選択します。
  2. Gather data for Automation Analytics オプションのチェックボックスをオフにします。
  3. Save をクリックします。

前提条件

Red Hat カスタマーポータルから Red Hat サブスクリプションマニフェストファイルをエクスポートしている。詳細は、マニフェストファイルの取得 を 参照してください。

手順

  1. Red Hat Ansible Automation Platform にログインします。

    1. すぐにサブスクリプションウィザードが表示されない場合は、SettingsSubscription に移動します。
  2. Subscription manifest タブを選択します。
  3. Browse をクリックして、マニフェストファイルを選択します。
  4. 使用許諾契約書を確認し、I agree to the End User License Agreement を選択します。
  5. Finish をクリックします。

    注記

    サブスクリプションウィザードページで BROWSE ボタンが無効になっている場合は、USERNAMEPASSWORD フィールドをクリアします。

検証

サブスクリプションが承認されると、サブスクリプションの詳細が表示されます。Compliant のステータスは、サブスクリプションが、サブスクリプションカウント内で自動化したホストの数に準拠していることを示します。それ以外の場合、ステータスは Out of Compliance と表示さます。これは、サブスクリプション内のホスト数を超えていることを示しています。表示されるその他の重要な情報は次のとおりです。

自動化されたホスト
ジョブによって自動化されたホスト数。サブスクリプション数を消費します。
インポートされたホスト
すべてのインベントリーソースを考慮したホスト数 (残りのホストには影響しません)
残りのホスト
合計ホスト数から自動化されたホストを差し引いた数

第4章 OpenShift Container Platform 上での Red Hat Ansible Automation Platform Operator のカスタマイズ

Ansible Automation Platform Operator をインストールした後、ネストされたコンポーネントの設定オプションを設定して、デプロイメントをカスタマイズできます。これらのパラメーターは、親 Automation Ansible Platform カスタムリソース (CR) で定義する必要があります。Operator は、プラットフォームの各コンポーネントに設定を自動的に配布します。

4.1. OpenShift Container Platform UI を通じてカスタムリソース設定パラメーターを検出する

Ansible Automation Platform Operator の設定パラメーターは、カスタムリソース (CR) を表示することで確認できます。パラメーターは YAML スキーマにリストされます。

手順

  1. Red Hat OpenShift Container Platform にログインします。
  2. OperatorsInstalled Operators に移動します。
  3. Ansible Automation Platform Operator のデプロイメントを選択します。
  4. Ansible Automation Platform タブに移動し、CR の名前をクリックします。
  5. 設定を表示および編集するには、YAML view タブに切り替えます。使用可能なパラメーターは YAML スキーマにリストされています。

    注記

    スキーマ パネルが表示されない場合は、サイドバーが閉じられているか最小化されている可能性があります。再度開くには、view sidebar をクリックします。

4.2. カスタムリソース定義設定パラメーターの検出

Ansible Automation Platform Operator は、それぞれ独自の設定パラメーターを持つ複数のカスタムリソース (CR) を管理します。oc explain コマンドを使用して、AnsibleAutomationPlatform CR とそのネストされたコンポーネントで使用可能なすべての設定オプションを検出します。

手順

  1. 最上位レベルの CR で使用可能なすべての設定パラメーターを表示するには、次のコマンドを実行します。

    oc explain ansibleautomationplatform.spec
    Copy to Clipboard Toggle word wrap
  2. 特定のネストされたセクションを表示するには、それらを直接クエリーします。

    oc explain automationcontroller.spec.postgres_configuration_secret
    oc explain automationcontroller.spec.route_tls_termination_mechanism
    Copy to Clipboard Toggle word wrap
  3. ネストされたすべてのフィールドを一度に調べるには、--recursive フラグを使用します。

    oc explain automationcontroller.spec --recursive
    Copy to Clipboard Toggle word wrap

4.3. ネストされたコンポーネントのパラメーターの定義

Automation Controller の resource_requirements などのパラメーターを定義するには、親 Ansible Automation Platform CR YAML に設定を追加します。これにより、Ansible Automation Platform CR がデプロイメントの唯一の信頼できるソースになります。

注記

image および image_version、および {component}_image および {component}_image_version パラメーターは、開発またはホットフィックスの目的のみに使用されます。

実稼働環境では使用しないでください。これらの設定は標準のバージョン管理をバイパスし、設定のずれ、一貫性のないデプロイメント、問題のトラブルシューティングの困難につながる可能性があります。

手順

  1. OpenShift Container Platform にログインします。
  2. OperatorsInstalled Operators に移動します。
  3. Ansible Automation Platform Operator のデプロイメントを選択します。
  4. Ansible Automation Platform タブに移動し、CR の名前をクリックします。
  5. YAML view タブで、spec セクションを見つけます。
  6. ネストされた resource_requirements パラメーターとその値を含む、automationcontroller パラメーターを追加します。

    spec:
      database:
        resource_requirements:
          requests:
            cpu: 200m
            memory: 512Mi
        storage_requirements:
          requests:
            storage: 100Gi
    Copy to Clipboard Toggle word wrap
  7. Save をクリックして変更を適用します。Operator は、この設定を Automation Controller コンポーネントに自動的に適用します。

4.4. リソース要件のカスタマイズ

Ansible Automation Platform コンポーネントのリソース要件をカスタマイズして、特定の環境におけるパフォーマンスとリソース割り当てを最適化します。

次のセクションでは、各コンポーネントのデフォルトのリソース要件を含む完全なコードブロックを示します。リソース要件をカスタマイズする主な理由は次のとおりです。

  • パフォーマンスチューニング: 負荷の高いワークロードを実行するコンポーネントのリソース制限を増やします。
  • クラスター管理者によって強制される ResourceQuota に準拠するため。
  • リソースが制限された環境: 開発環境またはテスト環境でクラスターリソースを節約するために、リソース要求を減らします。
  • 環境の詳細: リソース割り当てを OpenShift または Kubernetes クラスターノードの容量に合わせて調整します。

このリファレンスを出発点として使用できます。Ansible Automation Platform インスタンスの完全なコードブロックをコピーし、変更するコンポーネントの値を変更します。この方法により、すべてのデフォルト設定が正しく適用され、デプロイメントエラーのリスクが軽減されます。

注記

パラメーターを 追加 する場合、Ansible Automation Platform のカスタムリソース (CR) にのみ追加すると、そのパラメーターはネストされた CR まで適用されます。

パラメーターを 削除 する場合は、Ansible Automation Platform CR および ネストされた CR (Automation Controller CR など) の両方からパラメーターを削除する必要があります。

# Example of defining custom resource requirements for all components
# This can be useful for clusters with a ResourceQuote in the AAP namespaceapiVersion: aap.ansible.com/v1alpha1
kind: AnsibleAutomationPlatform
metadata:
  name: aap
spec:

  # Platform
  api:
    replicas: 1
    resource_requirements:
      requests:
        cpu: 100m
        memory: 256Mi
      limits:
        cpu: 500m
        memory: 1000Mi
  redis:
    replicas: 1
    resource_requirements:
      requests:
        cpu: 100m
        memory: 256Mi
      limits:
        cpu: 500m
        memory: 500Mi
  database:
    resource_requirements:
      requests:
        cpu: 100m
        memory: 256Mi
      limits:
        cpu: 500m
        memory: 800Mi

  # Components
  controller:
    disabled: false
    uwsgi_processes: 2
    task_resource_requirements:
      requests:
        cpu: 100m
        memory: 150Mi
      limits:
        cpu: 1000m
        memory: 1200Mi
    web_resource_requirements:
      requests:
        cpu: 100m
        memory: 200Mi
      limits:
        cpu: 200m
        memory: 1600Mi
    ee_resource_requirements:
      requests:
        cpu: 100m
        memory: 64Mi
      limits:
        cpu: 1000m
        memory: 500Mi
    redis_resource_requirements:
      requests:
        cpu: 50m
        memory: 64Mi
      limits:
        cpu: 100m
        memory: 200Mi
    rsyslog_resource_requirements:
      requests:
        cpu: 100m
        memory: 128Mi
      limits:
        cpu: 500m
        memory: 250Mi
    init_container_resource_requirements:
      requests:
        cpu: 100m
        memory: 128Mi
      limits:
        cpu: 500m
        memory: 200Mi
  eda:
    disabled: false
    api:
      replicas: 1
      resource_requirements:
        requests:
          cpu: 50m
          memory: 350Mi
        limits:
          cpu: 500m
          memory: 400Mi
    ui:
      replicas: 1
      resource_requirements:
        requests:
          cpu: 25m
          memory: 64Mi
        limits:
          cpu: 500m
          memory: 150Mi
    scheduler:
      replicas: 1
      resource_requirements:
        requests:
          cpu: 50m
          memory: 200Mi
        limits:
          cpu: 500m
          memory: 250Mi
    worker:
      replicas: 2
      resource_requirements:
        requests:
          cpu: 25m
          memory: 200Mi
        limits:
          cpu: 250m
          memory: 250Mi
    default_worker:
      replicas: 1
      resource_requirements:
        requests:
          cpu: 25m
          memory: 200Mi
        limits:
          cpu: 500m
          memory: 400Mi
    activation_worker:
      replicas: 1
      resource_requirements:
        requests:
          cpu: 25m
          memory: 150Mi
        limits:
          cpu: 500m
          memory: 400Mi
    event_stream:
      replicas: 1
      resource_requirements:
        requests:
          cpu: 25m
          memory: 150Mi
        limits:
          cpu: 100m
          memory: 300Mi
  hub:
    disabled: false
    ## uncomment if using file storage for Content pod
    storage_type: file
    file_storage_storage_class: nfs-local-rwx  # replace with the rwx storage class for your cluster
    file_storage_size: 50Gi

    ## uncomment if using S3 storage for Content pod
    # storage_type: S3
    # object_storage_s3_secret: example-galaxy-object-storage

    ## uncomment if using Azure storage for Content pod
    # storage_type: azure
    # object_storage_azure_secret: azure-secret-name

    api:
      replicas: 1
      resource_requirements:
        requests:
          cpu: 150m
          memory: 256Mi
        limits:
          cpu: 800m
          memory: 500Mi
    content:
      replicas: 1
      resource_requirements:
        requests:
          cpu: 150m
          memory: 256Mi
        limits:
          cpu: 800m
          memory: 1200Mi
    worker:
      replicas: 1
      resource_requirements:
        requests:
          cpu: 150m
          memory: 256Mi
        limits:
          cpu: 800m
          memory: 400Mi
    web:
      replicas: 1
      resource_requirements:
        requests:
          cpu: 100m
          memory: 256Mi
        limits:
          cpu: 500m
          memory: 300Mi
    redis:
      replicas: 1
      resource_requirements:
        requests:
          cpu: 100m
          memory: 250Mi
        limits:
          cpu: 300m
          memory: 400Mi


  # lightspeed:
  #   disabled: true

# End state:
# * Controller deployed and named: myaap-controller
# * EDA deployed and named: myaap-eda
# * Hub deployed and named: myaap-hub
Copy to Clipboard Toggle word wrap

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

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

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

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

Expand

シナリオ

必要な操作

新規インストール

次の目的でプラットフォームが使用する外部データベースインスタンスを 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 データベースを指定している。外部の postgres インスタンスの認証情報と接続情報をシークレットに保存する必要があります。この情報は、その後プラットフォームゲートウェイの仕様に設定されます。

注記

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

手順

  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 Toggle word wrap
    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 Toggle word wrap
    注記

    以下は、プラットフォームゲートウェイのデプロイメント例です。すべてのコンポーネントの外部データベースを設定するには、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 Toggle word wrap

5.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 Toggle word wrap

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

手順

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

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

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

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

    # systemctl reload postgresql
    Copy to Clipboard Toggle word wrap
    注記

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

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

前提条件

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

手順

  1. Red Hat OpenShift Container Platform にログインします。
  2. OperatorsInstalled 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 Toggle word wrap
  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 Toggle word wrap

5.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. OperatorsInstalled 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 Toggle word wrap
  10. プラットフォームゲートウェイを設定したら、フォームビューの下部にある Create をクリックします (既存のインスタンスを編集した場合は Save をクリックします)。

検証

Red Hat OpenShift Container Platform が Pod を作成します。これには数分の時間がかかる場合があります。WorkloadsPod に移動し、新たに作成されたインスタンスを見つけることで、進捗を表示できます。プラットフォームゲートウェイからの Red Hat Ansible Automation Platform Operator インストールによって提供される次の Operator Pod が実行されていることを確認します。

Expand
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 エラーがあるかどうかを確認することで、この問題をさらに診断できます。

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

ここに示す「よくある質問」は、Ansible Automation Platform デプロイメントの管理と、一般的な問題のトラブルシューティングに使用できます。コンポーネントのリソース管理、ロギング、エラー回復について説明しています。

Ansible Automation Platform のデプロイメントを削除しても、Automation Controller には引き続きアクセスできますか?
いいえ、Automation Controller、Automation Hub、および Event-Driven Ansible はデプロイメント内にネストされており、これらも削除されます。
Ansible Automation Platform のカスタムリソース (CR) 階層でパラメーターを追加または削除する場合、パラメーターをどのように管理する必要がありますか?
パラメーターを 追加 する場合、Ansible Automation Platform のカスタムリソース (CR) にのみ追加すると、そのパラメーターはネストされた CR まで適用されます。

パラメーターを 削除 する場合は、Ansible Automation Platform CR および ネストされた CR (Automation Controller CR など) の両方からパラメーターを削除する必要があります。

デプロイメントで問題が発生しましたが、何が問題なのかわかりません。どうすればわかりますか?
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) を有効にする を参照してください。

5.2. Red Hat OpenShift Container Platform Web コンソールでの Automation Controller の設定

次の手順を使用すると、Red Hat OpenShift Container Platform で Automation Controller Operator を設定し、カスタムリソースを指定し、外部データベースを使用して Ansible Automation Platform をデプロイできます。

Automation controller の設定は、Automation controller の extra_settings を通じて、またはデプロイメント後にユーザーインターフェイスで直接行うことができます。ただし、extra_settings で行われた設定は、ユーザーインターフェイスで行われた設定よりも優先されることに注意することが重要です。

注記

Automation Controller のインスタンスが削除されても、関連する PVC は自動的に削除されません。これにより、新しいデプロイメントの名前が前のデプロイメントと同じ場合は、移行中に問題が発生する可能性があります。したがって、同じ namespace に新規 Automation Controller インスタンスをデプロイする前に、古い PVC を手動で削除することが推奨されます。詳細は、PVC の検索および削除 を参照してください。

5.2.1. 前提条件

  • Operator Hub で Red Hat Ansible Automation Platform カタログをインストールした。
  • Automation Controller の場合は、Operator が必要な PVC を動的に作成できるように、クラスターにデフォルトの StorageClass を設定する必要があります。外部 PostgreSQL データベースが設定されている場合、これは必要ありません。
  • Hub の場合は、コンテンツ、Redis、および API Pod に必要な PVC を動的に作成できるように、ReadWriteMany をサポートする StorageClass がクラスター上で使用可能である必要があります。クラスター上のデフォルトの StorageClass ではない場合は、AutomationHub オブジェクトの作成時にそれを指定できます。
5.2.1.1. コントローラーイメージのプルポリシーの設定

この手順を使用して、Automation Controller でイメージプルポリシーを設定します。

手順

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

    1. 既存のインスタンスの場合は、⋮ アイコンをクリックして Edit AutomationController クリックすると、YAML ビューを編集できます。
  6. advanced Configuration をクリックします。Image Pull Policy の下で、ラジオボタンをクリックして選択します。

    • Always
    • Never
    • IfNotPresent
  7. Image Pull Secrets の下にあるオプションを表示するには、矢印をクリックします。

    1. Add Image Pull Secret の横にある + をクリックして、値を入力します。
  8. Web container resource requirements ドロップダウンリストの下にフィールドを表示するには、矢印をクリックします。

    1. Limits および Requests で、CPU coresMemory、および Storage の値を入力します。
  9. Task container resource requirements ドロップダウンリストの下にフィールドを表示するには、矢印をクリックします。

    1. Limits および Requests で、CPU coresMemory、および Storage の値を入力します。
  10. EE Control Plane container resource requirements ドロップダウンリストの下にフィールドを表示するには、矢印をクリックします。

    1. Limits および Requests で、CPU coresMemory、および Storage の値を入力します。
  11. PostgreSQL init container resource requirements (when using a managed service) ドロップダウンリストの下にフィールドを表示するには、矢印をクリックします。

    1. Limits および Requests で、CPU coresMemory、および Storage の値を入力します。
  12. Redis container resource requirements ドロップダウンリストの下にフィールドを表示するには、矢印をクリックします。

    1. Limits および Requests で、CPU coresMemory、および Storage の値を入力します。
  13. PostgreSQL container resource requirements (when using a managed instance)* ドロップダウンリストの下のフィールドを表示するには、矢印をクリックします。

    1. Limits および Requests で、CPU coresMemory、および Storage の値を入力します。
  14. PostgreSQL container storage requirements (when using a managed instance) ドロップダウンリストを表示するには、矢印をクリックします。

    1. Limits および Requests で、CPU coresMemory、および Storage の値を入力します。
  15. レプリカで、インスタンスレプリカの数を入力します。
  16. Remove used secrets on instance removal で、true または false を選択します。デフォルトは false です。
  17. Preload instance with data upon creation で、true または false を選択します。デフォルトは true です。
5.2.1.2. コントローラー LDAP セキュリティーの設定

次のいずれかの方法を使用して、Automation Controller の LDAP SSL 設定を設定できます。

  • Automation Controller ユーザーインターフェイス。
  • プラットフォームゲートウェイのユーザーインターフェイス。追加の手順は、アクセス管理および認証 ガイドの LDAP 認証の設定 セクションを参照してください。
  • 手順は以下のとおりです。

手順

  1. Ansible Automation Platform の namespace に、bundle-ca.crt ファイルのシークレットを作成します (ファイル名は bundle-ca.crt である必要があります)。

    $ oc create secret -n aap generic bundle-ca-secret --from-file=bundle-ca.crt
    Copy to Clipboard Toggle word wrap
    注記

    この操作のターゲットファイル名は bundle-ca.crt で、シークレット名は bundle-ca-secret である必要があります。

  2. お客様の Ansible Automation Platform リソースに bundle_cacert_secret を追加します。

    ...
    spec:
      bundle_cacert_secret: bundle-ca-secret
    ...
    Copy to Clipboard Toggle word wrap

    検証

    次のコマンドを実行すると、期待どおりの証明書であるかを確認できます。

    oc get deployments -l 'app.kubernetes.io/component=aap-gateway'
    Copy to Clipboard Toggle word wrap
    oc exec -it deployment.apps/<gateway-deployment-name-from-above> -- openssl x509 -in /etc/pki/tls/certs/ca-bundle.crt -noout -text
    Copy to Clipboard Toggle word wrap
5.2.1.3. Automation Controller Operator ルートオプションの設定

Red Hat Ansible Automation Platform Operator のインストールフォームを使用すると、Advanced configuration で Automation Controller Operator のルートオプションをさらに設定できます。

手順

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

    1. 既存のインスタンスの場合は、⋮ アイコンをクリックして Edit AutomationController クリックすると、YAML ビューを編集できます。
  6. Advanced configuration をクリックします。
  7. Ingress type でドロップダウンメニューをクリックし、Route を選択します。
  8. Route DNS host で、ルートの応答先となる共通のホスト名を入力します。
  9. Route TLS termination mechanism ドロップダウンメニューをクリックし、Edge または Passthrough を選択します。ほとんどの場合は、Edge を選択する必要があります。
  10. Route TLS credential secret で、ドロップダウンメニューをクリックし、一覧からシークレットを選択します。
  11. /var/lib/projects ディレクトリーで永続性を有効にする で、スライダーを動かして true または false を選択します。

    注記

    ルートを設定した後、その Automation Controller インスタンスの YAML に route_host: を追加して、ホスト名をカスタマイズできます。

5.2.1.4. Automation Controller Operator の Ingress タイプの設定

Ansible Automation Platform Operator のインストールフォームを使用すると、Advanced configuration で Automation Controller Operator の Ingress をさらに設定できます。

手順

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

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

検証

Automation Controller Operator を設定したら、フォームビューの下部にある Create をクリックします。Red Hat OpenShift Container Platform が Pod を作成します。これには数分の時間がかかる場合があります。

WorkloadsPod に移動し、新たに作成されたインスタンスを見つけることで、進捗を表示できます。

Automation Controller からの Ansible Automation Platform Operator のインストールによって提供される次の Operator Pod が実行されていることを確認します。

Expand
Operator マネージャーコントローラーAutomation ControllerAutomation HubEvent-Driven Ansible (EDA)

3 つの 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 が追加されていることを確認できます。

  • controller
  • controller-postgres
  • controller-web
  • controller-task

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

  • hub-api
  • hub-content
  • hub-postgres
  • hub-redis
  • hub-worker

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

  • eda-activation-worker
  • da-api
  • eda-default-worker
  • eda-event-stream
  • eda-scheduler
注記

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

5.2.2. Red Hat Ansible Automation Platform Operator に Automation Controller 用の外部データベースを設定する

外部データベースを使用して Ansible Automation Platform をデプロイすることを希望するユーザーは、インスタンスの認証情報と接続情報を使用してシークレットを設定し、oc create コマンドを使用してクラスターに適用するとデプロイできるようになります。

デフォルトでは、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 に Automation Controller の外部データベースを設定する手順を説明します。

前提条件

外部データベースが、Ansible Automation Platform の現在のリリースでサポートされているバージョンの PostgreSQL データベースを指定している。外部の postgres インスタンスの認証情報と接続情報はシークレットに保存する必要があります。この情報は、Automation Controller 仕様に設定されます。

注記

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

手順

  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
    
      sslmode: "prefer" 
    5
    
      type: "unmanaged"
    type: Opaque
    Copy to Clipboard Toggle word wrap
    1. シークレットを作成する namespace。これは、デプロイ先の namespace と同じにする必要があります。
    2. データベースノードの解決可能なホスト名です。
    3. 外部ポートのデフォルトは 5432 です。
    4. 変数 password の値には、デプロイ、バックアップ、または復元中の問題を回避するために、一重引用符 (')、二重引用符 (")、またはバックスラッシュ (\) を含めないでください。
    5. 変数 sslmode は、external データベースに対してのみ有効です。使用できる値は、preferdisableallowrequireverify-ca、および verify-full です。
  2. oc create コマンドを使用して、external-postgres-configuration-secret.yml をクラスターに適用します。

    $ oc create -f external-postgres-configuration-secret.yml
    Copy to Clipboard Toggle word wrap
  3. AutomationController カスタムリソースオブジェクトを作成するときは、以下の例に従って、仕様にシークレットを指定します。

    apiVersion: automationcontroller.ansible.com/v1beta1
    kind: AutomationController
    metadata:
      name: controller-dev
    spec:
      postgres_configuration_secret: external-postgres-configuration
    Copy to Clipboard Toggle word wrap

5.2.3. PVC の検索および削除

Persistent Volume Claim (PVC) は、Automation Hub および Automation Controller アプリケーションが使用するデータを保存するために使用されるストレージボリュームです。これらの PVC はアプリケーションから独立しており、アプリケーションが削除されてもそのまま残ります。PVC が不要になるか、これを別の場所でバックアップしている場合には手動で削除できます。

手順

  1. デプロイメント namespace にある既存 PVC をリスト表示します。

    oc get pvc -n <namespace>
    Copy to Clipboard Toggle word wrap
  2. 以前のデプロイメント名と PVC 名を比較して、以前のデプロイメントに関連付けられている PVC を特定します。
  3. 以前の PVC を削除します。

    oc delete pvc -n <namespace> <pvc-name>
    Copy to Clipboard Toggle word wrap

5.3. Red Hat OpenShift Container Platform Web コンソールでの Automation Hub の設定

次の手順を使用すると、Red Hat OpenShift Container Platform で Automation Hub Operator を設定し、カスタムリソースを指定し、外部データベースを使用して Ansible Automation Platform をデプロイできます。

Automation Hub の設定は、Automation Hub の pulp_settings を通じて、またはデプロイメント後にユーザーインターフェイスで直接行うことができます。ただし、pulp_settings で行われた設定は、ユーザーインターフェイスで行われた設定よりも優先されることに注意することが重要です。Hub 設定は、Hub のカスタムリソース仕様で常に小文字に設定する必要があります。

注記

Automation Hub のインスタンスが削除されると、PVC は自動的に削除されません。これにより、新しいデプロイメントの名前が前のデプロイメントと同じ場合は、移行中に問題が発生する可能性があります。したがって、同じ namespace に新規 Automation Hub インスタンスをデプロイする前に、古い PVC を手動で削除することが推奨されます。詳細は、PVC の検索および削除 を参照してください。

5.3.1. 前提条件

  • Operator Hub で Ansible Automation Platform Operator をインストールした。

Automation Hub には、複数の Pod がコレクションなどの共有コンテンツにアクセスできるように、ReadWriteMany ファイルベースのストレージ、Azure Blob ストレージ、または Amazon S3 ストレージが必要です。

AutomationHub CR でオブジェクトストレージを設定するプロセスは、Amazon S3 および Azure Blob Storage に類似しています。

ファイルベースのストレージを使用し、インストールシナリオに Automation Hub が含まれる場合は、Ansible Automation Platform Operator のストレージオプションが ReadWriteMany に設定されていることを確認します。ReadWriteMany はデフォルトのストレージオプションです。

さらに、OpenShift Data Foundation は ReadWriteMany または S3 実装を提供します。また、ReadWriteMany をサポートするように NFS ストレージ設定をセットアップすることもできます。ただし、これが原因で、NFS サーバーが単一障害点となる可能性があります。

5.3.1.1.1. ReadWriteMany アクセスモードを使用した OCP ストレージのプロビジョニング

Ansible Automation Platform Operator を正常にインストールするには、最初に Automation Hub のストレージタイプを ReadWriteMany アクセスモードにプロビジョニングする必要があります。

手順

  1. StoragePersistentVolume に移動します。
  2. Create PersistentVolume をクリックします。
  3. 最初のステップでは、accessModes をデフォルトの ReadWriteOnce から ReadWriteMany に更新します。

    1. アクセスモードを更新するには、プロビジョニング の詳しい説明を参照してください。
  4. 永続ボリューム要求 (PVC) を作成するには、このセクションの追加手順を実施します。
5.3.1.1.2. Amazon S3 でのオブジェクトストレージの設定

Red Hat は、Automation Hub 用の Amazon Simple Storage Service (S3) をサポートします。AutomationHub カスタムリソース (CR) のデプロイ時に設定するか、既存のインスタンスに対して設定できます。

前提条件

  • オブジェクトを保存するために Amazon S3 バケットを作成します。
  • S3 バケットの名前を書き留めておきます。

手順

  1. AWS 認証情報および接続の詳細、ならびに Amazon S3 バケットの名前を含む Kubernetes シークレットを作成します。以下の例では、test-s3 というシークレットを作成します。

    $ oc -n $HUB_NAMESPACE apply -f- <<EOF
    apiVersion: v1
    kind: Secret
    metadata:
      name: 'test-s3'
    stringData:
      s3-access-key-id: $S3_ACCESS_KEY_ID
      s3-secret-access-key: $S3_SECRET_ACCESS_KEY
      s3-bucket-name: $S3_BUCKET_NAME
      s3-region: $S3_REGION
    EOF
    Copy to Clipboard Toggle word wrap
  2. シークレットを Automation Hub カスタムリソース (CR) spec に追加します。

    spec:
      object_storage_s3_secret: test-s3
    Copy to Clipboard Toggle word wrap
  3. このシークレットを既存のインスタンスに適用している場合は、API Pod を再起動して変更を反映します。<hub-name> はハブインスタンスの名前です。

    $ oc -n $HUB_NAMESPACE delete pod -l app.kubernetes.io/name=<hub-name>-api
    Copy to Clipboard Toggle word wrap
5.3.1.1.3. Azure Blob でのオブジェクトストレージの設定

Red Hat は、Automation Hub 用の Azure Blob Storage をサポートします。AutomationHub カスタムリソース (CR) のデプロイ時に設定するか、既存のインスタンスに対して設定できます。

前提条件

  • オブジェクトを保存するために Azure Storage Blob コンテナーを作成します。
  • Blob コンテナーの名前を書き留めておきます。

手順

  1. Azure アカウントの認証情報および接続の詳細、および Azure Storage blob コンテナーの名前を含む Kubernetes シークレットを作成します。以下の例では、test-azure という名前のシークレットを作成します。

    $ oc -n $HUB_NAMESPACE apply -f- <<EOF
    apiVersion: v1
    kind: Secret
    metadata:
      name: 'test-azure'
    stringData:
      azure-account-name: $AZURE_ACCOUNT_NAME
      azure-account-key: $AZURE_ACCOUNT_KEY
      azure-container: $AZURE_CONTAINER
      azure-container-path: $AZURE_CONTAINER_PATH
      azure-connection-string: $AZURE_CONNECTION_STRING
    EOF
    Copy to Clipboard Toggle word wrap
  2. シークレットを Automation Hub カスタムリソース (CR) spec に追加します。

    spec:
      object_storage_azure_secret: test-azure
    Copy to Clipboard Toggle word wrap
  3. このシークレットを既存のインスタンスに適用している場合は、API Pod を再起動して変更を反映します。<hub-name> はハブインスタンスの名前です。

    $ oc -n $HUB_NAMESPACE delete pod -l app.kubernetes.io/name=<hub-name>-api
    Copy to Clipboard Toggle word wrap
5.3.1.2. Automation Hub Operator ルートオプションの設定

Red Hat Ansible Automation Platform Operator のインストールフォームを使用すると、Advanced configuration で Automation Hub Operator のルートオプションをさらに設定できます。

手順

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

    1. 既存のインスタンスの場合は、⋮ アイコンをクリックして Edit AutomationHub クリックすると、YAML ビューを編集できます。
  6. Advanced configuration をクリックします。
  7. Ingress type でドロップダウンメニューをクリックし、Route を選択します。
  8. Route DNS host で、ルートの応答先となる共通のホスト名を入力します。
  9. Route TLS termination mechanism ドロップダウンメニューをクリックし、Edge または Passthrough を選択します。
  10. Route TLS credential secret で、ドロップダウンメニューをクリックし、一覧からシークレットを選択します。

    注記

    ルートを設定した後、その Automation Hub インスタンスの YAML に route_host: を追加して、ホスト名をカスタマイズできます。

5.3.1.3. Automation Hub Operator の Ingress タイプの設定

Ansible Automation Platform Operator インストールフォームを使用すると、Advanced configuration で Automation Hub Operator の Ingress をさらに設定できます。

手順

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

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

検証

Automation Hub Operator を設定したら、フォームビューの下部にある Create をクリックします。Red Hat OpenShift Container Platform が Pod を作成します。これには数分の時間がかかる場合があります。

WorkloadsPod に移動し、新たに作成されたインスタンスを見つけることで、進捗を表示できます。

Automation Hub から Ansible Automation Platform Operator のインストールによって提供される以下の Operator Pod が実行されていることを確認します。

Expand
Operator マネージャーコントローラーAutomation ControllerAutomation Hub

3 つの各 Operator の Operator マネージャーコントローラーには、以下が含まれます。

  • automation-controller-operator-controller-manager
  • automation-hub-operator-controller-manager
  • resource-operator-controller-manager

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

  • controller
  • controller-postgres

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

  • hub-api
  • hub-content
  • hub-postgres
  • hub-redis
  • hub-worker
注記

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

5.3.2. Automation Hub ルートの確認

Automation Hub には、プラットフォームゲートウェイ経由または次の手順でアクセスできます。

手順

  1. Red Hat OpenShift Container Platform にログインします。
  2. NetworkingRoutes に移動します。
  3. Location で、Automation Hub インスタンスの URL をクリックします。

検証

Automation Hub のユーザーインターフェイスが起動し、Operator の設定プロセス中に指定された管理者の認証情報を使用してサインインできます。

注記

設定中に管理者パスワードを指定しなかった場合は、自動的に作成されます。このパスワードを確認するには、プロジェクトに移動し、WorkloadsSecrets を選択して、controller-admin-password を開きます。そこからパスワードをコピーして、Automation Hub のパスワードフィールドに貼り付けることができます。

5.3.3. Red Hat Ansible Automation Platform Operator に Automation Hub 用の外部データベースを設定する

外部データベースを使用して Ansible Automation Platform をデプロイすることを希望するユーザーは、インスタンスの認証情報と接続情報を使用してシークレットを設定し、oc create コマンドを使用してクラスターに適用するとデプロイできるようになります。

デフォルトでは、Ansible Automation Platform Operator は、Ansible Automation Platform デプロイメントと同じ namespace にマネージド PostgreSQL Pod を自動的に作成および設定します。

専用のノードを使用して専用のリソースを確保する場合や、バックアップ、アップグレード、またはパフォーマンス調整を手動で管理する場合は、代わりに外部データベースを選択できます。

注記

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

次のセクションでは、Ansible Automation Platform Operator に Automation Hub 用の外部データベースを設定する手順を説明します。

前提条件

外部データベースが、Ansible Automation Platform の現在のリリースでサポートされているバージョンの PostgreSQL データベースを指定している。外部の postgres インスタンスのクレデンシャルと接続情報はシークレットに保存する必要があります。シークレットは Automation Hub の仕様に設定されます。

注記

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

手順

  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
    
      sslmode: "prefer" 
    5
    
      type: "unmanaged"
    type: Opaque
    Copy to Clipboard Toggle word wrap
    1. シークレットを作成する namespace。これは、デプロイ先の namespace と同じにする必要があります。
    2. データベースノードの解決可能なホスト名です。
    3. 外部ポートのデフォルトは 5432 です。
    4. 変数 password の値には、デプロイ、バックアップ、または復元中の問題を回避するために、一重引用符 (')、二重引用符 (")、またはバックスラッシュ (\) を含めないでください。
    5. 変数 sslmode は、external データベースに対してのみ有効です。使用できる値は、preferdisableallowrequireverify-ca、および verify-full です。
  2. oc create コマンドを使用して、external-postgres-configuration-secret.yml をクラスターに適用します。

    $ oc create -f external-postgres-configuration-secret.yml
    Copy to Clipboard Toggle word wrap
  3. AutomationHub カスタムリソースオブジェクトを作成するときは、以下の例に従って、仕様にシークレットを指定します。

    apiVersion: automationhub.ansible.com/v1beta1
    kind: AutomationHub
    metadata:
      name: hub-dev
    spec:
      postgres_configuration_secret: external-postgres-configuration
    Copy to Clipboard Toggle word wrap
5.3.3.1. Automation Hub PostgreSQL データベースの hstore 拡張機能の有効化

データベース移行スクリプトは、hstore フィールドを使用して情報を保存します。そのため、Automation Hub PostgreSQL データベースで hstore 拡張機能を有効にする必要があります。

Ansible Automation Platform インストーラーとマネージド PostgreSQL サーバーを使用する場合、このプロセスは自動的に行われます。

PostgreSQL データベースが外部にある場合は、インストール前に、Automation Hub PostgreSQL データベースで hstore 拡張機能を手動で有効にする必要があります。

インストール前に hstore 拡張機能が有効になっていないと、データベースの移行中にエラーが発生します。

手順

  1. 拡張機能が PostgreSQL サーバー (Automation Hub データベース) で利用できるかどうかを確認します。

    $ psql -d <automation hub database> -c "SELECT * FROM pg_available_extensions WHERE name='hstore'"
    Copy to Clipboard Toggle word wrap
  2. <automation hub database> のデフォルト値は automationhub です。

    hstore が利用できる場合の出力例:

    name  | default_version | installed_version |comment
    ------+-----------------+-------------------+---------------------------------------------------
     hstore | 1.7           |                   | data type for storing sets of (key, value) pairs
    (1 row)
    Copy to Clipboard Toggle word wrap

    hstore が利用できない場合の出力例:

     name | default_version | installed_version | comment
    ------+-----------------+-------------------+---------
    (0 rows)
    Copy to Clipboard Toggle word wrap
  3. RHEL ベースのサーバーでは、hstore 拡張機能は postgresql-contrib RPM パッケージに含まれていますが、PostgreSQL サーバー RPM パッケージのインストール時に自動的にインストールされません。

    RPM パッケージをインストールするには、次のコマンドを使用します。

    dnf install postgresql-contrib
    Copy to Clipboard Toggle word wrap
  4. 次のコマンドを使用して、hstore PostgreSQL 拡張機能を Automation Hub データベースにロードします。

    $ psql -d <automation hub database> -c "CREATE EXTENSION hstore;"
    Copy to Clipboard Toggle word wrap

    次の出力では、使用されている hstore 拡張機能が installed_version フィールドに表示されています。これは hstore が有効になっていることを示しています。

    name | default_version | installed_version | comment
    -----+-----------------+-------------------+------------------------------------------------------
    hstore  |     1.7      |       1.7         | data type for storing sets of (key, value) pairs
    (1 row)
    Copy to Clipboard Toggle word wrap

5.3.4. PVC の検索および削除

Persistent Volume Claim (PVC) は、Automation Hub および Automation Controller アプリケーションが使用するデータを保存するために使用されるストレージボリュームです。これらの PVC はアプリケーションから独立しており、アプリケーションが削除されてもそのまま残ります。PVC が不要になるか、これを別の場所でバックアップしている場合には手動で削除できます。

手順

  1. デプロイメント namespace にある既存 PVC をリスト表示します。

    oc get pvc -n <namespace>
    Copy to Clipboard Toggle word wrap
  2. 以前のデプロイメント名と PVC 名を比較して、以前のデプロイメントに関連付けられている PVC を特定します。
  3. 以前の PVC を削除します。

    oc delete pvc -n <namespace> <pvc-name>
    Copy to Clipboard Toggle word wrap

5.3.5. 追加の設定

コレクションのダウンロード数は、コレクションの使用状況を把握するのに役立ちます。コレクションのダウンロード数を Automation Hub に追加するには、次の設定を指定します。

spec:
  pulp_settings:
    ansible_collect_download_count: true
Copy to Clipboard Toggle word wrap

ansible_collect_download_count が有効になっている場合、Automation Hub はコレクションごとにダウンロード数を表示します。

5.3.6. Automation Controller イメージ設定に許可されるレジストリーを追加する

Automation Hub にコンテナーイメージをデプロイする前に、Automation Controller イメージ設定の allowedRegistries にレジストリーを追加する必要があります。これを行うには、次のコードをコピーして、Automation Controller イメージの YAML に貼り付けます。

手順

  1. Red Hat OpenShift Container Platform にログインします。
  2. HomeSearch に移動します。
  3. Resources ドロップダウンリストを選択し、"Image" と入力します。
  4. Image (config,openshift.io/v1) を選択します。
  5. Name という見出しの下の Cluster をクリックします。
  6. YAML タブを選択します。
  7. spec 値の下に以下を貼り付けます。

    spec:
      registrySources:
        allowedRegistries:
        - quay.io
        - registry.redhat.io
        - image-registry.openshift-image-registry.svc:5000
        - <OCP route for your automation hub>
    Copy to Clipboard Toggle word wrap
  8. Save をクリックします。

5.3.7. Ansible Automation Platform Hub Operator のコンテンツ署名の設定

組織の自動化管理者は、組織内のさまざまなグループの Ansible コンテンツコレクションに署名して公開するように Ansible Automation Platform Hub Operator を設定できます。

セキュリティーを強化するために、自動化作成者は Ansible-Galaxy CLI を設定してこのコレクションを検証し、Automation Hub へのアップロード後に変更されていないことを確認できます。

Ansible Certified Content Collections に正常に署名して公開するには、署名する Private Automation Hub を設定する必要があります。

前提条件

  • GPG キーペア。ない場合は、gpg --full-generate-key コマンドを使用して生成できます。
  • 公開鍵と秘密鍵のペアには、Ansible Automation Platform Hub Operator でコンテンツ署名を設定するための適切なアクセス権があります。

手順

  1. 署名スクリプト用の ConfigMap を作成します。作成する ConfigMap には、コレクションおよびコンテナーイメージの署名サービスで使用されるスクリプトが含まれます。

    注記

    このスクリプトは署名サービスの一部として使用され、PULP_SIGNING_KEY_FINGERPRINT 環境変数で指定されたキーを使用し、そのファイルに対する ASCII アーマー形式の分離型 gpg 署名を生成する必要があります。

    スクリプトは、次の形式で JSON 構造を出力します。

    {"file": "filename", "signature": "filename.asc"}
    Copy to Clipboard Toggle word wrap

    すべてのファイル名は、現在の作業ディレクトリー内の相対パスです。ファイル名は、デタッチ署名でも同じにする必要があります。

    例: 次のスクリプトはコンテンツの署名を生成します。

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: signing-scripts
    data:
      collection_sign.sh: |-
          #!/usr/bin/env bash
    
          FILE_PATH=$1
          SIGNATURE_PATH=$1.asc
    
          ADMIN_ID="$PULP_SIGNING_KEY_FINGERPRINT"
          PASSWORD="password"
    
          # Create a detached signature
          gpg --quiet --batch --pinentry-mode loopback --yes --passphrase \
            $PASSWORD --homedir /var/lib/pulp/.gnupg --detach-sign --default-key $ADMIN_ID \
            --armor --output $SIGNATURE_PATH $FILE_PATH
    
          # Check the exit status
          STATUS=$?
          if [ $STATUS -eq 0 ]; then
            echo {\"file\": \"$FILE_PATH\", \"signature\": \"$SIGNATURE_PATH\"}
          else
            exit $STATUS
          fi
      container_sign.sh: |-
        #!/usr/bin/env bash
    
        # galaxy_container SigningService will pass the next 4 variables to the script.
        MANIFEST_PATH=$1
        FINGERPRINT="$PULP_SIGNING_KEY_FINGERPRINT"
        IMAGE_REFERENCE="$REFERENCE"
        SIGNATURE_PATH="$SIG_PATH"
    
        # Create container signature using skopeo
        skopeo standalone-sign \
          $MANIFEST_PATH \
          $IMAGE_REFERENCE \
          $FINGERPRINT \
          --output $SIGNATURE_PATH
    
        # Optionally pass the passphrase to the key if password protected.
        # --passphrase-file /path/to/key_password.txt
    
        # Check the exit status
        STATUS=$?
        if [ $STATUS -eq 0 ]; then
          echo {\"signature_path\": \"$SIGNATURE_PATH\"}
        else
          exit $STATUS
        fi
    Copy to Clipboard Toggle word wrap
  2. GnuPG 秘密鍵のシークレットを作成します。このシークレットには、署名に使用する GnuPG 秘密鍵がセキュアに保存されます。

    gpg --export --armor <your-gpg-key-id> > signing_service.gpg
    
    oc create secret generic signing-galaxy --from-file=signing_service.gpg
    Copy to Clipboard Toggle word wrap

    シークレットには signing_service.gpg という名前のキーが必要です。

  3. AnsibleAutomationPlatform CR を設定します。

    apiVersion: aap.ansible.com/v1alpha1
    kind: AnsibleAutomationPlatform
    metadata:
      name: aap-hub-signing-sample
    spec:
      hub:
        signing_secret: "signing-galaxy"
        signing_scripts_configmap: "signing-scripts"
    Copy to Clipboard Toggle word wrap

5.4. Red Hat Ansible Automation Platform Operator への Redis のデプロイ

Ansible Automation Platform Operator を通じて Ansible Automation Platform インスタンスを作成すると、デフォルトでスタンドアロンの Redis が割り当てられます。クラスター化された Redis をデプロイする場合は、次の手順に従います。

Redis の詳細は、インストール計画 ガイドの「キャッシュおよびキューイングシステム」を参照してください。

重要

既存のインスタンスでの Redis モードの切り替えはサポートされておらず、データ損失などの予期しない結果につながる可能性があります。Redis モードを変更するには、新しいインスタンスをデプロイする必要があります。

前提条件

  • Ansible Automation Platform Operator デプロイメントをインストールした。

手順

  1. Red Hat OpenShift Container Platform にログインします。
  2. OperatorsInstalled Operators に移動します。
  3. Ansible Automation Platform Operator のデプロイメントを選択します。
  4. Details タブを選択します。
  5. Ansible Automation Platform タイルで、Create instance をクリックします。

    1. 既存のインスタンスの場合は、⋮ アイコンをクリックして Edit AnsibleAutomationPlatform クリックすると、YAML ビューを編集できます。
    2. redis_mode の値を "cluster" に変更します。
    3. Reload をクリックし、Save をクリックします。
  6. Advanced configuration をクリックして展開します。
  7. Redis Mode リストで、Cluster を選択します。
  8. 必要に応じてインスタンスの他の項目を設定し、Create をクリックします。

検証

デフォルトで 6 つの Redis レプリカを持つクラスター Redis とともにインスタンスがデプロイされます。

注記

Automation Hub のデフォルトの Redis キャッシュ PVC ボリュームサイズを変更できます。詳細は、Modifying the default redis cache PVC volume size automation hub を参照してください。

第6章 OpenShift Container Platform への Ansible Lightspeed インテリジェントアシスタントのデプロイ

システム管理者は、OpenShift Container Platform 上の Ansible Automation Platform 2.5 に Ansible Lightspeed インテリジェントアシスタントをデプロイできます。

6.1. 概要

Ansible Lightspeed インテリジェントアシスタントは、OpenShift Container Platform 上の Ansible Automation Platform 2.5 でテクノロジープレビューリリースとして利用できます。これは、Ansible Automation Platform に組み込まれた直感的なチャットインターフェイスです。生成人工知能 (AI) を利用して Ansible Automation Platform に関する質問に答えます。

Ansible Lightspeed インテリジェントアシスタントは、英語の自然言語プロンプトでユーザーと対話し、大規模言語モデル (LLM) を使用して、迅速で正確かつパーソナライズされた応答を生成します。この応答により、Ansible ユーザーがより効率的に作業できるようになるため、生産性と作業の全体的な品質が向上します。

Ansible Lightspeed インテリジェントアシスタントには次の設定が必要です。

  • Red Hat OpenShift Container Platform への Ansible Automation Platform 2.5 のインストール
  • Red Hat の AI プラットフォームまたはサードパーティーの AI プラットフォームによって提供される LLM のデプロイ。使用できる LLM プロバイダーを確認するには、LLM プロバイダー を参照してください。
重要
  • Red Hat は、Ansible Lightspeed インテリジェントアシスタントとの対話からテレメトリーデータを収集しません。
  • Ansible Lightspeed インテリジェントアシスタントは、テクノロジープレビュー機能としてのみ利用できます。

    テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。

    Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

6.2. Ansible Automation Platform 2.5 の要件

  • OpenShift Container Platform 環境に Ansible Automation Platform 2.5 をインストールした。
  • Ansible Automation Platform の管理者特権を持っている。
  • Operator Lifecycle Management がインストールされた OpenShift クラスターをプロビジョニングした。

6.3. 大規模言語モデル (LLM) プロバイダーの要件

Ansible Lightspeed インテリジェントアシスタントをデプロイする前に、使用する LLM プロバイダーを設定しておく必要があります。

LLM は、人間のような言語を解釈および生成できる機械学習モデルの一種です。LLM を Ansible Lightspeed インテリジェントアシスタントと併用すると、LLM は質問を正確に解釈し、有益な回答を会話形式で提供できます。

テクノロジープレビューリリースの Ansible Lightspeed インテリジェントアシスタントでは、次の Software as a Service (SaaS) LLM プロバイダーを利用できます。

Red Hat LLM プロバイダー

  • Red Hat Enterprise Linux AI

    Red Hat Enterprise Linux AI は、OpenAI API と互換性があり、OpenAI プロバイダーと同様の方法で設定されます。Red Hat Enterprise Linux AI を LLM プロバイダーとして設定できます。詳細は、Red Hat Enterprise Linux AI 製品ページを参照してください。

  • Red Hat OpenShift AI

    Red Hat OpenShift AI は、OpenAI API と互換性があり、OpenAI プロバイダーと同様の方法で設定されます。Red Hat OpenShift AI を LLM プロバイダーとして設定できます。詳細は、Red Hat OpenShift AI 製品ページを参照してください。

注記

Red Hat Enterprise Linux AI または Red Hat OpenShift AI を使用した設定の場合、SaaS LLM プロバイダーを使用するのではなく、独自の LLM プロバイダーをホストする必要があります。

サードパーティーの LLM プロバイダー

  • IBM watsonx.ai

    Ansible Lightspeed インテリジェントアシスタントで IBM watsonx を使用するには、IBM watsonx.ai のアカウントが必要です。

  • OpenAI

    Ansible Lightspeed インテリジェントアシスタントで OpenAI を使用するには、OpenAI API プラットフォーム へのアクセスが必要です。

  • Microsoft Azure OpenAI

    Ansible Lightspeed インテリジェントアシスタントで Microsoft Azure を使用するには、Microsoft Azure OpenAI へのアクセスが必要です。

    注記

    多くの自己ホスト型または自己管理型のモデルサーバーが、OpenAI との API 互換性を謳っています。Ansible Lightspeed インテリジェントアシスタントの OpenAI プロバイダーを、API 互換のモデルサーバーを参照するように設定することは可能です。そのモデルサーバーが、特に認証の点で実際に API 互換であるならば、動作する可能性があります。これらの設定は Red Hat がテストしておらず、その使用に関連する問題はテクノロジープレビューサポートの範囲外です。

6.4. Ansible Lightspeed インテリジェントアシスタントの設定と使用のプロセス

OpenShift Container Platform 環境の Ansible Automation Platform インスタンスで Ansible Lightspeed インテリジェントアシスタントを設定して使用するには、次のタスクを実行します。

Expand
タスク説明

OpenShift Container Platform に Ansible Lightspeed インテリジェントアシスタントをデプロイする

組織内のすべての Ansible ユーザーを対象に Ansible Lightspeed インテリジェントアシスタントをデプロイする Ansible Automation Platform 管理者。

次のタスクを実行します。

Ansible Lightspeed インテリジェントアシスタントにアクセスして使用する

インテリジェントアシスタントを使用して Ansible Automation Platform に関する疑問を解決したいと考えているすべての Ansible ユーザー。詳細は、Ansible Lightspeed インテリジェントアシスタントの使用 を参照してください。

6.5. Ansible Lightspeed インテリジェントアシスタントのデプロイ

このセクションでは、OpenShift Container Platform に Ansible Lightspeed インテリジェントアシスタントをデプロイする際に必要な手順を説明します。

6.5.1. チャットボット設定シークレットの作成

Ansible Lightspeed インテリジェントアシスタントを Ansible Automation Platform Operator に接続できるように、インテリジェントアシスタントの設定シークレットを作成します。

手順

  1. Red Hat OpenShift Container Platform に管理者としてログインします。
  2. WorkloadsSecrets に移動します。
  3. Projects リストから、Ansible Automation Platform Operator をインストールしたときに作成した namespace を選択します。
  4. CreateKey/value secret をクリックします。
  5. Secret name フィールドに、シークレットの一意の名前を入力します。たとえば、chatbot-configuration-secret です。
  6. 次のキーと、キーに関連付ける値を個別に追加します。

    Expand
    キー

    すべての LLM セットアップの設定

    chatbot_model

    お使いの LLM セットアップで設定されている LLM モデル名を入力します。

    chatbot_url

    お使いの LLM セットアップの推論 API ベース URL を入力します。たとえば、https://your_inference_api/v1 です。

    chatbot_token

    API トークンまたは API キーを入力します。このトークンは、推論 API が呼び出されたときに、認証ヘッダーとともに送信されます。

    chatbot_llm_provider_type

    任意

    次のいずれかの値を使用して、お使いの LLM セットアップのプロバイダータイプを入力します。

    • Red Hat Enterprise Linux AI: rhelai_vllm
    • Red Hat OpenShift AI: rhoai_vllm (デフォルト値)
    • IBM watsonx.ai: watsonx
    • OpenAI: openai
    • Microsoft Azure OpenAI: azure_openai

    chatbot_context_window_size

    任意

    LLM セットアップのコンテキストウィンドウの長さを設定するには、値を入力します。

    デフォルト= 128000

    chatbot_temperature_override

    任意

    Temperature が低いと、予測可能な結果が生成されます。Temperature が高いと、より多様で創造的な回答が可能になります。

    以下の値のいずれかを入力します。

    • 0: 回答の創造性とランダム性が最も低い。
    • 1: 回答の創造性とランダム性が最も高い。
    • null: デフォルトの Temperature 設定をオーバーライドまたは無効にします。

      注記

      一部の OpenAI o シリーズモデル (o1、o3-mini、および o4-mini モデル) では、Temperature 設定がサポートされていません。したがって、これらの OpenAI モデルを使用するには、値を null に設定する必要があります。

    IBM watsonx.ai のみの追加設定

    chatbot_llm_provider_project_id

    IBM watsonx セットアップのプロジェクト ID を入力します。

    Microsoft Azure OpenAI のみの追加設定

    chatbot_azure_deployment_name

    Microsoft Azure OpenAI セットアップのデプロイメント名を入力します。

    chatbot_azure_api_version

    任意

    Microsoft Azure OpenAI セットアップの API バージョンを入力します。

  7. Create をクリックします。チャットボットの認可シークレットが正常に作成されます。

6.5.2. Ansible Automation Platform Operator の YAML ファイルの更新

チャットボットの認可シークレットを作成したら、そのシークレットを使用するように Ansible Automation Platform Operator の YAML ファイルを更新する必要があります。

手順

  1. Red Hat OpenShift Container Platform に管理者としてログインします。
  2. OperatorsInstalled Operators に移動します。
  3. インストールされている Operator のリストから、Ansible Automation Platform Operator を選択します。
  4. Ansible Automation Platform カスタムリソースを見つけて選択し、必要なアプリケーションをクリックします。
  5. YAML タブを選択します。
  6. テキストをスクロールして spec: セクションを見つけ、spec: セクションの下に次の詳細を追加します。

    spec:
      lightspeed:
        disabled: false
        chatbot_config_secret_name: <name of your chatbot configuration secret>
    Copy to Clipboard Toggle word wrap
  7. Save をクリックします。Ansible Lightspeed インテリジェントアシスタントサービスのセットアップには数分かかります。

検証

  1. チャットインターフェイスサービスが正常に実行されていることを確認します。

    1. WorkloadsPods に移動します。
    2. api という用語でフィルタリングし、次の API に Running ステータスが表示されていることを確認します。

      • myaap-lightspeed-api-<version number>
      • myaap-lightspeed-chatbot-api-<version number>
  2. Ansible Automation Platform にチャットインターフェイスが表示されることを確認します。

    1. Ansible Automation Platform にアクセスします。

      1. OperatorsInstalled Operators に移動します。
      2. インストールされている Operator のリストから、Ansible Automation Platform をクリックします。
      3. Ansible Automation Platform カスタムリソースを見つけて選択し、作成したアプリケーションをクリックします。
      4. Details タブで、次のフィールドに利用可能な情報を記録します。

        • URL: これは Ansible Automation Platform インスタンスの URL です。
        • Gateway Admin User: これは、Ansible Automation Platform インスタンスにログインするためのユーザー名です。
        • Gateway Admin password: これは、Ansible Automation Platform インスタンスにログインするためのパスワードです。
      5. 先ほど記録した URL、ユーザー名、パスワードを使用して、Ansible Automation Platform にログインします。
    2. Ansible Lightspeed インテリジェントアシスタントにアクセスします。

      1. タスクバーの右上隅に表示される Ansible Lightspeed インテリジェントアシスタントのアイコン Ansible Lightspeed intelligent assistant icon をクリックします。
      2. 次の画像のようにチャットインターフェイスが表示されることを確認します。

        Ansible Lightspeed intelligent assistant .

6.6. Ansible Lightspeed インテリジェントアシスタントの使用

Ansible Lightspeed インテリジェントアシスタントをデプロイすると、組織内のすべての Ansible ユーザーが、チャットインターフェイスにアクセスして使用し、Ansible Automation Platform に関する質問をして情報を得られるようになります。

6.6.1. Ansible Lightspeed インテリジェントアシスタントへのアクセス

  1. Ansible Automation Platform にログインします。
  2. タスクバーの右上隅に表示される Ansible Lightspeed インテリジェントアシスタントのアイコン Ansible Lightspeed intelligent assistant icon をクリックします。

    次の画像のように、Ansible Lightspeed インテリジェントアシスタントウィンドウが開き、ウェルカムメッセージが表示されます。

    Ansible Lightspeed intelligent assistant

6.6.2. Ansible Lightspeed インテリジェントアシスタントの使用

以下のタスクを実行します。

  • プロンプトフィールドで Ansible Automation Platform に関する質問をして回答を得る
  • チャットセッション内のすべての会話のチャット履歴を表示する
  • ユーザープロンプトまたは回答を使用してチャット履歴を検索する

    既存のチャットセッションを閉じるか、Ansible Automation Platform からログアウトすると、チャット履歴は削除されます。

  • チャット履歴から関連するエントリーをクリックして、以前のチャットを復元する
  • 高評価 または 低評価 アイコンをクリックして、チャットの回答の品質に関するフィードバックを提供する
  • コピー アイコンをクリックして、回答をコピーして記録する
  • ツールバーの右上隅にある 太陽 のアイコン Sun icon をクリックして、仮想アシスタントのモードをダークモードまたはライトモードに変更する
  • チャット履歴の 新しいチャット ボタンを使用して、既存のチャットのコンテキストをクリアする
  • Ansible Automation Platform での作業中にチャットインターフェイスを閉じる

第7章 Red Hat Ansible Automation Platform Operator のデプロイメントのスケールダウン

idle_aap 変数を使用すると、すべての Ansible Automation Platform デプロイメントと StatefulSet をスケールダウンできます。これは、アップグレード、移行、障害復旧などを行う場合に役立ちます。

手順

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

    idle_aap: true
    Copy to Clipboard Toggle word wrap
  7. Save をクリックします。

次のステップ

idle_aap 値を true に設定すると、すべてのアクティブなデプロイメントがスケールダウンされます。値を false に設定すると、デプロイメントがスケールアップされて元に戻ります。

第8章 Red Hat Ansible Automation Platform から Red Hat Ansible Automation Platform Operator への移行

Red Hat Ansible Automation Platform デプロイメントを Ansible Automation Platform Operator に移行すると、Kubernetes ネイティブ Operator が提供する利点を活用できます。これには、Red Hat Ansible Automation Platform デプロイメントの簡単なアップグレードや完全なライフサイクルサポートが含まれます。

移行の際には、Ansible Automation Platform 移行 ガイドが役立ちます。

注記

Event-Driven Ansible バージョン 2.4 から 2.5 へのアップグレードはサポートされていません。Event-Driven Ansible 2.4 と Event-Driven Ansible 2.5 間のデータベース移行には互換性がありません。

第9章 Red Hat OpenShift Container Platform 上の Red Hat Ansible Automation Platform Operator のアップグレード

Ansible Automation Platform Operator は、OpenShift Container Platform 環境での新しい Red Hat Ansible Automation Platform インスタンスのインストール、アップグレード、およびデプロイメントを簡素化します。

9.1. 概要

このドキュメントは、Red Hat OpenShift Container Platform 上の Ansible Automation Platform バージョン 2.4 および 2.5 を 2.6 にアップグレードする際に役立ちます。このドキュメントは、Ansible Automation Platform 2.5 から 2.5 以降のバージョンへのアップグレードに適用されます。

Ansible Automation Platform Operator は、Automation Controller と Automation Hub のデプロイ、アップグレード、バックアップ、および復元を管理します。また、Ansible Automation Platform Resource Operator からの AnsibleJob および JobTemplate リソースのデプロイも処理します。

各 Operator バージョンに、デフォルトの Automation Controller と Automation Hub のバージョンがあります。Operator がアップグレードされると、仕様でオーバーライドされない限り、Operator が管理する Automation Controller と Automation Hub デプロイメントもアップグレードされます。

Ansible Automation Platform の OpenShift デプロイメントでは、組み込みの Operator Lifecycle Management (OLM) 機能が使用されます。詳細は、Operator Lifecycle Manager の概念およびリソース を参照してください。OpenShift は、Subscription、CSV、InstallPlan、および OperatorGroup オブジェクトを使用してアップグレードを実行します。ほとんどのユーザーはこれらのリソースを直接操作する必要はありません。これらのリソースは、Ansible Automation Platform Operator が OperatorHub からインストールされるときに作成され、OpenShift コンソール UI の Subscriptions タブを通じて管理されます。詳細は、Web コンソールへのアクセス を参照してください。

Subscription tab

9.2. アップグレードに関する考慮事項

バージョン 2.4 からアップグレードする場合は、Ansible Automation Platform Operator のアップグレード に進んでください。

アップグレード先の Red Hat Ansible Automation Platform バージョンでサポートされていない OpenShift Container Platform バージョンを使用している場合は、まず OpenShift Container Platform クラスターをサポートされているバージョンにアップグレードする必要があります。

必要な OpenShift Container Platform のバージョンを判断するには、Red Hat Ansible Automation Platform のライフサイクル を参照してください。

クラスターのアップグレードに関する詳細は、クラスターの更新 を参照してください。

9.3. 前提条件

新しいバージョンの Ansible Automation Platform Operator にアップグレードするには、次の手順を実行する必要があります。

  • システムが、テスト済みのデプロイメントモデル ガイドの Operator トポロジー セクションに記載されているシステム要件を満たしていることを確認します。
  • AutomationControllerBackup および AutomationHubBackup オブジェクトを作成します。これに関するヘルプは、Operator 環境のバックアップとリカバリー を参照してください。
  • アップグレード先の新しい Ansible Automation Platform バージョンと中間バージョンの リリースノート を確認してください。
  • 実行するアップグレードの種類を決定します。詳細は、チャネルアップグレード セクションを参照してください。

9.4. チャネルアップグレード

Ansible Automation Platform 2.4 からバージョン 2.5 にアップグレードするには、“チャネル” から更新を取得する必要があります。チャネルとは、更新にアクセスできる場所のことです。現在、これは OpenShift コンソール UI にあります。

Update channel

9.4.1. チャネル内アップグレード

ほとんどのアップグレードは、次のようにチャネル内で行われます。

  1. 新しい更新が、redhat-operator CatalogSource を通じてマーケットプレイスで利用可能になります。
  2. システムによって、お使いの Ansible Automation Platform サブスクリプション用の新しい InstallPlan が自動的に作成されます。

    • Manual に設定されている場合、InstallPlan を OpenShift UI で手動で承認する必要があります。
    • Automatic に設定されている場合、新しいバージョンが利用可能になるとすぐにアップグレードされます。

      注記

      手動インストールストラテジーは、インストールまたはアップグレード中に、Ansible Automation Platform Operator のサブスクリプションに設定してください。選択した更新チャネルでアップグレードが利用可能になると、アップグレードを承認するように求められます。各 X.Y リリースの stable チャネル (stable-2.5 など) が利用可能です。

  3. 新しいサブスクリプション、CSV、および Operator コンテナーが、古いものとともに作成されます。インストールが成功すると、古いリソースはクリーンアップされます。

9.4.2. チャネル間アップグレード

X.Y チャネル間のアップグレードは、必ず手動で意図的に実行するものです。Operator Catalog に、メジャーバージョンとマイナーバージョンの stable チャネルがあります。現在はバージョン 2.x のみ利用可能で、チャネル数が限られています。最新のパッチのために、最新のマイナーバージョンチャネルを使用することを推奨します。

サブスクリプションが手動アップグレードに設定されている場合、UI でアップグレードを承認する必要があります。承認すると、システムによって、そのチャネル内の Operator が最新バージョンにアップグレードされます。

注記

手動インストールストラテジーは、インストールまたはアップグレード中に、Ansible Automation Platform Operator サブスクリプションに設定することを推奨します。選択した更新チャネルでアップグレードが利用可能になると、アップグレードを承認するように求められます。各 X.Y リリースの stable チャネル (stable-2.5 など) が利用可能です。

最新チャネルで提供されるコンテナーは、OS のアップグレードや重要な修正のために定期的に更新されます。これにより、お客様は重要なパッチや CVE 修正を速やかに受け取ることができます。大きな変更と新機能は、マイナーリリースとメジャーリリースまで提供されません。

各メジャーバージョンチャネルまたはマイナーバージョンチャネルには、対応する "クラスタースコープ" のチャネルが用意されています。クラスタースコープのチャネルは、すべての namespace を管理できる Operator をデプロイします。クラスタースコープ以外のチャネルは、それぞれの namespace 内のリソースのみを管理できます。

重要

クラスタースコープのバンドルは、namespace スコープのバンドルと互換性がありません。通常のチャネル (stable-2.4 など) とクラスタースコープのチャネル (stable-2.4-cluster-scoped) を切り替えることはサポートされていないため、行わないでください。

9.5. Ansible Automation Platform Operator のアップグレード

OpenShift Container Platform 上の Ansible Automation Platform Operator を最新バージョンにアップグレードするには、次の手順を使用します。

注記

バージョン 2.4 を使用している場合は、2.5 をスキップして、バージョン 2.6 に直接アップグレードすることが推奨されます。

2.4 から 2.5 にアップグレードした場合は、従来のオーセンティケーター機能が削除されているため、2.6 にアップグレードする前に認証方法とユーザーを移行する必要があります。

前提条件

重要

Event-Driven Ansible 2.4 からのアップグレードはサポートされていません。実稼働環境で Event-Driven Ansible 2.4 を使用している場合は、アップグレードする前に Red Hat にお問い合わせください。

手順

  1. OpenShift Container Platform にログインします。
  2. OperatorsInstalled Operators に移動します。
  3. プロジェクトの namespace にインストールされている Ansible Automation Platform Operator を選択します。
  4. Subscriptions タブを選択します。
  5. チャネルを stable-2.4 から stable-2.5 に変更します。ユーザー用の InstallPlan が作成されます。
  6. Preview InstallPlan をクリックします。
  7. Approve をクリックします。
  8. Ansible Automation Platform UI を使用してカスタムリソース (CR) を作成します。Automation Controller と Automation Hub の UI は、プラットフォームゲートウェイ UI ですべての SSO 設定がサポートされるまで残ります。

9.6. Ansible Automation Platform のカスタムリソースの作成

OpenShift Container Platform で Ansible Automation Platform Operator を最新バージョンにアップグレードした後、既存のデプロイメントの名前を指定した Ansible Automation Platform カスタムリソース (CR) を、同じ namespace に作成できます。

次の例では、既存の Automation Controller と Automation Hub デプロイメントがすでに配置されている状態で、最新バージョンにアップグレードした後、新しい Event-Driven Ansible セットアップをデプロイする手順の概要を示します。

付録 に、さまざまなデプロイメント向けの Ansible Automation Platform CR の例がさらに記載されています。

手順

  1. Red Hat OpenShift Container Platform にログインします。
  2. OperatorsInstalled Operators に移動します。
  3. Ansible Automation Platform Operator のデプロイメントを選択します。
  4. Details タブを選択します。
  5. Ansible Automation Platform タイルで、Create instance をクリックします。
  6. Create Ansible Automation Platform ページで、Name フィールドにインスタンスの名前を入力します。
  7. YAML view をクリックし、次の YAML (aap-existing-controller-and-hub-new-eda.yml) を貼り付けます。

    ---
    apiVersion: aap.ansible.com/v1alpha1
    kind: AnsibleAutomationPlatform
    metadata:
      name: myaap
    spec:
      # Development purposes only
      no_log: false
    
      controller:
        name: existing-controller #obtain name from controller CR
        disabled: false
    
      eda:
        disabled: false
    
      hub:
        name: existing-hub
        disabled: false
    Copy to Clipboard Toggle word wrap
  8. Create をクリックします。

    注記

    YAML 仕様で優先イメージを指定することにより、Automation Controller、Automation Hub、または platform-resource アプリケーションイメージ用の Operator のデフォルトイメージをオーバーライドできます。これにより、Operator を更新せずに、コントローラーなどの特定のデプロイメントをアップグレードできます。

    ただし、推奨される方法は、Operator をアップグレードし、デフォルトイメージの値を使用することです。

    検証

    Ansible Automation Platform Operator のデプロイメントに移動し、All instances をクリックして、すべてのインスタンスが正しくデプロイされているかどうかを確認します。ここに、Ansible Automation Platform インスタンスと、デプロイされた AutomationControllerEDA、および AutomationHub インスタンスが表示されるはずです。

または、コマンドラインで oc get route を実行して、すべてのインスタンスが正しくデプロイされているかどうかを確認することもできます。

9.7. Ansible Automation Platform のアップグレード後の手順

Ansible Automation Platform 2.5 へのアップグレードが成功したら、次の重要なステップは、ユーザーをプラットフォームの最新バージョンに移行することです。

Automation Controller と Private Automation Hub からのユーザーデータとレガシー認証設定は、アップグレードプロセス中に引き継がれます。これにより、アップグレード後にプラットフォームへのシームレスな初期アクセスが可能になります。お客様は追加の操作なしでログインできます。

ただし、認証を完全に移行して 2.5 プラットフォームゲートウェイのすべての機能を使用するには、アップグレード後に新しい認証フレームワークを活用するための手動プロセスが必要です。Ansible Automation Platform 2.5 へのアップグレードの文脈では、この手動プロセスは 移行 と呼ばれます。

以下を含むユーザー移行タイプごとに、重要な注記と考慮事項があります。

  • 管理者ユーザー
  • 通常ユーザー
  • SSO ユーザー
  • LDAP ユーザー

移行プロセスをできるだけスムーズに進めるために、各ユーザータイプごとに強調表示されている重要な注記を必ずお読みください。

9.7.1. 管理者ユーザーの移行に関する重要な考慮事項

Ansible Automation Platform 2.4 から 2.5 にアップグレードすると、各コンポーネントの管理者を、既存のコンポーネントレベルの管理者権限を保ったまま管理者を移行できます。ただし、アップグレードプロセス中にプラットフォームゲートウェイ管理者への権限昇格は自動的に行われません。これにより、組織の特定のニーズに合わせてカスタマイズできる安全な権限昇格プロセスが提供されます。

コンポーネントレベルの管理者権限は保持されます: Automation Controller と Automation Hub の管理者は、アップグレード後もそれぞれのサービスに対する既存の管理者権限を保持します。たとえば、Automation Controller の管理者は、Automation Controller リソースに対する完全な管理権限を引き続き保持します。

プラットフォームゲートウェイ管理者へのエスカレーションは、アップグレード後に手動で設定する必要があります。 アップグレードプロセス中、個々のサービスの管理者権限は、プラットフォーム管理者権限に自動的に変換されません。プラットフォーム管理者は、アップグレードおよび移行の後でプラットフォームゲートウェイ管理者へのエスカレーションを許可する必要があります。各サービス管理者は、アクセスが変更されるまで、アクセスの元のスコープを保持します。

プラットフォーム管理者は、Ansible Automation Platform Administrator チェックボックスを選択すると、ユーザーの権限昇格を実行できるようになります。特権を昇格できるのはプラットフォーム管理者のみです。

注記

以前に Automation Controller 管理者または Automation Hub 管理者として指定されたユーザーには、ユーザーリストビューの User type 列に Normal というラベルが付けられます。これは正しくありません。アカウントを編集すると、これらのユーザーが実際にはサービスレベル管理者権限を保持していることを確認できます。

9.7.2. 管理者ユーザーの移行

管理者ユーザーを移行するには、次の手順に従います。

前提条件

  • 現行デプロイメントにおける各サービスの現在の管理者ロールを確認する。
  • アップグレード後にプラットフォームゲートウェイの管理者権限を必要とするユーザーを確認する。

手順

  1. プラットフォームゲートウェイのナビゲーションパネルで、Access ManagementUsers を選択します。
  2. 変更するユーザーのチェックボックスをオンにします。
  3. 鉛筆アイコンをクリックし、Edit user を選択します。
  4. ユーザー編集ページが表示され、User type チェックボックスで割り当てられたサービスレベル管理者権限を確認できます。ユーザータイプの詳細は、ユーザーの編集 を参照してください。

9.7.3. 通常ユーザーの移行に関する重要な考慮事項

以前のサービスアカウントには接頭辞が付けられます: 2.4 で複数のサービスにアカウントを持つユーザーは、2.5 の個別ユーザーとして移行され、移行元のサービスを識別するための接頭辞が付けられます。たとえば、Automation Hub アカウントには hub_<username> という接頭辞が付きます。Automation Controller ユーザー名に接頭辞は含まれません。

Automation Controller ユーザーアカウントが優先されます: 1 つのユーザーが 2.4 で複数のサービスにアカウントを持っている場合、移行時に Automation Controller アカウントが優先されるため、名前は変更されません。

コンポーネントレベルのロールは、ユーザーの移行が完了するまで保持されます。 ユーザーが既存のサービスアカウントを使用してログインし、アカウントリンクプロセスを実行しない場合は、その特定のサービスアカウントのロールのみが使用可能になります。ユーザーがアカウントリンクプロセスを実行すると、移行プロセスが完了します。その時点で、すべてのサービスのすべてのロールが新しいプラットフォームゲートウェイのユーザーアカウントに移行されます。

9.7.4. 通常ユーザーの移行

Ansible Automation Platform 2.4 から 2.5 にアップグレードすると、既存のユーザーアカウントは単一のプラットフォームアカウントに自動的に移行されます。ただし、複数のコンポーネントアカウント (Automation Controller、Private Automation Hub、Event-Driven Ansible など) がある場合は、プラットフォームの一元化機能を使用するために、アカウントをリンクする必要があります。

9.7.4.2. アカウントのリンク

Ansible Automation Platform 2.5 では、ユーザー、チーム、組織が一元的な場所からプラットフォームのサービスと機能にアクセスできます。

Ansible Automation Platform 2.5 に初めてログインすると、既存のサービスが検索され、ユーザーが入力した認証情報を持つユーザーアカウントが特定されます。既存のアカウントと一致すると、そのアカウントは登録され、プラットフォームによって一元管理されるようになります。システム内のそれ以降のコンポーネントアカウントは、孤立してプラットフォームへのログインに使用できなくなります。

この問題を解決するには、アカウントリンク手順を使用して、既存のコンポーネントアカウントから認証し、プラットフォームによって引き続き認識されるようにします。アカウントをリンクすると、既存のコンポーネントアカウントが同じユーザープロファイルに関連付けられます。

アップグレードプロセスが完了し、従来の Ansible Automation Platform サブスクリプションをお持ちの場合は、以下のアカウントリンク手順に従って、アカウントを Ansible Automation Platform 2.5 に移行します。

前提条件

  • アップグレードプロセスが完了し、従来の Ansible Automation Platform アカウントと認証情報を取得した。

手順

  1. Ansible Automation Platform のログインページに移動します。
  2. ログインモーダルで、お持ちの認証情報に応じて、I have an automation controller account または I have an automation hub account を選択します。
  3. 次の画面で、選択したコンポーネントアカウントの従来の認証情報を入力し、Log in をクリックします。

    注記

    OIDC 認証情報を使用してログインしている場合は、How to fix broken OIDC redirect after upgrading to AAP 2.5 を参照してください。

  4. アカウントのリンクに成功すると、次の画面にユーザー名とその横に緑色のチェックマークが表示されます。リンクする必要がある従来のアカウントが他にもある場合は、そのアカウントの認証情報を入力し、Link をクリックして、一元化されたプラットフォームゲートウェイのアカウントにリンクします。
  5. Submit をクリックして、従来のアカウントのリンクを完了します。
  6. アカウントをリンクした後、認証方法に応じて、新しいユーザー名とパスワードを作成するように求められる場合があります。これらの認証情報によって、各コンポーネントアカウントの従来の認証情報が置き換えられます。

    • 以下の手順に従って、従来のアカウントを手動でリンクすることもできます。
  7. 画面右上のユーザーアイコンを選択し、User details を選択します。
  8. More Actions アイコン > Link user accounts を選択します。
  9. リンクするアカウントの認証情報を入力します。

トラブルシューティング

アカウントを認証できなかったというエラーメッセージが表示された場合は、プラットフォーム管理者に問い合わせてください。

注記

Ansible Automation Platform に初めてログインしたときにユーザー名を変更するように求められた場合は、別のユーザーがすでに同じユーザー名で Ansible Automation Platform にログインしていることを示しています。アカウントの移行を続行するには、指示に従ってユーザー名を変更してください。Ansible Automation Platform は、パスワードを使用して、どのアカウントがユーザーに属しているかを認証します。

アカウントリンクのフロー図 Account linking flow

ユーザーアカウントを移行したら、Access Management メニューからアカウントを管理できます。ロールベースのアクセス制御によるアクセスの管理 を参照してください。

9.7.5. シングルサインオン (SSO) ユーザーの移行

Ansible Automation Platform 2.4 から 2.5 にアップグレードする場合、アップグレード後もシングルサインオン (SSO) 機能を引き続き使用するには、SSO ユーザーアカウントを移行する必要があります。SSO ユーザーをスムーズに移行するためには、次の手順で示すステップを実行します。

9.7.5.1. 主な考慮事項

SSO 設定は 2.5 へのアップグレード中に自動的に移行されません。 レガシー認証設定は、アップグレードプロセス中に引き継がれます。これにより、アップグレード後にプラットフォームへのシームレスな初期アクセスが可能になります。一方、SSO 設定は、新しい Ansible Automation Platform 2.5 認証設定に手動で移行する必要があります。レガシー設定は、既存の認証機能を保持し、移行プロセスを容易にするための参照先として機能します。移行が完了した後は、レガシー認証設定を直接変更したり使用したりしないでください。

UI で SSO の移行がサポートされています。 2.5 の UI では、レガシー SSO アカウントを移行できます。この移行を実行するには、新しい認証方法を設定するときに、Auto migrate users from リストからレガシーオーセンティケーターを選択します。このレガシーオーセンティケーターから、新しいプラットフォームゲートウェイ認証設定にユーザーを自動的に移行します。

SSO の移行は、ユーザーがログインしてアカウントのリンクを開始する前に行う必要があります。 2.5 で SSO を設定した後、ユーザーがログインする 前にAuto migrate users to 設定を有効にする必要があります。

注記

Ansible Automation Platform 2.4 の SSO 設定は、アップグレードプロセス中に名前が変更され、レガシー設定を示す接頭辞付き (例: legacy_sso-saml-<entity id>) で Authentication Methods リストビューに表示されます。Authentication typelegacy sso としてリストされます。これらの設定は変更できません。

自動移行機能を設定すると、プラットフォームゲートウェイで SSO を使用してログインできるようになり、レガシー SSO オーセンティケーターからの一致するアカウントが自動的にリンクされます。

9.7.6. LDAP ユーザーの移行

Ansible Automation Platform 2.4 から 2.5 にアップグレードするプラットフォーム管理者は、アップグレード後に LDAP 認証機能を引き続き使用する場合、LDAP ユーザーアカウントを移行する必要があります。可能な限りスムーズに LDAP ユーザーを移行するために、この手順に従ってください。

レガシー認証システムから LDAP ベースの認証にユーザーを移行する手順は、主に 2 つあります。

  1. 従来のユーザーログインとアカウントのリンク
  2. アカウントをリンクせずに LDAP に移行する
9.7.6.1. 主な考慮事項

LDAP 設定は 2.5 へのアップグレード中に自動的に移行されません。 レガシー LDAP 認証設定は、アップグレードプロセス中に引き継がれます。これにより、アップグレード後にプラットフォームへのシームレスな初期アクセスが可能になります。一方、LDAP 設定は、新しい Ansible Automation Platform 2.5 の LDAP 設定に手動で移行する必要があります。レガシー設定は、既存の認証機能を保持し、移行プロセスを容易にするための参照先として機能します。移行が完了した後は、レガシー認証設定を直接変更したり使用したりしないでください。

UID 競合のリスク: LDAP とレガシーパスワードオーセンティケーターは、どちらもユーザー名を UID として使用します。これにより、ユーザー間または別々の人が所有する同じ名前のユーザー間で UID の競合が発生する可能性があります。UID の競合が原因で安全に自動移行できないユーザーアカウントは、適切に処理されるように手動で移行する必要があります。このようなユーザーは、自動移行を設定する前に、API /api/gateway/v1/authenticator_users/ を介して手動で移行できます。

アップグレード前にプラットフォームにユーザーアカウントがない場合は、レガシー LDAP 認証を使用してログインしないでください。 代わりに、アカウントをリンクせずに LDAP に直接自動移行 する必要があります。

9.7.6.2. 従来のユーザーログインとアカウントのリンク

ユーザーは、“I have a <component> account” を選択し、認証情報 (ユーザー名とパスワード) を入力することで、従来のアカウントを使用してログインできます。ログインが成功した場合、アカウントを別のコンポーネント (Automation Hub や Automation Controller など) のアカウントにリンクするように求められる場合があります。Automation Hub と Automation Controller の両方のログイン認証情報が同じ場合は、そのユーザーのアカウントリンクが自動的に実行されます。

アカウントのリンクが成功すると、両方のコンポーネントのユーザーアカウントが gateway:legacy external password オーセンティケーターに統合されます。ユーザーアカウントが gateway:legacy external password オーセンティケーターに自動的に統合されない場合は、アカウントをリンクせずに LDAP に直接自動移行する必要があります。

アカウントのリンクの詳細は、アカウントのリンク を参照してください。

9.7.6.3. アカウントをリンクせずに LDAP ユーザーを移行する

Automation Hub アカウントにリンクする方法がなく、ユーザーがアカウントをリンクできない場合は、すべてのレガシーパスワードオーセンティケーターで自動移行機能をすぐに設定して、新しいゲートウェイ LDAP オーセンティケーターをターゲットにする必要があります。

その後、ユーザーのログイン時に一致する UID が見つかった場合、プラットフォームゲートウェイが自動的にユーザーを LDAP オーセンティケーターに移行します。

前提条件

  • 自動移行を進める前に、従来のすべてのアカウントが適切にリンクおよび統合されていることを確認してください。
  • 自動移行を進める前に、UID の競合がないことを確認するか、必ずアカウントを手動で移行してください。

手順

  1. Ansible Automation Platform UI にログインします。
  2. LDAP 認証の設定 の手順に従って、プラットフォームゲートウェイで新しい LDAP 認証方法を設定します。これは、以前の LDAP ユーザーを移行する設定です。

    注記

    Ansible Automation Platform 2.4 の LDAP 設定は、アップグレードプロセス中に名前が変更され、レガシー設定であることを示す接頭辞付きで Authentication Methods リストビューに表示されます (例: <controller/hub/eda>: legacy_password)。Authentication typeLegacy password としてリストされます。これらの設定は変更できません。

  3. Auto migrate users from リストからレガシー LDAP オーセンティケーターを選択します。これは、ユーザーをプラットフォームゲートウェイ LDAP オーセンティケーターに移行するのに使用するレガシーオーセンティケーターです。

自動移行機能を設定すると、プラットフォームゲートウェイで LDAP を使用してログインできるようになり、2.4 のレガシー LDAP オーセンティケーターからの一致するアカウントが自動的にリンクされます。

第10章 Red Hat OpenShift Container Platform 上の Red Hat Ansible Automation Platform の更新

アップグレードパッチを使用して、Operator ベースの Ansible Automation Platform を更新できます。

10.1. OpenShift Container Platform 上の Ansible Automation Platform のパッチ更新

OpenShift Container Platform 上の Ansible Automation Platform のインストールに対してパッチ更新を実行する場合、ほとんどの更新はチャネル内で行われます。

  1. 新しい更新がマーケットプレイスで利用可能になります (redhat-operator CatalogSource 経由)。
  2. Ansible Automation Platform サブスクリプションに対して新しい InstallPlan が自動的に作成されます。サブスクリプションが手動に設定されている場合は、OpenShift UI で InstallPlan を手動で承認する必要があります。サブスクリプションが自動に設定されている場合は、新しいバージョンが利用可能になるとすぐにアップグレードされます。

    注記

    Ansible Automation Platform Operator のサブスクリプションには、手動インストールストラテジーを設定することが推奨されます (Operator をインストールまたはアップグレードするときに設定)。これに設定すると、選択した更新チャネルでアップグレードが利用可能になったときに、アップグレードを承認するように求められます。各 X.Y リリースの stable チャネル (たとえば、stable-2.5) が利用可能です。

  3. 古いサブスクリプション、CSV、コンテナーとともに、新しいサブスクリプション、CSV、Operator コンテナーが作成されます。新しいインストールが成功すると、古いリソースはクリーンアップされます。

第11章 Red Hat Ansible Automation Platform Operator で実行ノードを有効にする

インストールバンドルをダウンロードしてインストールすることで、実行ノードとともに Ansible Automation Platform Operator を有効にできます。

注記

Receptor ノードにカスタム証明書を使用する場合、証明書のサブジェクト代替名 (SAN) の otherName フィールドに、値 1.3.6.1.4.1.2312.19.1 が指定されている必要があります。詳細は、Above the mesh TLS を参照してください。

Receptor はワイルドカード証明書の使用をサポートしていません。さらに、TLS ホスト名検証を正しく実行するために、各 Receptor 証明書の SAN にホスト FQDN が指定されている必要があります。

11.1. Red Hat Ansible Automation Platform Operator への実行ノードの追加

Ansible Automation Platform ユーザーインターフェイスから実行ノードを追加できます。

前提条件

  • Automation Controller のインスタンス。
  • receptor コレクションパッケージがインストールされている。
  • Ansible Automation Platform リポジトリー ansible-automation-platform-2.5-for-rhel-{RHEL-RELEASE-NUMBER}-x86_64-rpms が有効になっている。

手順

  1. Red Hat Ansible Automation Platform にログインします。
  2. ナビゲーションパネルで、Automation ExecutionInfrastructureInstances を選択します。
  3. Add をクリックします。
  4. Host Name フィールドに実行ノードのドメイン名または IP を入力します。
  5. オプション: Listener Port フィールドにポート番号を入力します。
  6. Save をクリックします。
  7. Install Bundle の横にあるダウンロードアイコン download をクリックします。ダウンロードが始まります。ファイルの保存場所をメモしておきます。
  8. gz ファイルを展開します。

    注記

    install_receptor.yml Playbook を実行するには、Ansible Galaxy から receptor コレクションをインストールする必要があります (ansible-galaxy collection install -r requirements.yml)。

  9. ユーザー名と SSH 秘密鍵ファイルを使用して Playbook を更新します。ansible_host に、先ほど入力したホスト名が事前に入力されていることに注意してください。

    all:
       hosts:
          remote-execution:
    	        ansible_host: example_host_name # Same with configured in AAP WebUI
    	        ansible_user: <username> #user provided
    	        Ansible_ssh_private_key_file: ~/.ssh/id_example
    Copy to Clipboard Toggle word wrap
  10. ターミナルを開き、Playbook を保存したディレクトリーに移動します。
  11. バンドルをインストールするために、次のコマンドを実行します。

    ansible-playbook install_receptor.yml -i inventory.yml
    Copy to Clipboard Toggle word wrap
  12. インストールしたら、作成したインスタンスの Playbook をダウンロードして再実行することで、実行ノードをアップグレードできます。

検証

receptor サービスのステータスを確認するには、次のコマンドを実行します。

sudo systemctl status receptor.service
Copy to Clipboard Toggle word wrap

サービスが active (running) 状態であることを確認します。

新しいノードで Playbook が正しく実行されるかどうかを確認するには、次のコマンドを実行します。

watch podman ps
Copy to Clipboard Toggle word wrap

第12章 Ansible Automation Platform Resource Operator

12.1. Resource Operator の概要

Resource Operator は、プラットフォームゲートウェイのデプロイメントを作成した後にデプロイできるカスタムリソース (CR) です。

Resource Operator を使用すると、プロジェクト、ジョブテンプレート、インベントリーなどのリソースを YAML ファイルで定義できます。

この YAML ファイルは、Automation Controller がリソースを作成するために使用します。YAML コードのキーと値の入力を求める Form view を通じて YAML を作成できます。あるいは、YAML を直接操作するには、YAML view を選択します。

Resource Operator は次の CR を提供します。

  • AnsibleJob
  • JobTemplate
  • Automation Controller プロジェクト
  • Automation Controller スケジュール
  • Automation Controller ワークフロー
  • Automation Controller ワークフローテンプレート:
  • Automation Controller インベントリー
  • Automation Controller 認証情報

上記のカスタムリソースの詳細は、自動化実行の使用 を参照してください。

12.2. Resource Operator の使用

Resource Operator 自体は、ユーザーがオブジェクトを作成するまで何も実行しません。ユーザーが AutomationControllerProject または AnsibleJob リソースを作成するとすぐに、Resource Operator がそのオブジェクトの処理を開始します。

前提条件

  • 選択した Kubernetes ベースのクラスターをインストールします。
  • automation-controller-operator を使用して Automation Controller をデプロイします。

次のステップ

クラスターに automation-controller-resource-operator をインストールした後、Automation Controller インスタンスの接続情報を含む Kubernetes (k8s) シークレットを作成する必要があります。その後、Resource Operator を使用して、Automation Controller インスタンスを管理するための k8s リソースを作成できます。

12.3. Resource Operator をプラットフォームゲートウェイに接続する

Resource Operator をプラットフォームゲートウェイに接続するには、Automation Controller インスタンスの接続情報を含む Kubernetes シークレットを作成する必要があります。

プラットフォームゲートウェイ UI でユーザーの OAuth2 トークンを作成するには、次の手順を使用します。

注記

API または UI を通じて作成できるのは、自分のユーザー用の OAuth 2 トークンだけです。つまり、トークンを設定または表示するには、自分のユーザープロファイルから行う必要があります。

手順

  1. Red Hat OpenShift Container Platform にログインします。
  2. ナビゲーションパネルで、Access ManagementUsers を選択します。
  3. トークンを作成するユーザー名を選択します。
  4. TokensAutomation Execution を選択します。
  5. Create Token をクリックします。
  6. Applications は空のままにしておくことができます。説明を追加し、ScopeRead または Write を選択します。

    注記

    トークンを作成するときは、有効なユーザーを指定してください。指定しないと、ユーザーを指定せずに、または存在しないユーザー名を入力してコマンドを発行しようとしましたというエラーメッセージが表示されます。

12.4. Resource Operator の Automation Controller 接続シークレットの作成

接続情報をリソース Operator が利用できるようにするには、トークンとホスト値を使用して k8s シークレットを作成します。

手順

  1. 以下は、接続シークレットの YAML の例です。次の例をファイル (例: automation-controller-connection-secret.yml) に保存します。

    apiVersion: v1
    kind: Secret
    metadata:
      name: controller-access
      type: Opaque
    stringData:
      token: <generated-token>
      host: https://my-controller-host.example.com/
    Copy to Clipboard Toggle word wrap
  2. ホストとトークンの値を使用してファイルを編集します。
  3. kubectl create コマンドを実行して、これをクラスターに適用します。
kubectl create -f controller-connection-secret.yml
Copy to Clipboard Toggle word wrap

12.5. Resource Operator のカスタムリソースの作成

Resource Operator を使用して、Kubernetes クラスターから Automation Controller のリソースを直接管理できます。このセクションでは、AnsibleJobJobTemplateAnsibleProject などのカスタムリソースを作成する手順について説明します。

12.5.1. AnsibleJob カスタムリソースの作成

AnsibleJob カスタムリソースは、Kubernetes シークレット (Automation Controller ホスト URL、トークン) で指定された Automation Controller インスタンスでジョブを起動します。AnsibleJob リソースを作成することで、Automation Controller で自動化ジョブを起動できます。

手順

  1. 起動する接続シークレットとジョブテンプレートを指定します。

    apiVersion: tower.ansible.com/v1alpha1
    kind: AnsibleJob
    metadata:
      generateName: demo-job-1 # generate a unique suffix per 'kubectl create'
    spec:
      connection_secret: controller-access
      job_template_name: Demo Job Template
    Copy to Clipboard Toggle word wrap
  2. インベントリー、追加変数、ジョブの有効期間などの機能を設定します。

    spec:
      connection_secret: controller-access
      job_template_name: Demo Job Template
      inventory: Demo Inventory                    # Inventory prompt on launch needs to be enabled
      runner_image: quay.io/ansible/controller-resource-runner
      runner_version: latest
      job_ttl: 100
      extra_vars:                                  # Extra variables prompt on launch needs to be enabled
         test_var: test
      job_tags: "provision,install,configuration"  # Specify tags to run
      skip_tags: "configuration,restart"           # Skip tasks with a given tag
    Copy to Clipboard Toggle word wrap
    注記

    インベントリーや追加変数を設定する場合は、起動時にプロンプトを有効にする必要があります。Prompt on launch を有効にするには、Automation Controller UI 内で、ResourcesTemplates ページでテンプレートを選択し、Inventory セクションと Variables セクションの横にある Prompt on launch チェックボックスをオンにします。

  3. job_template_name の代わりに workflow_template_name を指定して、AnsibleJob オブジェクトでワークフロージョブテンプレートを起動します。

    apiVersion: tower.ansible.com/v1alpha1
    kind: AnsibleJob
    metadata:
      generateName: demo-job-1 # generate a unique suffix per 'kubectl create'
    spec:
      connection_secret: controller-access
      workflow_template_name: Demo Workflow Template
    Copy to Clipboard Toggle word wrap

12.5.2. JobTemplate カスタムリソースの作成

ジョブテンプレートは、Ansible ジョブを実行するための定義とパラメーターのセットです。詳細は、自動化実行の使用 ガイドの ジョブテンプレート セクションを参照してください。

手順

  • JobTemplate カスタムリソースを作成して、Automation Controller にジョブテンプレートを作成します。

    apiVersion: tower.ansible.com/v1alpha1
    kind: JobTemplate
    metadata:
      name: jobtemplate-4
    spec:
      connection_secret: controller-access
      job_template_name: ExampleJobTemplate4
      job_template_project: Demo Project
      job_template_playbook: hello_world.yml
      job_template_inventory: Demo Inventory
    Copy to Clipboard Toggle word wrap

12.5.3. Automation Controller のプロジェクトカスタムリソースの作成

プロジェクトとは、Automation Controller にある Ansible Playbook の論理的コレクションのことです。詳細は、自動化実行の使用 ガイドの プロジェクト セクションを参照してください。

手順

  • Automation Controller のプロジェクトカスタムリソースを作成して、Automation Controller にプロジェクトを作成します。

    apiVersion: tower.ansible.com/v1alpha1
    kind: AnsibleProject
    metadata:
      name: git
    spec:
      repo: https://github.com/ansible/ansible-tower-samples
      branch: main
      name: ProjectDemo-git
      scm_type: git
      organization: Default
      description: demoProject
      connection_secret: controller-access
      runner_pull_policy: IfNotPresent
    Copy to Clipboard Toggle word wrap

12.5.4. Automation Controller のスケジュールカスタムリソースの作成

Automation Controller でスケジュールを作成するには、AnsibleSchedule カスタムリソースを定義し、必要な apiVersionkind、および一意の metadata.name を指定します。

手順

  • Automation Controller のカスタムリソースを作成して、Automation Controller コントローラーにスケジュールを作成します。

    apiVersion: tower.ansible.com/v1alpha1
    kind: AnsibleSchedule
    metadata:
      name: schedule
    spec:
      connection_secret: controller-access
      runner_pull_policy: IfNotPresent
      name: "Demo Schedule"
      rrule: "DTSTART:20210101T000000Z RRULE:FREQ=DAILY;INTERVAL=1;COUNT=1"
      unified_job_template: "Demo Job Template"
    Copy to Clipboard Toggle word wrap

12.5.5. Automation Controller のワークフローカスタムリソースの作成

ワークフローを使用すると、インベントリー、Playbook、またはパーミッションを共有する場合と共有しない場合がある、一連の異なるジョブテンプレート (またはワークフローテンプレート) を設定できます。詳細は、自動化実行の使用 ガイドの Automation Controller のワークフロー セクションを参照してください。

手順

  • ワークフローカスタムリソースを作成して、Automation Controller でワークフローを作成します。

    apiVersion: tower.ansible.com/v1alpha1
    kind: AnsibleWorkflow
    metadata:
      name: workflow
    spec:
      inventory: Demo Inventory
      workflow_template_name: Demo Job Template
      connection_secret: controller-access
      runner_pull_policy: IfNotPresent
    Copy to Clipboard Toggle word wrap

12.5.6. Automation Controller のワークフローテンプレートカスタムリソースの作成

ワークフロージョブテンプレートは、一連の異種リソースをリンクして、リリースプロセスに含まれていたジョブ全体を 1 つの単位として追跡します。

詳細は、自動化実行の使用 ガイドの ワークフロージョブテンプレート セクションを参照してください。

手順

  • ワークフローテンプレートカスタムリソースを作成して、Automation Controller にワークフローテンプレートを作成します。

    apiVersion: tower.ansible.com/v1alpha1
    kind: WorkflowTemplate
    metadata:
      name: workflowtemplate-sample
    spec:
      connection_secret: controller-access
      name: ExampleTowerWorkflow
      description: Example Workflow Template
      organization: Default
      inventory: Demo Inventory
      workflow_nodes:
      - identifier: node101
        unified_job_template:
          name: Demo Job Template
          inventory:
            organization:
              name: Default
          type: job_template
      - identifier: node102
        unified_job_template:
          name: Demo Job Template
          inventory:
            organization:
              name: Default
          type: job_template
    Copy to Clipboard Toggle word wrap

12.5.7. Automation Controller のインベントリーカスタムリソースの作成

インベントリーファイルを使用すると、Ansible Automation Platform は 1 つのコマンドで多数のホストを管理できます。

また、インベントリーを使用すると、指定する必要があるコマンドラインオプションの数が減り、Ansible Automation Platform をより効率的に使用できるようになります。詳細は、自動化実行の使用 ガイドの インベントリー セクションを参照してください。

手順

  • インベントリーカスタムリソースを作成して、Automation Controller にインベントリーを作成します。

    metadata:
      name: inventory-new
    spec:
      connection_secret: controller-access
      description: my new inventory
      name: newinventory
      organization: Default
      state: present
      instance_groups:
        - default
      variables:
        string: "string_value"
        bool: true
        number: 1
        list:
          - item1: true
          - item2: "1"
        object:
          string: "string_value"
          number: 2
    Copy to Clipboard Toggle word wrap

12.5.8. Automation Controller の認証情報カスタムリソースの作成

認証情報を使用して、マシンに対するジョブの起動、インベントリーソースの同期、バージョン管理システムからのプロジェクトコンテンツのインポートを行う場合に、Automation Controller のユーザーを認証します。

最も一般的に使用される認証情報は SSH と AWS です。サポートされている認証情報の完全なリストは、自動化実行の使用 ガイドの 認証情報タイプ セクションを参照してください。

値の定義に関するヘルプは、KCS 記事 OpenAPI (Swagger) file for Red Hat Ansible Automation Platform API を参照してください。

ヒント

https://<aap-instance>/api/controller/v2/credential_types/ を使用すると、インスタンス上の認証情報タイプのリストを表示できます。完全なリストを取得するには、次の curl コマンドを使用します。

export AAP_TOKEN="your-oauth2-token"
export AAP_URL="https://your-aap-controller.example.com"

curl -s -H "Authorization: Bearer $AAP_TOKEN" "$AAP_URL/api/controller/v2/credential_types/" | jq -r '.results[].name'
Copy to Clipboard Toggle word wrap

手順

  • 認証情報カスタムリソースを作成して、Automation Controller で AWS または SSH 認証情報を作成します。

    • SSH 認証情報:

      apiVersion: tower.ansible.com/v1alpha1
      kind: AnsibleCredential
      metadata:
        name: ssh-cred
      spec:
        name: ssh-cred
        organization: Default
        connection_secret: controller-access
        description: "SSH credential"
        type: "Machine"
        ssh_username: "cat"
        ssh_secret: my-ssh-secret
        runner_pull_policy: IfNotPresent
      Copy to Clipboard Toggle word wrap
    • AWS 認証情報:

      apiVersion: tower.ansible.com/v1alpha1
      kind: AnsibleCredential
      metadata:
        name: aws-cred
      spec:
        name: aws-access
        organization: Default
        connection_secret: controller-access
        description: "This is a test credential"
        type: "Amazon Web Services"
        username_secret: aws-secret
        password_secret: aws-secret
        runner_pull_policy: IfNotPresent
      Copy to Clipboard Toggle word wrap

このガイドでは、OpenShift Container Platform 上の Ansible Automation Platform デプロイメントに関する一般的な問題を診断および解決するのに役立つコマンドとヒントのコレクションを提供します。ログの表示、リソースの検査、サポート用の診断データの収集方法について説明します。

13.1. Automation Controller Operator ログについて

Operator が Automation Controller インスタンスをデプロイすると、Operator コンテナー内でインストーラーロールが実行されます。Automation Controller のステータスが Failed の場合は、automation-controller-operator コンテナーのログを確認する必要があります。これらのログはインストーラーロールの出力を提供し、デプロイメントの問題をデバッグするための重要な最初のステップとなります。

13.2. OpenShift Container Platform でのイベントの表示

OpenShift Container Platform Web コンソールでイベントを表示して、エラーを監視し、問題をトラブルシューティングできます。これにより、カスタムリソースと関連イベントのステータスを調べて、問題を迅速に診断できるようになります。

デバッグは、まず Ansible Automation Platform のカスタムリソース (CR) のステータス状態を確認し、次にネストされた CR にエラーがないか調べることで行うことができます。

手順

  1. OpenShift Container Platform Web コンソールにログインします。
  2. ナビゲーションメニューで、HomeEvents を選択します。
  3. project リストからプロジェクトを選択します。
  4. 特定のリソースのイベントを表示するには、そのリソースのページに移動します。Pod やデプロイメントなどの多くのリソースページには、独自の Events タブがあります。
  5. リソースを選択すると、Pod Details ページに移動します。

検証

Pod details ページの Conditions セクションをチェックして、Message 列にエラーが表示されていないことを確認します。

13.3. Operator ログの表示

次の手順は、automation-controller-operator Pod のログを表示する方法の例です。

手順

  1. Pod 名を見つけるには、次のコマンドを実行します。

    oc get pods | grep operator
    Copy to Clipboard Toggle word wrap
  2. Pod のログを表示するには、次のコマンドを実行します。

    oc logs <operator-pod-name> -f
    Copy to Clipboard Toggle word wrap
    1. または、最初に Pod 名を取得せずにログを表示するには、次のコマンドを実行します。

      oc logs deployments/automation-controller-operator-controller-manager -c automation-controller-manager -f
      Copy to Clipboard Toggle word wrap

13.4. ログの詳細度の設定

カスタムリソース (CR) の spec セクションで no_logfalse に設定することにより、CR でのデバッグ用のタスク出力を有効化できます。

ログには、元々 no_logtrue に設定されていた失敗したタスクの出力が表示されます。次の手順では Automation Controller を例として使用しますが、Core Ansible Automation Platform Resources セクションにリストされているすべての CR は no_log をサポートしています。

手順

  1. Automation Controller CR を編集し、spec で no_log フィールドを false に設定します。

    apiVersion: automationcontroller.ansible.com/v1beta1
    kind: AutomationController
    metadata:
      name: controller-demo
    spec:
      no_log: false
    Copy to Clipboard Toggle word wrap
    注記

    これにより、ログ内の機密データが公開される可能性があります。実稼働クラスターでは、問題を積極的にデバッグしていない限り、この値は通常 true に設定する必要があります。

  2. Operator から Ansible Playbook の詳細度を上げるには、アノテーションを使用して詳細度レベルを設定します。

    annotations:
        ansible.sdk.operatorframework.io/verbosity: "4"
    Copy to Clipboard Toggle word wrap

13.5. OpenShift Container Platform リソースの検査

OpenShift Container Platform リソースを検査するには、oc コマンドを使用して、リソースの概要または完全な YAML 定義を取得する必要があります。

手順

  1. 人間が判読できるリソースの要約を表示するには、次のコマンドを実行します。

    oc describe -n <namespace> <resource> <resource-name>
    Copy to Clipboard Toggle word wrap
  2. リソースの完全な YAML 定義を表示するには、-o yaml フラグを使用します。

    oc get -n <namespace> <resource> <resource-name> -o yaml
    Copy to Clipboard Toggle word wrap
    • たとえば、automationcontroller カスタムリソースの YAML を取得するには、次を実行します。

      oc get -n aap automationcontroller aap -o yaml
      Copy to Clipboard Toggle word wrap

13.6. Ansible Automation Platform のコアリソース

次の表は、Ansible Automation Platform Operator が管理するコアカスタムリソース (CR) のリストと説明を示しています。これらのリソースを理解すると、高度なトラブルシューティングと設定に役立ちます。

Expand
Resource nameDescription

ansibleautomationplatform

Ansible Automation Platform 全体をデプロイするための CR。

ansibleautomationplatformbackup

Ansible Automation Platform インスタンス全体のバックアップを作成するための CR。

ansibleautomationplatformrestore

バックアップから Ansible Automation Platform インスタンス全体を復元するための CR。

automationcontroller

Automation Controller インスタンスの望ましい状態を定義する CR。

automationcontrollerbackup

Automation Controller のデータと設定のバックアップを作成するための CR。

automationcontrollerrestore

バックアップから Automation Controller を復元するための CR。

automationhub

Automation Hub (Galaxy) インスタンスをデプロイするための CR。

automationhubbackup

Automation Hub データと設定のバックアップを作成するための CR。

automationhubrestore

バックアップから Automation Hub を復元するための CR。

eda

Event-Driven Ansible (EDA) インスタンスをデプロイするための CR。

edabackup

EDA データと設定のバックアップを作成するための CR。

edarestore

バックアップから EDA を復元するための CR。

ansiblelightspeed

Red Hat Ansible Lightspeed インスタンスをデプロイするための CR。

13.7. Standard Kubernetes リソース

Standard Kubernetes リソースは、OpenShift Container Platform のコアな部分になります。次の表は、アプリケーションの状態と設定のトラブルシューティングを行うために検査できる標準リソースについて説明しています。

Expand
Resource nameDescription

pod

アプリケーションワークロードを実行する 1 つ以上のコンテナーを含む、デプロイ可能な最小単位。

deployment

Pod の設定とスケーリングを管理します。

pvc

PersistentVolumeClaim (PVC) は、永続的なデータストレージに使用されるストレージリソースの要求です。

service

クラスター内で安定した IP アドレスと DNS 名を持つネットワークサービスとして Pod を公開します。

ingress

クラスター内のサービスへの外部 HTTP および HTTPS アクセスを管理します。

route

サービスを外部に公開するための OpenShift 固有のリソース (Ingress と類似)。

secrets

パスワード、トークン、証明書などの機密データを保存します。

serviceaccount

Pod 内で実行されているプロセスに対し、他の Kubernetes リソースへアクセスするための ID を提供します。

13.8. カスタムリソース定義設定パラメーターの検出

Ansible Automation Platform Operator は、それぞれ独自の設定パラメーターを持つ複数のカスタムリソース (CR) を管理します。oc explain コマンドを使用して、AnsibleAutomationPlatform CR とそのネストされたコンポーネントで使用可能なすべての設定オプションを検出します。

手順

  1. 最上位レベルの CR で使用可能なすべての設定パラメーターを表示するには、次のコマンドを実行します。

    oc explain ansibleautomationplatform.spec
    Copy to Clipboard Toggle word wrap
  2. 特定のネストされたセクションを表示するには、それらを直接クエリーします。

    oc explain automationcontroller.spec.postgres_configuration_secret
    oc explain automationcontroller.spec.route_tls_termination_mechanism
    Copy to Clipboard Toggle word wrap
  3. ネストされたすべてのフィールドを一度に調べるには、--recursive フラグを使用します。

    oc explain automationcontroller.spec --recursive
    Copy to Clipboard Toggle word wrap

13.9. 診断データの収集

oc adm must-gather コマンドを使用して、クラスターと Ansible Automation Platform コンポーネントに関する包括的な診断データを収集します。このデータは、Red Hat Support チームに連絡する際に必須となります。

手順

  1. must-gather ツールを起動するには、次のコマンドを実行します。

    oc adm must-gather --image=registry.redhat.io/ansible-automation-platform-25/aap-must-gather-rhel8
    Copy to Clipboard Toggle word wrap
  2. 収集されたデータを表示し、omc ツールを使用して、must-gather tarball をライブクラスターであるかのようにクエリーします。

    omc use <path-to-must-gather>
    omc get pods
    Copy to Clipboard Toggle word wrap

13.10. クラッシュしている Pod のデバッグ

Pod が失敗またはクラッシュしている場合は、oc debug コマンドを使用します。このコマンドは、指定した Pod と同じ設定で新しい Pod を作成してマウントし、デバッグのためにアクセスできるようにします。

手順

  • Pod に接続するには、次のコマンドを実行します。

    oc debug <pod-name>
    Copy to Clipboard Toggle word wrap

13.11. Operator サービスアカウントエラー

Ansible Automation Platform データベースまたは UI で aap_operator_service_account ユーザーを手動で変更すると、必要な is_superuser フラグが削除されます。このアクションにより、プラットフォームゲートウェイ Operator のリコンシリエーションループに重大な障害が発生します。

次のエラーが表示されます。

TASK [ansibleautomationplatform : Create operator service account user] … CommandError: Error: That username is already taken
Copy to Clipboard Toggle word wrap

アカウントが見つからない場合、Ansible Automation Platform Operator はサービスアカウントを自動的に再作成します。必要なスーパーユーザー特権を復元するには、誤って設定された既存のユーザーを削除する必要があります。

ユーザーを削除すると、プラットフォームゲートウェイ Operator は自動的にべき等性ロジックを実行し、アカウントを再作成して、必要な is_superuser=True フラグが設定されていることを確認して、リコンシリエーションループの機能を復元します。

第14章 付録: Red Hat Ansible Automation Platform カスタムリソース

この付録では、さまざまなデプロイメントシナリオ用の Ansible Automation Platform カスタムリソースのリファレンスを提供します。

ヒント

name 変数の下にコンポーネント名を指定することで、既存のコンポーネントをリンクできます。name を使用して、新しいコンポーネントのカスタム名を作成することもできます。

14.1. カスタムリソース

14.1.1. aap-existing-controller-and-hub-new-eda.yml

---
apiVersion: aap.ansible.com/v1alpha1
kind: AnsibleAutomationPlatform
metadata:
  name: myaap
spec:
  # Development purposes only
  no_log: false

  controller:
    name: existing-controller
    disabled: false

  eda:
    disabled: false

  hub:
    name: existing-hub
    disabled: false
Copy to Clipboard Toggle word wrap

14.1.2. aap-all-defaults.yml

apiVersion: aap.ansible.com/v1alpha1
kind: AnsibleAutomationPlatform
metadata:
  name: myaap
spec:
  # Development purposes only
  no_log: false

  # Platform
  ## uncomment to test bundle certs
  # bundle_cacert_secret: gateway-custom-certs

  # Components

  hub:
    disabled: false
    ## uncomment if using file storage for Content pod
    storage_type: file
    file_storage_storage_class: nfs-local-rwx
    file_storage_size: 10Gi

    ## uncomment if using S3 storage for Content pod
    # storage_type: S3
    # object_storage_s3_secret: example-galaxy-object-storage

    ## uncomment if using Azure storage for Content pod
    # storage_type: azure
    # object_storage_azure_secret: azure-secret-name

  # lightspeed:
  #   disabled: true

# End state:
# * Automation controller deployed and named: myaap-controller
# * * Event-Driven Ansible deployed and named: myaap-eda
# * * Automation hub deployed and named: myaap-hub
Copy to Clipboard Toggle word wrap

14.1.3. aap-existing-controller-only.yml

---
apiVersion: aap.ansible.com/v1alpha1
kind: AnsibleAutomationPlatform
metadata:
  name: myaap
spec:
  # Development purposes only
  no_log: false

  controller:
    name: existing-controller

  eda:
    disabled: true

  hub:
    disabled: true
    ## uncomment if using file storage for Content pod
    # storage_type: file
    # file_storage_storage_class: nfs-local-rwx
    # file_storage_size: 10Gi

    ## uncomment if using S3 storage for Content pod
    # storage_type: S3
    # object_storage_s3_secret: example-galaxy-object-storage

    ## uncomment if using Azure storage for Content pod
    # storage_type: azure
    # object_storage_azure_secret: azure-secret-name


# End state:
# * Automation controller: existing-controller registered with Ansible Automation Platform UI
# * * Event-Driven Ansible deployed and named: myaap-eda
# * * Automation hub deployed and named: myaap-hub
Copy to Clipboard Toggle word wrap

14.1.4. aap-existing-hub-and-controller.yml

---
apiVersion: aap.ansible.com/v1alpha1
kind: AnsibleAutomationPlatform
metadata:
  name: myaap
spec:
  # Development purposes only
  no_log: false

  controller:
    name: existing-controller
    disabled: false

  eda:
    disabled: true

  hub:
    name: existing-hub
    disabled: false

# End state:
# * Automation controller: existing-controller registered with Ansible Automation Platform UI
# * * Event-Driven Ansible deployed and named: myaap-eda
# * * Automation hub: existing-hub registered with Ansible Automation Platform UI
Copy to Clipboard Toggle word wrap

14.1.5. aap-existing-hub-controller-eda.yml

---
apiVersion: aap.ansible.com/v1alpha1
kind: AnsibleAutomationPlatform
metadata:
  name: myaap
spec:
  # Development purposes only
  no_log: false

  controller:
    name: existing-controller # <-- this is the name of the existing AutomationController CR
    disabled: false

  eda:
    name: existing-eda
    disabled: false

  hub:
    name: existing-hub
    disabled: false

# End state:
# * Controller: existing-controller registered with Ansible Automation Platform UI
# * * Event-Driven Ansible: existing-eda registered with Ansible Automation Platform UI
# * * Automation hub: existing-hub registered with Ansible Automation Platform UI
#
# Note: The automation controller, Event-Driven Ansible, and automation hub names must match the names of the existing.
# Automation controller, Event-Driven Ansible, and automation hub CRs in the same namespace as the Ansible Automation Platform CR. If the names do not match, the Ansible Automation Platform CR will not be able to register the existing automation controller, Event-Driven Ansible, and automation hub with the Ansible Automation Platform UI,and will instead deploy new automation controller, Event-Driven Ansible, and automation hub instances.
Copy to Clipboard Toggle word wrap

14.1.6. aap-existing-hub-controller-eda.yml

---
apiVersion: aap.ansible.com/v1alpha1
kind: AnsibleAutomationPlatform
metadata:
  name: myaap
spec:
  # Development purposes only
  no_log: false

  controller:
    name: existing-controller # <-- this is the name of the existing AutomationController CR
    disabled: false

  eda:
    name: existing-eda
    disabled: false

  hub:
    name: existing-hub
    disabled: false

# End state:
# * Automation controller: existing-controller registered with Ansible Automation Platform UI
# * * Event-Driven Ansible: existing-eda registered with Ansible Automation Platform UI
# * * Automation hub: existing-hub registered with Ansible Automation Platform UI
#
# Note: The automation controller, Event-Driven Ansible, and automation hub names must match the names of the existing.
# Automation controller, Event-Driven Ansible, and automation hub CRs in the same namespace as the Ansible Automation Platform CR. If the names do not match, the Ansible Automation Platform CR will not be able to register the existing automation controller, Event-Driven Ansible, and automation hub with the Ansible Automation Platform UI,and will instead deploy new automation controller, Event-Driven Ansible, and automation hub instances.
Copy to Clipboard Toggle word wrap

14.1.7. aap-fresh-controller-eda.yml

---
apiVersion: aap.ansible.com/v1alpha1
kind: AnsibleAutomationPlatform
metadata:
  name: myaap
spec:
  # Development purposes only
  no_log: false

  controller:
    disabled: false

  eda:
    disabled: false

  hub:
    disabled: true
    ## uncomment if using file storage for Content pod
    storage_type: file
    file_storage_storage_class: nfs-local-rwx
    file_storage_size: 10Gi

    ## uncomment if using S3 storage for Content pod
    # storage_type: S3
    # object_storage_s3_secret: example-galaxy-object-storage

    ## uncomment if using Azure storage for Content pod
    # storage_type: azure
    # object_storage_azure_secret: azure-secret-name

# End state:
# * Automation controller deployed and named: myaap-controller
# * * Event-Driven Ansible deployed and named: myaap-eda
# * * Automation hub disabled
# * Red Hat Ansible Lightspeed disabled
Copy to Clipboard Toggle word wrap

14.1.8. aap-fresh-external-db.yml

---
apiVersion: aap.ansible.com/v1alpha1
kind: AnsibleAutomationPlatform
metadata:
  name: myaap
spec:
  # Development purposes only
  no_log: false

  controller:
    disabled: false

  eda:
    disabled: false

  hub:
    disabled: false
    ## uncomment if using file storage for Content pod
    storage_type: file
    file_storage_storage_class: nfs-local-rwx
    file_storage_size: 10Gi

    ## uncomment if using S3 storage for Content pod
    # storage_type: S3
    # object_storage_s3_secret: example-galaxy-object-storage

    ## uncomment if using Azure storage for Content pod
    # storage_type: azure
    # object_storage_azure_secret: azure-secret-name


# End state:
# * Automation controller deployed and named: myaap-controller
# * * Event-Driven Ansible deployed and named: myaap-eda
# * * Automation hub deployed and named: myaap-hub
Copy to Clipboard Toggle word wrap

14.1.9. aap-configuring-external-db-all-default-components.yml

---
apiVersion: aap.ansible.com/v1alpha1
kind: AnsibleAutomationPlatform
metadata:
  name: myaap
spec:
  database:
     database_secret: external-postgres-configuration-gateway
  controller:
     postgres_configuration_secret: external-postgres-configuration-controller
  hub:
     postgres_configuration_secret: external-postgres-configuration-hub
  eda:
     database:
       database_secret: external-postgres-configuration-eda
Copy to Clipboard Toggle word wrap

14.1.10. aap-configuring-existing-external-db-all-default-components.yml

---
apiVersion: aap.ansible.com/v1alpha1
kind: AnsibleAutomationPlatform
metadata:
  name: myaap
spec:
  database:
     database_secret: external-postgres-configuration-gateway
Copy to Clipboard Toggle word wrap
注記

システムはプラットフォームゲートウェイに外部データベースを使用し、Automation Controller、Automation Hub、および Event-Driven Ansible は 2.4 で使用されていた既存のデータベースを引き続き使用します。

14.1.11. aap-configuring-external-db-with-lightspeed-enabled.yml

---
apiVersion: aap.ansible.com/v1alpha1
kind: AnsibleAutomationPlatform
metadata:
  name: myaap
spec:
  database:
     database_secret: external-postgres-configuration-gateway
  controller:
     postgres_configuration_secret: external-postgres-configuration-controller
  hub:
     postgres_configuration_secret: external-postgres-configuration-hub
  eda:
     database:
       database_secret: external-postgres-configuration-eda
  lightspeed:
    disabled: false
    database:
      database_secret: <secret-name>-postgres-configuration
    auth_config_secret_name: 'auth-configuration-secret'
    model_config_secret_name: 'model-configuration-secret'
Copy to Clipboard Toggle word wrap
注記

モデルおよび認証シークレットの作成の詳細は、Red Hat Ansible Lightspeed with IBM watsonx Code Assistant ユーザーガイド に従ってください。

14.1.12. aap-fresh-install-with-settings.yml

---
apiVersion: aap.ansible.com/v1alpha1
kind: AnsibleAutomationPlatform
metadata:
  name: myaap
spec:
  # Development purposes only
  no_log: false
  image_pull_policy: Always

  # Platform
  ## uncomment to test bundle certs
  # bundle_cacert_secret: gateway-custom-certs

  # Components
  controller:
    disabled: false
    image_pull_policy: Always

    extra_settings:
      - setting: MAX_PAGE_SIZE
        value: '501'

  eda:
    disabled: false
    image_pull_policy: Always

    extra_settings:
      - setting: EDA_MAX_PAGE_SIZE
        value: '501'

  hub:
    disabled: false
    image_pull_policy: Always

    ## uncomment if using file storage for Content pod
    storage_type: file
    file_storage_storage_class: rook-cephfs
    file_storage_size: 10Gi

    ## uncomment if using S3 storage for Content pod
    # storage_type: S3
    # object_storage_s3_secret: example-galaxy-object-storage

    ## uncomment if using Azure storage for Content pod
    # storage_type: azure
    # object_storage_azure_secret: azure-secret-name

    pulp_settings:
      MAX_PAGE_SIZE: 501
      cache_enabled: false

  # lightspeed:
  #   disabled: true

# End state:
# * Automation controller deployed and named: myaap-controller
# * * Event-Driven Ansible deployed and named: myaap-eda
# * * Automation hub deployed and named: myaap-hub
Copy to Clipboard Toggle word wrap

14.1.13. aap-fresh-install.yml

---
apiVersion: aap.ansible.com/v1alpha1
kind: AnsibleAutomationPlatform
metadata:
  name: myaap
spec:
  # Development purposes only
  no_log: false

  # Redis Mode
  # redis_mode: cluster

  # Platform
  ## uncomment to test bundle certs
  # bundle_cacert_secret: gateway-custom-certs
  # extra_settings:
  #   - setting: MAX_PAGE_SIZE
  #     value: '501'

  # Components
  controller:
    disabled: false

  eda:
    disabled: false

  hub:
    disabled: false
    ## uncomment if using file storage for Content pod
    storage_type: file
    file_storage_storage_class: nfs-local-rwx
    file_storage_size: 10Gi

    ## uncomment if using S3 storage for Content pod
    # storage_type: S3
    # object_storage_s3_secret: example-galaxy-object-storage

    ## uncomment if using Azure storage for Content pod
    # storage_type: azure
    # object_storage_azure_secret: azure-secret-name

  # lightspeed:
  #   disabled: true

# End state:
# * Automation controller deployed and named: myaap-controller
# * * Event-Driven Ansible deployed and named: myaap-eda
# * * Automation hub deployed and named: myaap-hub
Copy to Clipboard Toggle word wrap

14.1.14. aap-fresh-only-controller.yml

---
apiVersion: aap.ansible.com/v1alpha1
kind: AnsibleAutomationPlatform
metadata:
  name: myaap
spec:
  # Development purposes only
  no_log: false

  controller:
    disabled: false

  eda:
    disabled: true

  hub:
    disabled: true
    ## uncomment if using file storage for Content pod
    # storage_type: file
    # file_storage_storage_class: nfs-local-rwx
    # file_storage_size: 10Gi

    ## uncomment if using S3 storage for Content pod
    # storage_type: S3
    # object_storage_s3_secret: example-galaxy-object-storage

    ## uncomment if using Azure storage for Content pod
    # storage_type: azure
    # object_storage_azure_secret: azure-secret-name


# End state:
# * Automation controller: existing-controller registered with Ansible Automation Platform UI
# * * Event-Driven Ansible deployed and named: myaap-eda
# * * Automation hub deployed and named: myaap-hub
Copy to Clipboard Toggle word wrap

14.1.15. aap-fresh-only-hub.yml

---
apiVersion: aap.ansible.com/v1alpha1
kind: AnsibleAutomationPlatform
metadata:
  name: myaap
spec:
  # Development purposes only
  no_log: false

  controller:
    disabled: true

  eda:
    disabled: true

  hub:
    disabled: false
    ## uncomment if using file storage for Content pod
    storage_type: file
    file_storage_storage_class: nfs-local-rwx
    file_storage_size: 10Gi

    # # AaaS Hub Settings
    # pulp_settings:
    #   cache_enabled: false

    ## uncomment if using S3 storage for Content pod
    # storage_type: S3
    # object_storage_s3_secret: example-galaxy-object-storage

    ## uncomment if using Azure storage for Content pod
    # storage_type: azure
    # object_storage_azure_secret: azure-secret-name

  lightspeed:
    disabled: false

# End state:
# * Automation controller disabled
# * * Event-Driven Ansible disabled
# * * Automation hub deployed and named: myaap-hub
# * Red Hat Ansible Lightspeed disabled
Copy to Clipboard Toggle word wrap

14.1.16. aap-lightspeed-enabled.yml

---
apiVersion: aap.ansible.com/v1alpha1
kind: AnsibleAutomationPlatform
metadata:
  name: myaap
spec:
  # Development purposes only
  no_log: false

  controller:
    disabled: false

  eda:
    disabled: false

  hub:
    disabled: false
    ## uncomment if using file storage for Content pod
    storage_type: file
    file_storage_storage_class: nfs-local-rwx
    file_storage_size: 10Gi

    ## uncomment if using S3 storage for Content pod
    # storage_type: S3
    # object_storage_s3_secret: example-galaxy-object-storage

    ## uncomment if using Azure storage for Content pod
    # storage_type: azure
    # object_storage_azure_secret: azure-secret-name

  lightspeed:
    disabled: false

# End state:
# * Automation controller deployed and named: myaap-controller
# * * Event-Driven Ansible deployed and named: myaap-eda
# * * Automation hub deployed and named: myaap-hub
# * Red Hat Ansible Lightspeed deployed and named: myaap-lightspeed
Copy to Clipboard Toggle word wrap

14.1.17. gateway-only.yml

---
apiVersion: aap.ansible.com/v1alpha1
kind: AnsibleAutomationPlatform
metadata:
  name: myaap
spec:
  # Development purposes only
  no_log: false

  controller:
    disabled: true

  eda:
    disabled: true

  hub:
    disabled: true

  lightspeed:
    disabled: true

# End state:
# * Platform gateway deployed and named: myaap-gateway
#   * UI is reachable at: https://myaap-gateway-gateway.apps.ocp4.example.com
# * Automation controller is not deployed
# * * Event-Driven Ansible is not deployed
# * * Automation hub is not deployed
# * Red Hat Ansible Lightspeed is not deployed
Copy to Clipboard Toggle word wrap

14.1.18. eda-max-running-activations.yml

---
apiVersion: aap.ansible.com/v1alpha1
kind: AnsibleAutomationPlatform
metadata:
  name: myaap
spec:
  eda:
    extra_settings:
      - setting: EDA_MAX_RUNNING_ACTIVATIONS
        value: "15" # Setting this value to "-1" means there will be no limit
Copy to Clipboard Toggle word wrap

法律上の通知

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat
トップに戻る