2 Private Automation Hubのインストール
この章では、ホストの設定方法とPrivate Automation Hubソフトウェアのインストール方法を示し、リモート・データベースまたはローカル・データベースを使用するためのオプションを提供します。
単一ホストへのインストール
この項では、データベースがローカルまたはリモート・ホストにある単一ホストにPrivate Automation Hubをインストールする手順を示し、パスワードなしのSSH接続が設定されていることを前提としています。
ホストを設定するには:
- デプロイメント・ホストで、パスワードなしSSHで構成されたユーザーとしてターゲット・ホストにログインします。 詳細については、「パスワードなしSSHの設定」を参照してください。
- python 3.6がホストにインストールされていることを確認します。 python 3.6がインストールされていない場合は、次のコマンドを実行します:
sudo dnf install python36
-
Private Automation Hubソフトウェアをインストールします:
sudo dnf install ol-private-automation-hub-installer
- /single-nodeフォルダの内容を作業ディレクトリにコピーします。
cp -r /usr/share/ansible/collections/ansible_collections/oraclelinux/private_automation_hub/playbooks/single-node/ ~/single_node
- 作業ディレクトリから、
hosts.singlenode.example
からhosts
ファイルを作成します。 たとえば、cd ~/single_node cp hosts.singlenode.example hosts
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権限が必要です。
- <ip_address_or_hostname>は、Private Automation Hubをインストールするターゲット・ノードのIPアドレスまたはホスト名です。 このホストは、デプロイメント・ホストからSSHを使用して再アクセス可能である必要があります。
- インストール時に使用する追加のインストール・パラメータを構成する場合は、「インストール・パラメータ・ファイルの構成」の説明に従ってインストール・パラメータ・ファイルを設定します。
- 次のいずれかの操作を行います。
- Private Automation Hubを実行している同じホストにローカル・データベースをインストールする場合は、次のコマンドを実行します:
前の例で、<admin_password>および<db_password>は、デフォルトの管理ユーザーおよびデータベース・ユーザー・アカウントのパスワードです。ansible-playbook single-node-install.yml -i hosts -e "olpah_admin_password=<admin_password> olpah_db_password=<db_password>"
ノート:
パラメータ・ファイルを使用する場合は、コマンドの最後に次を追加します:-e "@single-node-vars.yml"
- リモート・ホスト上の既存のデータベースを使用する場合は、次のコマンドを実行します:
- リモート・データベースにログインします。
- データベース・ユーザー・アカウントを作成します。 たとえば:
sudo su - postgres -c "createuser -S -P pulp"
- pulpユーザーのパスワードを入力して確認します。
ノート:
これは、前のステップで指定したものと同じ<db_password>である必要があります。Enter password for new role: Enter it again:
- データベース・インスタンスを作成します たとえば:
sudo su - postgres -c "createdb -O pulp pulp"
single-node-install.yml
ファイルから、pulp_database
ロールを削除します。"@single-node-vars.yml"
変数ファイルで、リモート・データベース(existing_db_host: <db_hostname_or_ip_address>
)のデータベース・ホスト名またはIPアドレスを設定します。 パラメータ・ファイルを使用したインストールの詳細は、「インストール・パラメータ・ファイルの構成」を参照してください。- デプロイメント・サーバーに戻り、次のコマンドを実行します:
前の例で、<admin_password>および<db_password>は、デフォルトの管理ユーザーおよびデータベース・ユーザー・アカウントのパスワードです。ansible-playbook single-node-install.yml -i hosts -e "olpah_admin_password=<admin_password> olpah_db_password=<db_password>" -e "@single-node-vars.yml"
- Private Automation Hubを実行している同じホストにローカル・データベースをインストールする場合は、次のコマンドを実行します:
-
ホストの準備ができました。 ブラウザを使用して、管理ユーザーとしてログインできるようになりました。
https://<ip_address_or_hostname>
インストール・パラメータ・ファイルの構成
single-node-vars.yml
パラメータ・ファイルを編集します。
ノート:
Private Automation Hubのインストール前またはインストール後に、パラメータ・ファイルを構成できます。 Private Automation Hubのインストール後に実行する場合は、このステップを完了し、「単一ホストへのインストール」の説明に従ってプレイブックを再実行する必要があります。- パラメータ・ファイルで、必要な追加パラメータを追加します。 たとえば:
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://192.0.121.30/yum/OracleLinux/OL8/automation2/$basearch/ol8_x86_64_automation2/"
- 収集アップロードの承認プロセスを有効にする場合は、パラメータ・ファイルで次のパラメータを有効にします。
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.1: Private Automation Hubユーザーズ・ガイド」を参照してください。 - Private Automation HubをLDAPサーバーと統合する場合は、「LDAPパラメータの構成」で説明されているLDAPパラメータを追加します。
- リモート・データベースを使用する場合は、次のパラメータをパラメータ・ファイルに追加します。 たとえば、
LDAPパラメータの構成
- パラメータ・ファイルを編集し、次の必須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に設定します。