3.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 の検索および削除 を参照してください。

3.3.1. 前提条件

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

3.3.1.1. Red Hat OpenShift Container Platform への 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 サーバーが単一障害点となる可能性があります。

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

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

手順

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

    1. アクセスモードを更新するには、プロビジョニング の詳しい説明を参照してください。
  4. 永続ボリューム要求 (PVC) を作成するには、このセクションの追加手順を実施します。
3.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 というシークレットを作成します。

    Copy to Clipboard Toggle word wrap
    $ 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
  2. シークレットを Automation Hub カスタムリソース (CR) spec に追加します。

    Copy to Clipboard Toggle word wrap
    spec:
      object_storage_s3_secret: test-s3
  3. このシークレットを既存のインスタンスに適用している場合は、API Pod を再起動して変更を反映します。<hub-name> はハブインスタンスの名前です。
Copy to Clipboard Toggle word wrap
$ oc -n $HUB_NAMESPACE delete pod -l app.kubernetes.io/name=<hub-name>-api
3.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 という名前のシークレットを作成します。

    Copy to Clipboard Toggle word wrap
    $ 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
  2. シークレットを Automation Hub カスタムリソース (CR) spec に追加します。

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

3.3.1.2. Automation Hub Operator ルートオプションの設定

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

手順

  1. Red Hat OpenShift Container Platform にログインします。
  2. Operators Installed 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 で、ドロップダウンメニューをクリックし、一覧からシークレットを選択します。

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

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

手順

  1. Red Hat OpenShift Container Platform にログインします。
  2. Operators Installed 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 を作成します。これには数分の時間がかかる場合があります。

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

検証

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

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

3.3.2. Automation Hub ルートの確認

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

手順

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

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

注記

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

3.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 データベースを指定している。

注記

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

手順

外部の postgres インスタンスのクレデンシャルと接続情報はシークレットに保存する必要があります。シークレットは Automation Hub の仕様に設定されます。

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

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

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

    Copy to Clipboard Toggle word wrap
    apiVersion: automationhub.ansible.com/v1beta1
    kind: AutomationHub
    metadata:
      name: hub-dev
    spec:
      postgres_configuration_secret: external-postgres-configuration

3.3.3.1. Automation Hub PostgreSQL データベースの hstore 拡張機能の有効化

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

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

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

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

手順

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

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

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

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

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

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

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

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

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

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

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

3.3.4. PVC の検索および削除

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

手順

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

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

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

3.3.5. 追加の設定

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

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

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

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

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

手順

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

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

3.3.7. 関連情報

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat, Inc.