UiPath Documentation
automation-suite
2022.4
false
Automation Suite インストール ガイド
重要 :
このコンテンツの一部は機械翻訳によって処理されており、完全な翻訳を保証するものではありません。 新しいコンテンツの翻訳は、およそ 1 ~ 2 週間で公開されます。

uipathctl.sh を使用する

uipathctl.sh スクリプトを使用すると、スクリプトを 1 つのノードで実行することにより、新しいバージョンへのクラスターのアップグレード、バックアップの構成、クラスターの復元を自動化できます。これらのタスクの自動化は、IT オートメーション ツール Ansible を使用して行われます。

要件​

Ansible は、SSH メカニズムを使用して任意のホスト ノードまたはマシンにログインし、タスクを実行します。

uipathctl.sh スクリプトを実行する前に、次の手順を実行する必要があります。

  1. Ansible ホスト ノードを識別します。
  2. ノードの SSH 署名を既知のホストに追加します。
  3. SSH 認証方法を設定します。
  4. Ansible およびその他の前提条件ツールをインストールします。

手順については、以下のセクションをご覧ください。

Ansible ホスト ノードを識別する​

Ansible ホスト ノードは、Ansible をインストールするマシンです。クラスター内ですべてのオートメーションを実行するために必要な権限が付与されるように、このマシンはサーバー ノードである必要があります。

オンライン インストールの場合、Ansible ホスト ノードは任意のサーバー ノードにすることができます。

オフライン インストールの場合、Ansible ホスト ノードは、UiPath バンドル ディスクを /uipath の場所にマウントしたプライマリ サーバー ノードである必要があります。UiPath バンドル ディスクがアタッチされたサーバー ノードがない場合は、追加のディスクを既存のサーバー ノードのいずれかにマウントし、そのノードを Ansible ホスト ノードと見なすことができます。

ノードの SSH 署名を既知のホストに追加する​

ノードの SSH 署名を既知のホストに追加するには、クラスター内の各ノードのプライベート IP アドレスを Ansible ホスト ノードの known_hosts ファイルに追加します。

<node-private-ip> をクラスター内の各ノードのプライベート IP アドレスに置き換えて、次のコマンドを Ansible ホスト ノードで 1 つずつ実行します。

ssh-keyscan -H <node-private-ip> >> ~/.ssh/known_hosts
ssh-keyscan -H <node-private-ip> >> ~/.ssh/known_hosts

SSH 認証方法を設定する​

Ansible は、次の 2 つの SSH メカニズムをサポートしています。

手順 1: SSH キーを設定する​

SSH キー認証メカニズムでは、秘密キーと公開キーの組み合わせを使用します。

公開キーをコピーすることにより、他のすべてのノードで Ansible ホスト ノードの公開キーへのアクセス権を付与してください。

SSH キーがない場合は、ssh-keygen コマンドを実行して生成できます。

SSH キーを生成する

ssh-keygen コマンドを使用して新しい SSH キーを生成できます。新しい SSH キーを生成するには、ssh-keygen コマンドを実行して指示に従います。

新しい SSH キーを生成するには、次の手順を実行します。

  1. ssh-keygen コマンドを使用して新しい SSH キーを生成します。
  2. キーの場所を書き留めておきます。既定値は次のとおりです。
    • 公開キー: ~/.ssh/id_rsa.pub
    • 秘密キー: ~/.ssh/id_rsa
  3. 公開キーをコピーすることにより、他のすべてのノードで Ansible ホスト ノードの公開キーへのアクセス権を付与します。

各ノードの公開キーへのアクセス権を付与する

公開キーへのアクセス権を付与するには、ssh-copy-id コマンドを使用して、公開キーをクラスター内のすべてのノード (現在のノードを含む) にコピーします。SSH 公開キーのパスが ~/.ssh/id_rsa.pub ではない場合は、適宜置き換えてください。

ssh-copy-id -i ~/.ssh/id_rsa.pub username@node-private-ip
ssh-copy-id -i ~/.ssh/id_rsa.pub username@node-private-ip
手順 2: Ansible に SSH キー アクセスを提供する​

Ansible は、SSH のメカニズムを使用してホスト マシンにログインし、必要なインストールを実行します。このため、Ansible に SSH キー アクセスを提供する必要があります。

次のいずれかの方法から選択します。

オプション 1: ssh-agent を使用する (推奨)

By default, Ansible uses ssh-agent to obtain access to nodes. For more information about ssh-agent, see ssh-agent manual.

新しいキーを ssh-agent に追加するには、次のコマンドを実行します。

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa

オプション 2: 保護されていない秘密キーを使用する

注:

このオプションは、秘密キーがパスフレーズで保護されていない場合にのみサポートされます。

この方法では、uipathctl.sh スクリプトに --ansible-private-key パラメーターを追加して、秘密キーを対話型で使用する必要があります。このパラメーターにより、秘密キーの絶対パスを取得して認証に使用します。

オプション 2: パスワードベースの SSH 認証​

パスワードベースの SSH 認証を選択した場合は、uipathctl.sh スクリプトに --ansible-ask-password パラメーターを指定する必要があります。このパラメーターにより、認証用のパスワードの入力を求められます。

Ansible およびその他の前提条件ツールをインストールする​

Ansible およびその他の前提条件ツールがインストールされているかどうかを確認する​

前に選択した Ansible ホスト ノードに、Ansible と以下のその他のサポート ツールがインストールされていることを確認する必要があります。

  • ansible (v2.8 以上)

    ansible がインストールされているかどうかを確認するには、以下を実行します。

    ansible --version &>/dev/null || echo "Error: Ansible is not installed"
    ansible --version &>/dev/null || echo "Error: Ansible is not installed"
    
  • ansible-playbook

    ansible-playbook がインストールされているかどうかを確認するには、以下を実行します。

    ansible-playbook --version &>/dev/null || echo "Error: Ansible Playbook is not installed"
    ansible-playbook --version &>/dev/null || echo "Error: Ansible Playbook is not installed"
    
  • sshpass – --ansible-ask-password パラメーターと共に認証にパスワードを使用する場合にのみ必要です。

    sshpass がインストールされているかどうかを確認するには、以下を実行します。

    sshpass -V &>/dev/null || echo "Error: sshpass is not installed"
    sshpass -V &>/dev/null || echo "Error: sshpass is not installed"
    
  • zip – zip がインストールされているかどうかを確認するには、以下を実行します。

    zip --version &>/dev/null || echo "Error: zip is not installed"
    zip --version &>/dev/null || echo "Error: zip is not installed"
    
    重要:

    前のコマンドのいずれかでエラーが発生する場合、対象のパッケージがマシンにインストールされていません。必要なツールをすべてインストールするには、次のセクションの手順を実行します。すべてのツールが既にインストールされている場合、以下の手順は省略できます。

Ansible およびその他の前提条件ツールをインストールする​

Ansible とその他の関連パッケージをインストールするには、次の手順を実行します。

  1. Ansible ホスト ノードのインストーラー フォルダーに移動します。インストーラーは通常、/opt/UiPathAutomationSuite/{version} フォルダーにあります。
  2. 次のコマンドを実行します:
  • オンラインの場合:

    ./uipathctl.sh install-prerequisites --install-type online --accept-license-agreement
    ./uipathctl.sh install-prerequisites --install-type online --accept-license-agreement
    
    • オフラインの場合:

You need an additional Ansible tarball, which contains Ansible and other dependent packages. Download ansible.tar.gz and store it anywhere outside the installer folder. For download instructions, see ansible.tar.gz.

ansible.tar.gz が別の場所にある場合は、--offline-prerequisites-bundle パラメーターの絶対的な場所を更新します。

./uipathctl.sh install-prerequisites --install-type offline --offline-prerequisites-bundle ../ansible.tar.gz --accept-license-agreement
./uipathctl.sh install-prerequisites --install-type offline --offline-prerequisites-bundle ../ansible.tar.gz --accept-license-agreement

Ansible の高度な構成​

Ansible Inventory.ini ファイルを生成する​

バックアップの構成時やアップグレード時など、一部のシナリオでは、Automation Suite によって Ansible の inventory.ini ファイルが自動的に生成されます。ただし、inventory.ini ファイルを構築して Ansible に提供しなければならない状況はほとんどありません。例:

  • クラスターをバックアップ データから復元している間。これは、復元時点では、inventory.ini を派生させるための正常なクラスターがないためです。
  • ユーザー名や SSH キーなど、ノードごとの固有性が非常に高い高度な構成を提供する場合。

For more details, see How to build your own inventory.

次のコード ブロックは、uipathctl.sh スクリプトが認識するインベントリ テンプレートを示しています。

[FIRST_SERVER]
'10.0.1.1'
[SECONDARY_SERVERS]
'10.0.1.2'
'10.0.1.3'
[AGENTS]
'10.0.1.4'
'10.0.1.5'
[TASKMINING]
'10.0.1.6'
[GPU]
'10.0.1.7'
[all:vars]
ansible_connection=ssh
ansible_timeout=10
ansible_user=admin
[FIRST_SERVER]
'10.0.1.1'
[SECONDARY_SERVERS]
'10.0.1.2'
'10.0.1.3'
[AGENTS]
'10.0.1.4'
'10.0.1.5'
[TASKMINING]
'10.0.1.6'
[GPU]
'10.0.1.7'
[all:vars]
ansible_connection=ssh
ansible_timeout=10
ansible_user=admin
グループ 値 (Value)

[FIRST_SERVER]

uipathctl.sh スクリプトを実行する開始点です。これは Ansible ホスト ノードとも呼ばれます。

このノードのプライベート IP アドレスを指定する必要があります。

[SECONDARY_SERVER]

クラスター内の他のサーバー ノードのグループです。

他のすべてのサーバー ノードのプライベート IP アドレスを指定する必要があります。

[AGENTS]

クラスター内のエージェント ノードのグループです。

すべてのエージェント ノードのプライベート IP アドレスを指定する必要があります。

[TASKMINING]

クラスター内の Task Mining ノードのグループです。

すべての Task Mining ノードのプライベート IP アドレスを指定する必要があります。

[GPU]

クラスター内の GPU ノードのグループです。

すべての GPU ノードのプライベート IP アドレスを指定する必要があります。

[all:vars]

すべての定義済みホスト グループに適用される変数のグループです。

  • ansible_connection - 認証方法です。キーベースの SSH 認証と、パスワードベースの SSH 認証の 2 つの SSH メカニズムがサポートされています。

  • ansible_timeout - SSH 接続を確立できる既定の時間です。この時間を超えると、操作はタイムアウトします。接続の確立後に、接続へのアクセスに要する時間も制御します。

  • ansible_user - リモート サーバーにログインするユーザーの名前です。

You can provide the variables per group or per host node. For details, see Assigning a variable to many machines: group variables.

Ansible 変数ファイルを生成する​

他のノードでの Ansible オーケストレーションでは、Ansible が他のノード上のインストーラーと、対応するファイルの場所を判断するために使用するパラメーターをいくつか定義する必要があります。これらのパラメーターは、Yaml ファイルで定義して Ansible に提供します。

既定の構成を変更する場合は、次の形式のファイルを作成し、--ansible-variables-file を使用して uipathctl.sh に提供します。

#Path where installer zip is available. By default, uipathctl.sh takes the current folder and compress it to zip before copying it to other nodes.
installer_path: /path/to/installer.zip
# Path where installer will be copied on nodes
target_installer_base_path: /opt/UiPathAutomationSuite/<version>/installer
# Install type - online or offline
install_type: online
# Path on nodes where offline bundles will be copied
target_bundle_base_path: /opt/UiPathAutomationSuite/{version}
# Path on nodes where offline bundles will be extracted
target_tmp_path: /opt/UiPathAutomationSuite/tmp
# Basepath and filname for the various config files and bundles on the local machine
cluster_config_filename: cluster_config.json
cluster_config_basepath: /var/tmp/uipathctl_{version}
backup_config_filename: backup_config.json
backup_config_basepath: /var/tmp/uipathctl_{version}
restore_config_filename: restore.json
restore_config_basepath: /var/tmp/uipathctl_{version}
infra_bundle_filename: sf-infra.tar.gz
infra_bundle_basepath: /var/tmp/uipath_upgrade_<version>
#Path where installer zip is available. By default, uipathctl.sh takes the current folder and compress it to zip before copying it to other nodes.
installer_path: /path/to/installer.zip
# Path where installer will be copied on nodes
target_installer_base_path: /opt/UiPathAutomationSuite/<version>/installer
# Install type - online or offline
install_type: online
# Path on nodes where offline bundles will be copied
target_bundle_base_path: /opt/UiPathAutomationSuite/{version}
# Path on nodes where offline bundles will be extracted
target_tmp_path: /opt/UiPathAutomationSuite/tmp
# Basepath and filname for the various config files and bundles on the local machine
cluster_config_filename: cluster_config.json
cluster_config_basepath: /var/tmp/uipathctl_{version}
backup_config_filename: backup_config.json
backup_config_basepath: /var/tmp/uipathctl_{version}
restore_config_filename: restore.json
restore_config_basepath: /var/tmp/uipathctl_{version}
infra_bundle_filename: sf-infra.tar.gz
infra_bundle_basepath: /var/tmp/uipath_upgrade_<version>
変数値 (Value)
installer_pathsf-installer.zip のパスです。この値を指定しない場合、uipathctl.sh は現在のディレクトリを圧縮して、インストーラーの zip として他のノードにコピーします。
target_installer_base_pathインストーラーをコピーするノード上の場所のパスです。既定値: `/opt/UiPathAutomationSuite/{version
install_typeインストール方法です。設定可能な値は、online および offline です。
target_bundle_base_pathオフライン バンドルをコピーするノード上のパスです。既定の場所は /var/tmp/uipathctl_{version} です。
target_tmp_pathバンドルを抽出するノード上のパスです。既定の場所は /opt/UiPathAutomationSuite/tmp です。
cluster_config_filenameクラスター構成ファイルの名前です。既定値は cluster_config.json です。
cluster_config_basepathオーケストレーション中に cluster_config.json を一時的に保存するノード上の場所です。既定値は /var/tmp/uipathctl_{version} です。
backup_config_filenameバックアップ構成ファイルの名前です。既定値は backup.json です。
backup_config_basepathオーケストレーション中に backup.json を一時的に保存するノード上の場所です。既定値は /var/tmp/uipathctl_{version} です。
restore_config_filename復元構成ファイルの名前です。既定値は restore.json です。
restore_config_basepathオーケストレーション中に restore.json を一時的に保存するノード上の場所です。既定値: `/var/tmp/uipathctl_{version
infra_bundle_filenameインフラストラクチャ レイヤーを含むバンドルの名前です。これは、uipathctl.sh スクリプトで指定した名前と同じです。
infra_bundle_basepathオーケストレーション中に sf-infra.tar.gz を一時的に保存するノード上の場所です。これは、uipathctl.sh スクリプトで指定した名前と同じです。

このページは役に立ちましたか?

接続

ヘルプ リソース サポート

学習する UiPath アカデミー

質問する UiPath フォーラム

最新情報を取得