機械翻訳について

2 Private Automation Hubのインストール

この章では、ホストの設定方法とPrivate Automation Hubソフトウェアのインストール方法を示し、リモート・データベースまたはローカル・データベースを使用するためのオプションを提供します。

リモート・データベースの設定

Oracle Linux Automation Manager単一ホスト構成用にOracle Linux 8にリモートPostgresqlデータベース・インスタンスを設定するには、次を実行します:

  1. ホストにOracle Linux 8をインストールします。
  2. ファイアウォールでデータベース・ポートを開きます:
    sudo firewall-cmd --add-port=5432/tcp --permanent
    sudo firewall-cmd --reload
  3. postgresql 13モジュール・ストリームを有効にします。
    sudo dnf module reset postgresql
    sudo dnf module enable postgresql:13

    ノート:

    Postgresql 13ライフサイクルの詳細は、「Oracle Linux: Oracle Linuxでのソフトウェアの管理」にあるストリーム・モジュールのアプリケーション・ライフ・サイクルに関する付録を参照してください。
  4. データベースをインストールします。
    sudo dnf install postgresql-server postgresql-contrib
  5. データベースの初期化:
    sudo postgresql-setup --initdb
  6. /var/lib/pgsql/data/postgresql.confファイルで、パスワード・ストレージ・メカニズムをmd5からscram-sha-256に切り替えます。 たとえば、次のコマンドはスイッチを作成します:
    sudo sed -i "s/#password_encryption.*/password_encryption = scram-sha-256/"  /var/lib/pgsql/data/postgresql.conf
  7. 次のコマンドを使用してデータベースを起動し、ホストの再起動時にデータベースが再起動されるようにします:
    sudo systemctl enable --now postgresql
  8. データベースが稼働していることを確認してください:
    sudo systemctl status postgresql
  9. データベース・ユーザー・アカウントを作成します。 たとえば:
    sudo su - postgres -c "createuser -S -P pulp"
  10. pulpユーザーのパスワードを入力して確認します。
    Enter password for new role: 
    Enter it again: 
    
  11. データベースを作成します。
    sudo su - postgres -c "createdb -O pulp pulp"
  12. rootユーザーとして、/var/lib/pgsql/data/pg_hba.confファイルに次の行を追加します:
    host  all  all 0.0.0.0/0 scram-sha-256
  13. rootユーザーとして、# CONNECTIONS AND AUTHENTICATIONセクションの/var/lib/pgsql/data/postgresql.confファイルで、テキストlisten_addresses = の後に一重引用符で囲まれたデータベースのIPアドレスまたはホスト名が続く行。 たとえば:
    listen_addresses = '<IP address or host name>'
    
    #listen_addresses = 'localhost'         # what IP address(es) to listen on;
                                            # comma-separated list of addresses;
                                            # defaults to 'localhost'; use '*' for all
                                            # (change requires restart)
    #port = 5432                            # (change requires restart)

    前の例では、<IP address or hostname>はデータベースのIPアドレスまたはホスト名です。

  14. 次を使用して、メモリー要件パラメータを計算および更新します:
    max_connections = 1024
    shared_buffers = total_mem_mb*0.3
    work_mem = total_mem_mb*0.03
    maintenance_work_mem = total_mem_mb*0.04
    前の例では、total_mem_mbは、データベース・サーバーをホストしているシステムの合計メモリー・サイズ(メガバイト)です。 たとえば、システムで使用可能なメモリーの合計が18 000 MBの場合、このワークシートには次のものが含まれます:
    max_connections = 1024
    shared_buffers = 18000*0.3
    work_mem = 18000*0.03
    maintenance_work_mem = 18000*0.04

    追加する最終番号は次のとおりです:

    max_connections = 1024
    shared_buffers = 5400MB
    work_mem = 540MB
    maintenance_work_mem = 720MB
  15. 計算値を/var/lib/pgsql/data/postgresql.confファイルに追加します。
  16. データベースを再起動します。
    sudo systemctl restart postgresql
  17. これで、「単一ホストへのインストール」の説明に従ってホストを設定する準備ができました。

単一ホストへのインストール

この項では、データベースがローカルまたはリモート・ホストにある単一ホストにPrivate Automation Hubをインストールする手順を示し、パスワードなしのSSH接続が設定されていることを前提としています。

ホストを設定するには:

  1. デプロイメント・ホストで、パスワードなしSSHで構成されたユーザーとしてターゲット・ホストにログインします。 詳細については、「パスワードなしSSHの設定」を参照してください。
  2. python 3.6がホストにインストールされていることを確認します。 python 3.6がインストールされていない場合は、次のコマンドを実行します:
    sudo dnf install python36
  3. Private Automation Hubソフトウェアをインストールします:
    sudo dnf install ol-private-automation-hub-installer
            
  4. /single-nodeフォルダの内容を作業ディレクトリにコピーします。
    cp -r /usr/share/ansible/collections/ansible_collections/oraclelinux/private_automation_hub/playbooks/single-node/ ~/single_node
  5. 作業ディレクトリから、hosts.singlenode.exampleからhostsファイルを作成します。 たとえば、
    cd ~/single_node
    cp hosts.singlenode.example hosts
  6. hostsファイルを次のように編集します:
    all:
      hosts:
        hub:
          ansible_host: <ip_address_or_hostname>
          ansible_user: <username>
    この例では、次のようになります。
    • <ip_address_or_hostname>は、Private Automation Hubをインストールするターゲット・ノードのIPアドレスまたはホスト名です。 このホストは、デプロイメント・ホストからSSHを使用してアクセス可能である必要があります。

      ノート:

      ホスト名に有効な文字は、aからz、0から9、およびハイフン(-)です。 ホスト名をハイフンで始めることはできません。
    • <username>は、Private Automation Hubをインストールするターゲット・ノードでインストーラ・プレイブック・コマンドを実行しているユーザー名です。 このユーザーにはsudo権限が必要です。
  7. インストール時に使用する他のインストール・パラメータを構成するには、「インストール・パラメータ・ファイルの構成」の説明に従ってインストール・パラメータ・ファイルを設定します。
  8. 次のいずれかの操作を行います。
    • Private Automation Hubを実行している同じホストにローカル・データベースをインストールするには、次のコマンドを実行します:
      ansible-playbook single-node-install.yml -i hosts -e "olpah_admin_password=<admin_password> olpah_db_password=<db_password>"
      前の例で、<admin_password>および<db_password>は、デフォルトの管理ユーザーおよびデータベース・ユーザー・アカウントのパスワードです。

      ノート:

      パラメータ・ファイルを使用するには、コマンドの最後に次を追加します:
      -e "@single-node-vars.yml"
    • リモート・ホストで既存のデータベースを使用するには、次のコマンドを実行します:
      1. リモート・データベースにログインします。
      2. 次のデータベース拡張をインストールします。
        sudo dnf install postgresql-contrib
      3. データベースを再起動します。
        sudo systemctl restart postgresql
      4. データベース・ユーザー・アカウントを作成します。 たとえば:
        sudo su - postgres -c "createuser -S -P pulp"
      5. pulpユーザーのパスワードを入力して確認します。

        ノート:

        これは、前のステップで指定したものと同じ<db_password>である必要があります。
        Enter password for new role: 
        Enter it again: 
      6. データベース・インスタンスを作成します たとえば:
        sudo su - postgres -c "createdb -O pulp pulp"
      7. single-node-install.ymlファイルから、pulp_databaseロールを削除します。
      8. "@single-node-vars.yml"変数ファイルで、リモート・データベース(existing_db_host: <db_hostname_or_ip_address>)のデータベース・ホスト名またはIPアドレスを設定します。 パラメータ・ファイルを使用したインストールの詳細は、「インストール・パラメータ・ファイルの構成」を参照してください。
      9. デプロイメント・サーバーに戻り、次のコマンドを実行します:
        ansible-playbook single-node-install.yml -i hosts -e "olpah_admin_password=<admin_password> olpah_db_password=<db_password>" -e "@single-node-vars.yml"
        前の例で、<admin_password>および<db_password>は、デフォルトの管理ユーザーおよびデータベース・ユーザー・アカウントのパスワードです。
  9. ホストの準備ができました。 ブラウザを使用して、管理ユーザーとしてログインできるようになりました。
    https://<ip_address_or_hostname>

インストール・パラメータ・ファイルの構成

場合によっては、Private Automation Hubのインストール時に追加のパラメータを構成することもできます。 単一ホスト・インストール用の追加パラメータを構成する場合は、single-node-vars.ymlパラメータ・ファイルを編集します。

ノート:

Private Automation Hubのインストール前またはインストール後に、パラメータ・ファイルを構成できます。 Private Automation Hubのインストール後に実行する場合は、このステップを完了し、「単一ホストへのインストール」の説明に従ってプレイブックを再実行する必要があります。
パラメータ・ファイルで追加のインストール・パラメータを構成するには、次の手順を実行します:
  1. パラメータ・ファイルで、必要な追加パラメータを追加します。 たとえば:
    existing_db_host: <db_hostname_or_ip_address>
    pulp_pkg_repo: "<local_repo_url>"
    
    olpah_require_content_approval: <True or False>
    pulp_api_workers: <Number_of_workers>
    connected_olam_controllers: [
     "https://<olam_controller_server_url1>/",
     "https://<olam_controller_server_url2>/",
     ...
    ]
    
    • リモート・データベースを使用するには、パラメータ・ファイルに次のパラメータを追加します。 たとえば、
      existing_db_host: <db_hostname_or_ip_address>

      前述の例では、<db_hostname_or_ip_address>はリモート・データベースのホスト名またはIPアドレスです。

    • ULNまたはyumリポジトリのリモート・ミラーを使用するには、パラメータ・ファイルに次のパラメータを追加します。 たとえば、
      pulp_pkg_repo: "<local_repo_url>"
      前の例では、<local_repo_url>はリモート・ミラー・リポジトリのURLです。 URLパスは次のようになります:
      pulp_pkg_repo: "http://<ip_address>/yum/OracleLinux/OL8/automation<version>/$basearch/ol8_x86_64_automation<version>/"

      前の例では、<ip_address>はリポジトリのIPアドレス、<version>はリポジトリのバージョンです。

    • 収集アップロードの承認プロセスを有効にするには、パラメータ・ファイルで次のパラメータを有効にします。
      olpah_require_content_approval: True

      ノート:

      Private Automation Hubのインストール前またはインストール後に、このステップを実行できます。 Private Automation Hubのインストール後に実行する場合は、このステップを完了し、このステップの説明に従ってプレイブックを再実行する必要があります。
    • Private Automation Hubで使用可能なPulp APIワーカーのデフォルト数を変更するには、この値をターゲット・インスタンスで使用可能なCPUコアと同じ数に設定することを検討してください。 たとえば、
      pulp_api_workers: 2
    • 1つ以上のOracle Linux Automation Manager制御サーバーをPrivate Automation Hubにリンクして、Oracle Linux Automation Managerでの実行環境の構成を容易にするには、パラメータ・ファイルの次のパラメータに1つ以上のURLを追加します。
      connected_olam_controllers: [
       "https://<olam_controller_server_url1>/",
       "https://<olam_controller_server_url2>/",
       ...
      ] 

      前述の例では、<olam_controller_server_url1>および<olam_controller_server_url2>は制御サーバーへのURLです。 これらのURLは、使用可能にする制御サーバーの数に応じて追加できます。 URLにはhttps://を含める必要があります。 この機能の詳細は、「Oracle Linux Automation Manager 2.2: Private Automation Hubユーザーズ・ガイド」を参照してください。

    • Private Automation HubをLDAPサーバーと統合するには、「LDAPパラメータの構成」で説明されているLDAPパラメータを追加します。

LDAPパラメータの構成

パラメータ・ファイルでLDAPパラメータを構成するには、次の手順を実行します:
  1. パラメータ・ファイルを編集し、次の必須LDAP関連パラメータをファイルの最下部に追加します:
    #Enable galaxy_ng LDAP Integration
    config_ldap: True
    
    # LDAP Binding and Directory Look Up
    auth_ldap_server_uri: "<ldap_url>"
    auth_ldap_bind_dn: "<ldap_bind>"
    auth_ldap_bind_password: "<ldap_bind_password>"
    auth_ldap_user_search_base_dn: "cn=users,cn=accounts,dc=example,dc=com"
    auth_ldap_user_search_scope: "SUBTREE"
    auth_ldap_user_search_filter: "(uid=%(user)s)"
    auth_ldap_group_search_base_dn: "cn=groups,cn=accounts,dc=example,dc=com"
    auth_ldap_group_search_scope: "SUBTREE"
    auth_ldap_group_search_filter: "(objectClass=groupofnames)"
    auth_ldap_group_type_class: "django_auth_ldap.config:GroupOfNamesType"
    auth_ldap_user_flags_by_group__is_superuser: "cn=superuserexample,cn=groups,cn=accounts,dc=example,dc=com"
    auth_ldap_mirror_groups: False
    
    # LDAP Backend
    ldap_logging: True
    auth_ldap_start_tls: True
    use_galaxy_ldap_self_signed_cert: True
    
    
    この例では、次のようになります。
    • config_ldap

      LDAP統合を有効にするには、config_ldapパラメータの値をTrueに設定します。

    • auth_ldap_server_uri
      LDAPサーバーにアクセスするためのURIをフォーマットで指定: ldap://<host>。ここで、<host>はLDAPサーバーのホスト名です。 このフィールドは必須です。 たとえば、
      ldap://ldap1.example.com

      サーバーがStartTLS機能を使用する場合、URIスキーム内でプロトコルをldapに設定し、auth_ldap_start_tlsオプションを有効にできます。

    • auth_ldap_bind_dn

      バインド操作を使用してLDAPサーバーに対してOracle Linux Automation Managerを認証するために使用する識別名(DN)を指定します。 LDAPサーバーが匿名アクセスを許可しない場合、このフィールドは必須です。 たとえば:

      uid=admin,cn=users,cn=accounts,dc=example,dc=com
    • auth_ldap_bind_password

      前に指定したバインドDNのバインド・パスワードを指定します。

    • auth_ldap_user_search_base_dn

      ディレクトリ内でユーザーがリストされるDNを指定します。

    • auth_ldap_user_search_scope

      ユーザーがリストされているベースDNでLDAP検索問合せを実行するときに使用するスコープを指定します。 通常、スコープ値は1レベルの深さ、ONELEVEL、またはサブツリー全体SUBTREEのいずれかに設定されます。

    • auth_ldap_user_search_filter

      ユーザーがリストされているベースDNでLDAP検索問合せを実行する際に適用される検索フィルタを指定します。 %(user)s構文を使用すると、属性またはキーを、認証時にユーザーが指定したユーザー名の値と一致させることができます。

    • auth_ldap_group_search_base_dn

      LDAP検索問合せを実行してユーザーのグループ・メンバーシップを決定する際に使用するベースDNを指定します。

    • auth_ldap_group_search_scope

      ディレクトリにグループがリストされているベースDNでLDAP検索問合せを実行するときに使用するスコープを指定します。 通常、スコープ値は1レベルの深さ、ONELEVEL、またはサブツリー全体SUBTREEのいずれかに設定されます。

    • auth_ldap_group_search_filter

      ディレクトリにグループがリストされているベースDNでLDAP検索問合せを実行するときに適用する検索フィルタを指定します。

    • auth_ldap_group_type_class

      適切なLDAPグループ・タイプを指定して、認可の実行時にLDAPサーバーがユーザーのグループ・メンバーシップを決定する方法を定義します。 LDAPグループ・タイプは、LDAPサーバーにリストされているグループに対して定義されているObjectClassesにマップされ、LDAPサーバーの実装によって異なる場合があります。 このパラメータの値は、基礎となるDjangoフレームワークおよびフレームワークが認識するLDAP ObjectClassesに関連しています。 したがって、値の前にdjango_auth_ldap.config:が付きます。

    • auth_ldap_user_flags_by_group__is_superuser
      このグループに関連付けられているすべてのユーザーには、Private Automation Hubに対するスーパーユーザー権限があります。

      注意:

      この値でエラーが発生した場合、インストール・プロセスの完了後にPrivate Automation Hubにログインできません。 ログインする前に、エラーを修正し、インストール・プロセスを再度実行する必要があります。 指定されたスーパーユーザー・グループでLDAPサーバーがまだ構成されていない場合は、ローカルに定義された管理ユーザーを除き、スーパーユーザー・グループ情報がLDAPサーバーに追加されるまで、Private Automation Hubにログインできません。
    • auth_ldap_mirror_groups

      この機能を有効にすると、ユーザーがPrivate Automation Hubにログインするたびに、Private Automation Hubでユーザーに関連付けられたLDAPグループがミラー化されます。 この機能を有効にするには、この値をTrueに設定します。

    • ldap_logging

      LDAPアクティビティのログを保持するには、ldap_logging値をTrueに設定します。 ロギングは、認証の問題のデバッグに役立ちます。

    • auth_ldap_start_tls

      LDAPサーバーがStartTLS機能を使用する場合、auth_ldap_server_uriで使用されるURIスキーム内でプロトコルを'ldap'に設定し、auth_ldap_start_tls値をTrueに設定できます。

    • use_galaxy_ldap_self_signed_cert

      LDAPサーバー上のTLSまたはSSLに使用される証明書が自己署名で、CAに対する証明書の検証を無効にする場合は、use_galaxy_ldap_self_signed_cert値をTrueに設定します。