- 概要
- 要件
- インストール
- インストール後
- クラスターの管理
- 監視とアラート機能
- 移行とアップグレード
- 製品固有の設定
- ベスト プラクティスとメンテナンス
- トラブルシューティング
- インストール時にサービスをトラブルシューティングする方法
- クラスターをアンインストールする方法
- オフライン成果物をクリーンアップしてディスク領域を改善する方法
- Redis データをクリアする方法
- Istio ログを有効化する方法
- ログを手動でクリーンアップする方法
- sf-logs バケットに保存されている古いログをクリーンアップする方法
- AI Center のストリーミング ログを無効化する方法
- 失敗した Automation Suite インストールをデバッグする方法
- アップグレード後に古いインストーラーからイメージを削除する方法
- Longhorn のスナップショットを自動的にクリーンアップする方法
- TX チェックサム オフロードを無効化する方法
- TLS 1.2 で弱い暗号に対処する方法
- RHEL 8.4 OS でオフライン インストールを実行できない
- バンドルのダウンロード中のエラー
- バイナリがないため、オフライン インストールが失敗する
- オフライン インストールでの証明書の問題
- Longhorn のセットアップ中に最初のインストールが失敗する
- SQL 接続文字列の検証エラー
- selinux iscsid モジュールの前提条件の確認が失敗する
- Azure ディスクが SSD としてマークされない
- 証明書の更新後のエラー
- OS のアップグレード後に Automation Suite が動作しない
- Automation Suite で Backlog_wait_time を 1 に設定する必要がある
- ワークロードの準備ができていないためボリュームをマウントできない
- インストールおよびアップグレード中に RKE2 が失敗する
- 管理ポータルのタイムアウト期間を設定する
- 基になるディレクトリ接続を更新する
- 移行後にログインできない
- Kinit: Cannot Find KDC for Realm <AD Domain> While Getting Initial Credentials
- kinit: Keytab contains no suitable keys for *** while getting initial credentials
- GSSAPI operation failed with error: An invalid status code was supplied (Client's credentials have been revoked).
- Alarm received for failed kerberos-tgt-update job
- SSPI Provider: Server not found in Kerberos database
- Login Failed for User <ADDOMAIN><aduser>. Reason: The Account Is Disabled.
- ArgoCD へのログインに失敗した
- サンドボックス イメージを取得できない
- ポッドが ArgoCD UI に表示されない
- Redis プローブの障害
- RKE2 サーバーの起動に失敗する
- UiPath 名前空間でシークレットが見つからない
- 初期インストール後、ArgoCD アプリが Progressing ステートになる
- MongoDB ポッドが CrashLoopBackOff になるか、削除後に PVC プロビジョニングの保留中になる
- Unexpected inconsistency; run fsck manually
- クラスターの復元後に MongoDB またはビジネス アプリケーションの機能が低下する
- self-heal-operator および sf-k8-utils リポジトリが見つからない
- クラスターの復元またはロールバック後にサービスが異常になる
- RabbitMQ ポッドが CrashLoopBackOff でスタックする
- Prometheus が CrashloopBackoff ステートにあり、メモリ不足 (OOM) エラーを伴う
- Ceph-rook のメトリックが監視ダッシュボードに表示されない
- プロキシ環境でポッドが FQDN と通信できない
- Automation Suite 診断ツールを使用する
- Automation Suite サポート バンドルを使用する
- ログを確認する
uipathctl.sh を使用する
uipathctl.sh スクリプトを使用すると、スクリプトを 1 つのノードで実行することにより、新しいバージョンへのクラスターのアップグレード、バックアップの構成、クラスターの復元を自動化できます。これらのタスクの自動化は、IT オートメーション ツール Ansible を使用して行われます。
要件
Ansible は、SSH メカニズムを使用して任意のホスト ノードまたはマシンにログインし、タスクを実行します。
uipathctl.sh スクリプトを実行する前に、次の手順を実行する必要があります。
- Ansible ホスト ノードを識別します。
- ノードの SSH 署名を既知のホストに追加します。
- SSH 認証方法を設定します。
- 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 メカニズムをサポートしています。
- Option 1: Key-based SSH authentication – Recommended. It uses private and public keys.
- オプション 2: パスワードベースの SSH 認証
オプション 1: キーベースの SSH 認証 (推奨)
手順 1: SSH キーを設定する
SSH キー認証メカニズムでは、秘密キーと公開キーの組み合わせを使用します。
公開キーをコピーすることにより、他のすべてのノードで Ansible ホスト ノードの公開キーへのアクセス権を付与してください。
SSH キーがない場合は、ssh-keygen コマンドを実行して生成できます。
SSH キーを生成する
ssh-keygen コマンドを使用して新しい SSH キーを生成できます。新しい SSH キーを生成するには、ssh-keygen コマンドを実行して指示に従います。
新しい SSH キーを生成するには、次の手順を実行します。
ssh-keygenコマンドを使用して新しい SSH キーを生成します。- キーの場所を書き留めておきます。既定値は次のとおりです。
- 公開キー:
~/.ssh/id_rsa.pub - 秘密キー:
~/.ssh/id_rsa
- 公開キー:
- 公開キーをコピーすることにより、他のすべてのノードで 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-playbookansible-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 とその他の関連パッケージをインストールするには、次の手順を実行します。
- Ansible ホスト ノードのインストーラー フォルダーに移動します。インストーラーは通常、
/opt/UiPathAutomationSuite/{version}フォルダーにあります。 - 次のコマンドを実行します:
-
オンラインの場合:
./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) |
|---|---|
|
|
このノードのプライベート IP アドレスを指定する必要があります。 |
|
|
クラスター内の他のサーバー ノードのグループです。 他のすべてのサーバー ノードのプライベート IP アドレスを指定する必要があります。 |
|
|
クラスター内のエージェント ノードのグループです。 すべてのエージェント ノードのプライベート IP アドレスを指定する必要があります。 |
|
|
クラスター内の Task Mining ノードのグループです。 すべての Task Mining ノードのプライベート IP アドレスを指定する必要があります。 |
|
|
クラスター内の GPU ノードのグループです。 すべての GPU ノードのプライベート IP アドレスを指定する必要があります。 |
|
|
すべての定義済みホスト グループに適用される変数のグループです。
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_path | sf-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 スクリプトで指定した名前と同じです。 |