- 概要
- 要件
- インストール
- インストール後
- クラスターの管理
- 監視とアラート機能
- 移行とアップグレード
- 製品固有の設定
- ベスト プラクティスとメンテナンス
- トラブルシューティング
- インストール時にサービスをトラブルシューティングする方法
- クラスターをアンインストールする方法
- オフライン成果物をクリーンアップしてディスク領域を改善する方法
- Redis データをクリアする方法
- Istio ログを有効化する方法
- ログを手動でクリーンアップする方法
- sf-logs バケットに保存されている古いログをクリーンアップする方法
- AI Center のストリーミング ログを無効化する方法
- 失敗した Automation Suite インストールをデバッグする方法
- アップグレード後に古いインストーラーからイメージを削除する方法
- Longhorn のスナップショットを自動的にクリーンアップする方法
- TX チェックサム オフロードを無効化する方法
- ArgoCD のログ レベルを手動で Info に設定する方法
- 外部レジストリーのエンコードされたpull_secret_valueを生成する方法
- TLS 1.2 で弱い暗号に対処する方法
- 証明書の操作方法
- クラスター内の ObjectStore (Ceph) を使用して DU の使用状況データを収集する方法
- エアギャップ環境に RKE2 SELinux をインストールする方法
- NFS サーバー上の古い差分バックアップをクリーンアップする方法
- RHEL 8.4 OS でオフライン インストールを実行できない
- バンドルのダウンロード中のエラー
- バイナリがないため、オフライン インストールが失敗する
- オフライン インストールでの証明書の問題
- Longhorn のセットアップ中に最初のインストールが失敗する
- SQL 接続文字列の検証エラー
- selinux iscsid モジュールの前提条件の確認が失敗する
- Azure ディスクが SSD としてマークされない
- 証明書の更新後のエラー
- ウイルス対策が原因でインストールの問題が発生する
- OS のアップグレード後に Automation Suite が動作しない
- Automation Suite で backlog_wait_time を 0 に設定する必要がある
- リソースが利用できないことの影響を受ける GPU ノード
- ワークロードの準備ができていないためボリュームをマウントできない
- サポート バンドルのログ収集の失敗
- 管理ポータルのタイムアウト期間を設定する
- 基になるディレクトリ接続を更新する
- 移行後に認証が機能しない
- Kinit: Cannot find KDC for realm <AD Domain> while getting initial credentials
- kinit: Keytab contains no suitable keys for *** while getting initial credentials
- 無効なステータス コードが原因で GSSAPI 操作が失敗した
- Alarm received for failed kerberos-tgt-update job
- SSPI Provider: Server not found in Kerberos database
- アカウントが無効なため AD ユーザーのログインに失敗した
- ArgoCD へのログインに失敗した
- サンドボックス イメージを取得できない
- ポッドが ArgoCD UI に表示されない
- Redis プローブの障害
- RKE2 サーバーの起動に失敗する
- UiPath 名前空間でシークレットが見つからない
- 初回インストール後に ArgoCD が進行中ステートになる
- ArgoCD の読み取り専用アカウントにアクセスする際の問題
- MongoDB ポッドが CrashLoopBackOff になるか、削除後に PVC プロビジョニングの保留中になる
- クラスターの復元またはロールバック後にサービスが異常になる
- Init:0/X でポッドがスタックする
- Prometheus が CrashloopBackoff ステートにあり、メモリ不足 (OOM) エラーを伴う
- Ceph-rook のメトリックが監視ダッシュボードに表示されない
- プロキシ環境でポッドが FQDN と通信できない
- アップグレード後にメール アラートを設定できない
- アップストリームに正常な問題はありません
- Automation Suite 診断ツールを使用する
- Automation Suite サポート バンドルを使用する
- ログを確認する
Linux の Automation Suite のインストール ガイド
uipathctl.sh スクリプトを使用すると、スクリプトを 1 つのノードで実行することにより、新しいバージョンへのクラスターのアップグレード、バックアップの構成、クラスターの復元を自動化できます。これらのタスクの自動化は、IT オートメーション ツール Ansible を使用して行われます。
|
パラメーター |
説明 |
|---|---|
|
|
クラスターをアップグレードします。 |
|
|
SSO を有効化するための Dex コネクタを表すサンプル ファイルを生成します。 |
|
|
サンプルの ArgoCD RBAC ファイルを生成します。 |
|
|
SSO を使用して ArgoCD と Dex をデプロイするための Kustomize オーバーレイを生成します。デバッグに便利です。 |
|
|
SSO を使用した ArgoCD と Dex の Kustomize オーバーレイを生成して適用します。 |
|
|
このフラグは、
upgrade コマンドを使用する場合にのみ表示されます。
アップグレード操作中に実行する手順です。既定値は
all です。
|
|
|
インストールの種類です。アップグレードと復元に必要です。 |
|
|
cluster_config.json ファイルへのパスです。指定しない場合、構成ファイルが生成されます。
|
|
|
クラスターへの接続を許可する Kubeconfig ファイルへのパスです。既定値は
/etc/rancher/rke2/rke2.yaml です。
|
|
|
クラスターを記述する有効な Ansible インベントリへのパスです。指定しない場合、インベントリが生成されます。 |
|
|
Ansible がクラスター ノードに接続するために使用するユーザー名です。既定では、現在のユーザーが設定されます。 |
|
|
クラスター ノードへの接続を提供する SSH 秘密キーです。指定しない場合、一連のパスワードの入力を求められます。 |
|
|
SSH 接続と昇格用に設定されたパスワードを要求するよう Ansible に要求します。 |
|
|
使用するカスタム
ansible.cfg へのパスを指定します。
|
|
|
as-infra.tar.gz ファイルへのパスです。オフライン アップグレードの場合に必要です。
|
|
|
CNI のアップグレードを実行しません。 |
|
|
sso-generate-connector のコネクタの種類です。
|
|
|
SSO 連携用の Dex コネクタを含むファイルへのパスです。 |
|
|
SSO 連携用の Dex コネクタを含むファイルへのパスです。 |
Ansible は、SSH メカニズムを使用して任意のホスト ノードまたはマシンにログインし、タスクを実行します。
uipathctl.sh スクリプトを実行する前に、次の手順を実行する必要があります。
- Ansible ホスト ノードを識別します。
- ノードの SSH 署名を既知のホストに追加します。
- SSH 認証方法を設定します。
- Ansible およびその他の前提条件ツールをインストールします。
Ansible ホスト ノードに以下のツールがインストールされていることを確認する必要があります。
ansible(v2.8 以上)ansible-playbooksshpass– --ansible-ask-password パラメーターと共に認証にパスワードを使用する場合にのみ必要です。zip
手順については、以下のセクションをご覧ください。
Ansible ホスト ノードは、Ansible をインストールするマシンです。クラスター内ですべてのオートメーションを実行するために必要な権限が付与されるように、このマシンはサーバー ノードである必要があります。
オンライン インストールの場合、Ansible ホスト ノードは任意のサーバー ノードにすることができます。
/uipath の場所にマウントしたプライマリ サーバー ノードである必要があります。UiPath バンドル ディスクがアタッチされたサーバー ノードがない場合は、追加のディスクを既存のサーバー ノードのいずれかにマウントし、そのノードを Ansible ホスト ノードと見なすことができます。
known_hosts ファイルに追加します。
<node-private-ip> をクラスター内の各ノードのプライベート IP アドレスに置き換えて、次のコマンドを Ansible ホスト ノードで 1 つずつ実行します。
ssh-keyscan -H <node-private-ip> >> ~/.ssh/known_hostsssh-keyscan -H <node-private-ip> >> ~/.ssh/known_hostsAnsible は、次の 2 つの SSH メカニズムをサポートしています。
- オプション 1: キーベースの SSH 認証 – 推奨。秘密キーと公開キーを使用します。
- オプション 2: パスワードベースの SSH 認証
オプション 1: キーベースの SSH 認証 (推奨)
手順 1: SSH キーを設定する
SSH キー認証メカニズムでは、秘密キーと公開キーの組み合わせを使用します。
公開キーをコピーすることにより、他のすべてのノードで Ansible ホスト ノードの公開キーへのアクセス権を付与してください。
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-ipssh-copy-id -i ~/.ssh/id_rsa.pub username@node-private-ip手順 2: Ansible に SSH キー アクセスを提供する
Ansible は、SSH のメカニズムを使用してホスト マシンにログインし、必要なインストールを実行します。このため、Ansible に SSH キー アクセスを提供する必要があります。
次のいずれかの方法から選択します。
ssh-agent を使用する (推奨)
ssh-agent を使用してノードへのアクセスを取得します。ssh-agent の詳細については、ssh-agent のマニュアルをご覧ください。
ssh-agent に追加するには、次のコマンドを実行します。
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsaeval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsaオプション 2: 保護されていない秘密キーを使用する
uipathctl.sh スクリプトに --ansible-private-key パラメーターを追加して、秘密キーを対話型で使用する必要があります。このパラメーターにより、秘密キーの絶対パスを取得して認証に使用します。
オプション 2: パスワードベースの SSH 認証
uipathctl.sh スクリプトに --ansible-ask-password パラメーターを指定する必要があります。このパラメーターにより、認証用のパスワードの入力を求められます。
前に選択した 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" -
zipzipがインストールされているかどうかを確認するには、以下を実行します。zip --version &>/dev/null || echo "Error: zip is not installed"zip --version &>/dev/null || echo "Error: zip is not installed"重要: 前のコマンドのいずれかでエラーが発生する場合、対象のパッケージがマシンにインストールされていません。必要なツールをインストールしてください。
Yaml の出力を有効化する
yaml 出力を使用することをお勧めします。
export ANSIBLE_STDOUT_CALLBACK=yamlexport ANSIBLE_STDOUT_CALLBACK=yamlこの機能は Ansible 2.9 で導入されました。特定のインストールでは、次のコマンドを実行して有効化する必要があります。
ansible-galaxy collection install community.generalansible-galaxy collection install community.generalcommunity.general コレクションをインストールしてもまだ「ERROR! Invalid callback for stdout specified: yaml」というメッセージが表示される場合は、次のコマンドを実行して yaml の出力を無効化できます。
unset ANSIBLE_STDOUT_CALLBACKunset ANSIBLE_STDOUT_CALLBACKAnsible Inventory.ini ファイルを生成する
inventory.ini ファイルが自動的に生成されます。ただし、inventory.ini ファイルを構築して Ansible に提供しなければならない状況はほとんどありません。例:
- クラスターをバックアップ データから復元している間。これは、復元時点では、
inventory.iniを派生させるための正常なクラスターがないためです。 - ユーザー名や SSH キーなど、ノードごとの固有性が非常に高い高度な構成を提供する場合。
詳細については、独自のインベントリの構築方法に関するページをご覧ください。
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'
[ASROBOTS]
'10.0.1.8'
[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'
[ASROBOTS]
'10.0.1.8'
[all:vars]
ansible_connection=ssh
ansible_timeout=10
ansible_user=admin|
グループ |
値 (Value) |
|---|---|
|
|
uipathctl.sh スクリプトを実行する開始点です。これは Ansible ホスト ノードとも呼ばれます。
このノードのプライベート IP アドレスを指定する必要があります。 |
|
|
クラスター内の他のサーバー ノードのグループです。 他のすべてのサーバー ノードのプライベート IP アドレスを指定する必要があります。 |
|
|
クラスター内のエージェント ノードのグループです。 すべてのエージェント ノードのプライベート IP アドレスを指定する必要があります。 |
|
|
クラスター内の Task Mining ノードのグループです。 すべての Task Mining ノードのプライベート IP アドレスを指定する必要があります。 |
|
|
クラスター内の GPU ノードのグループです。 すべての GPU ノードのプライベート IP アドレスを指定する必要があります。 |
|
|
クラスター内の Automation Suite ロボット ノードのグループです。 すべての Automation Suite ロボット ノードのプライベート IP アドレスを指定する必要があります。 |
|
|
すべての定義済みホスト グループに適用される変数のグループです。
変数は、グループごとまたはホスト ノードごとに指定できます。詳しくは、「多くのマシンへの変数の割り当て: グループ変数」をご覧ください。 |
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: as-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: as-infra.tar.gz
infra_bundle_basepath: /var/tmp/uipath_upgrade_<version>|
変数 |
値 (Value) |
|---|---|
|
|
as-installer.zip のパスです。この値を指定しない場合、uipathctl.sh は現在のディレクトリを圧縮して、インストーラーの zip として他のノードにコピーします。
|
|
|
インストーラーをコピーするノード上の場所のパスです。既定値: `/opt/UiPathAutomationSuite/{version |
|
|
インストール方法です。設定可能な値は、
online および offline です。
|
|
|
オフライン バンドルをコピーするノード上のパスです。既定の場所: `/opt/UiPathAutomationSuite/{version |
|
|
バンドルを抽出するノード上のパスです。既定の場所は
/opt/UiPathAutomationSuite/tmp です。
|
|
|
クラスター構成ファイルの名前です。既定値は
cluster_config.json です。
|
|
|
オーケストレーション中に
cluster_config.json を一時的に保存するノード上の場所です。既定値は /var/tmp/uipathctl_{version} です。
|
|
|
バックアップ構成ファイルの名前です。既定値は
backup.json です。
|
|
|
オーケストレーション中に
backup.json を一時的に保存するノード上の場所です。既定値は /var/tmp/uipathctl_{version} です。
|
|
|
復元構成ファイルの名前です。既定値は
restore.json です。
|
|
|
オーケストレーション中に
restore.json を一時的に保存するノード上の場所です。既定値は /var/tmp/uipathctl_{version} です。
|
|
|
インフラストラクチャ レイヤーを含むバンドルの名前です。これは、
uipathctl.sh スクリプトで指定した名前と同じです。
|
|
|
オーケストレーション中に
as-infra.tar.gz を一時的に保存するノード上の場所です。これは、uipathctl.sh スクリプトで指定した名前と同じです。
|