- 概要
- 要件
- インストール
- インストール後
- クラスターの管理
- 監視とアラート機能
- 移行とアップグレード
- 製品固有の設定
- ベストプラクティスとメンテナンス
- トラブルシューティング
- インストール時にサービスをトラブルシューティングする方法
- クラスターをアンインストールする方法
- オフライン成果物をクリーンアップしてディスク領域を改善する方法
- Redis データをクリアする方法
- Istio ログを有効化する方法
- ログを手動でクリーンアップする方法
- sf-logs バンドルに保存されている古いログをクリーンアップする方法
- AI Center のストリーミング ログを無効化する方法
- 失敗した Automation Suite インストールをデバッグする方法
- アップグレード後に古いインストーラーからイメージを削除する方法
- Longhorn スナップショットを自動的にクリーンアップする方法
- NIC チェックサムオフロードを無効にする方法
- 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 メトリックが表示されない
- Automation Suite 診断ツールを使用する
- Automation Suite サポート バンドル ツールを使用する
- ログを確認する
Orchestrator を準備する
Orchestrator をスタンドアロンから Automation Suite に移行するには、スタンドアロンのインストールから設定と各種ファイルを収集し、Automation Suite のインストールに適用する必要があります。
web.config
、appSettings
、ストレージ、NLog、資格情報ストア、暗号化キー、テナントごとの暗号化キーを準備しなければならない場合があります。
Orchestrator をスタンドアロンから Automation Suite に移行するには、スタンドアロンのインストールから設定と各種ファイルを収集し、Automation Suite のインストールに適用する必要があります。
インストール時には一部の設定しか構成できませんが、インストール後の構成ではすべての設定が利用可能になるはずです。
- インストール時に設定を構成するには、その設定を
cluster_config.json
ファイルに追加します。 - インストール完了後の設定の更新は、設定範囲に加え、ある機能が app-of-apps パラメーターからの構成で利用可能かどうかによって異なります。
orchestrator/plugins/nlog
または orchestrator/plugins/securestore
の下にある uipath
バケットに保存されます。
以下によって、カスタム構成を追加できます。
- ArgoCD でアプリケーション パラメーターを編集する (パラメーターの上書き)
- 名前空間
uipath
から Kubernetes ConfigMaporchestrator-customconfig
内のファイルを編集する
web.config
の設定には同等の設定がありません。あるいは、他のメカニズムを使用して Automation Suite に実装されます。
以下のオプションを構成する必要があります。
security.requestFiltering.requestLimits.maxAllowedContentLength
security.requestFiltering.requestLimits.maxAllowedContentLength
後で使用できるよう、この設定の値を書き留めておきます。Automation Suite で構成する必要があるかどうかを判断します。既定値は 300MiB です。
UiPath.Orchestrator.dll.config
構成ファイルの appSettings
または secureAppSettings
セクションで行ったカスタム変更を移行する必要があります。カスタムの appSettings
と secureAppSettings
を orchestrator-customconfig
構成マップに追加できます。
UiPath.Orchestrator.dll.config
構成ファイルの appSettings
セクションで、変更または追加した設定を特定します。これらの設定を .json
ファイルに保存し、後の手順で利用できるようにします。
保護されたアプリ構成セクションを Orchestrator CLI の保護された構成オプションで復号できます。必要なのは、変更または追加し、引き続き Automation Suite で関連している設定を使用することだけです。
appSettings.custom.json
ファイルを作成できます。
{
"ExampleSetting.Enabled": true,
"ExampleSetting.Type": "BasicExample",
"ExampleSetting.Count": 3
}
{
"ExampleSetting.Enabled": true,
"ExampleSetting.Type": "BasicExample",
"ExampleSetting.Count": 3
}
ストレージの移行に何が必要か、および現在のストレージ構成をそのままにするのか、あるいは Automation Suite でストレージを管理するのかを決定します。Automation Suite には、すべての Orchestrator ポッドで利用可能な BLOB を Ceph に保存するオプションがあります。移行の場合は、既存のファイルを現在の BLOB ストレージにコピーする必要があります。
s3cmd
などの S3 ユーティリティを使用して、データを Orchestrator にコピーできます。Ceph を使用する場合は、これが既定のオプションであるため、他の構成は必要ありません。
Storage.Location
キーから取得します。Automation Suite は Linux マシンで実行されるため、ネットワーク共有へのアクセスに統合認証を利用することはできません。したがって、ネットワーク共有にアクセス可能なアカウントの資格情報が必要です。
Storage.Location
および Storage.Type
の設定を appSettings.custom.json
に追加してください。
NLog に対して以下のカスタマイズを実行できます。
- 既存のターゲットの変更
- 新しいターゲットの追加
- NLog 拡張機能の追加
構成ファイルの NLog セクションを確認し、NLog のカスタム構成を構築します。Elasticsearch でロボット ログのストレージを有効化するために、Automation Suite のパラメーターとしてユーザー名、パスワード、および URI を指定できます。ターゲットは自動的に構成されます。ロボット ログのカスタム シナリオを有効化するには、ターゲットを手動で構成する必要があります。
NLog 拡張機能が必要な場合は、すべての拡張機能とその依存関係を含むフォルダーを作成します。
nlogextensions
のような名前のフォルダーが考えられます。既定では、以下の拡張機能が Orchestrator によって読み込まれるため、フォルダーまたは NLog の構成にこれらの拡張機能を含める必要はありません。
NLog.Targets.ElasticSearch
UiPath.Orchestrator.Logs.Elasticsearch
Microsoft.ApplicationInsights.NLogTarget
NLog.Extensions.AzureEventHub
NLog.Targets.ElasticSearch
UiPath.Orchestrator.Logs.Elasticsearch
Microsoft.ApplicationInsights.NLogTarget
NLog.Extensions.AzureEventHub
nlog.custom.config
ファイルを作成します。
assemblyFile
を使用して拡張機能アセンブリを指定する項目の配列と、nlogextensions
フォルダーを基準とするこのアセンブリのパスです。
/opt/app-root/app/nlog.config.json
の場所で定義されます。
nlog.custom.config
ファイルの例を以下に示します。
{ "NLog": {
"extensions": [
{ "assemblyFile": "NLog.Extensions.AzureBlobStorage.dll" }
],
"targets": {
"azureBlob": {
"type": "AzureBlobStorage",
"connectionString": "DefaultEndpointsProtocol=https;AccountName=test;AccountKey=key;EndpointSuffix=core.windows.net",
"container": "orchestratorlogs",
"blobName": "${date:format=yyyy-MM-dd hh.mm}",
"layout": {
"type": "JsonLayout",
"includeAllProperties": true,
"Attributes": [
{"name": "ts","layout": "${longdate}"},
{"name": "level","layout": "${level:upperCase=true}"},
{"name": "logger","layout": "${logger}"},
{"name": "message","layout": "${message}"},
{"name": "exception","layout": "${onexception:${ui-pretty-exception}}"}
]
}
}
},
"rules": { "70_Final": { "writeTo": "stdout,azureBlob" } }
}
}
{ "NLog": {
"extensions": [
{ "assemblyFile": "NLog.Extensions.AzureBlobStorage.dll" }
],
"targets": {
"azureBlob": {
"type": "AzureBlobStorage",
"connectionString": "DefaultEndpointsProtocol=https;AccountName=test;AccountKey=key;EndpointSuffix=core.windows.net",
"container": "orchestratorlogs",
"blobName": "${date:format=yyyy-MM-dd hh.mm}",
"layout": {
"type": "JsonLayout",
"includeAllProperties": true,
"Attributes": [
{"name": "ts","layout": "${longdate}"},
{"name": "level","layout": "${level:upperCase=true}"},
{"name": "logger","layout": "${logger}"},
{"name": "message","layout": "${message}"},
{"name": "exception","layout": "${onexception:${ui-pretty-exception}}"}
]
}
}
},
"rules": { "70_Final": { "writeTo": "stdout,azureBlob" } }
}
}
nlogextensions
は、既知のプラグインの場所にあるオブジェクト ストアにコピーされます。NLog 構成の更新中でも、Orchestrator 構成ツールによる自動実行が可能です。まだプレフィックスが付いていない場合は、スクリプトによって nlog.custom.config
が自動的に変更され、各 assemblyFile に /var/orchestrator/plugins/nlog/
の拡張機能配列からプレフィックスが付けられます。
資格情報ストアのカスタム プラグインを Automation Suite に移行できます。そのためには、構成マップ内の構成を更新し、対応するオブジェクト ストア バケットにプラグイン アセンブリをコピーします。
- プラグインは Linux で動作する必要があります。
- プラグインは、
/tmp
以外のストレージに書き込むことはできません。
以下の資格情報ストア プラグインが、Automation Suite の Orchestrator に自動的にデプロイされます。
UiPath.Orchestrator.AzureKeyVault.SecureStore.dll
-
UiPath.Orchestrator.SecureStore.CyberArkCCP.dll
securestoreplugins
などのフォルダーにプラグインをコピーします。
appSettings.custom.json
ファイルに資格情報ストアの設定を追加します。
-
既定のプラグインを無効化するため、
appSettings.custom.json
に構成Plugins.SecureStores.Default
を空の文字列値で追加します。 -
appSettings.custom.json
で、すべてのカスタム プラグインをPlugins.SecureStores
設定に追加し、;
で区切ります。 -
次のように、カスタム プラグインの設定を追加します。
Plugins.SecureStores.<<FriendlyName>>.<<SettingName>>
securestoreplugins
プラグイン フォルダーは、既知のプラグインの場所にあるオブジェクト ストア内にコピーされます。
Plugins.SecureStores
内のアセンブリが読み込まれます。
Plugins.SecureStore.Default
内のアセンブリが読み込まれます。
既定では、インストール時に、Orchestrator がデータベース内の機密情報に使用される暗号化キーを生成します。新しい Orchestrator デプロイでデータベースを再利用する場合は、この暗号化キーを移行する必要があります。
暗号化キーを取得するには、次の手順に従います。
- 必要に応じて、
UiPath.Orchestrator.dll.config
ファイルのsecureAppSettings
セクションを復号します。詳細については、「UiPath.Orchestrator.dll.config セクションを暗号化する」をご覧ください。 UiPath.Orchestrator.dll.config
から暗号化キーを取得します。詳細については、「暗号化キー」をご覧ください。
暗号化キー証明書は、Windows 証明書ストアにインストールされます。証明書は、Orchestrator ポッドで使用できるようにするために、Automation Suite 環境に提供する必要があります。
CertificatesStoreLocation
と Azure.KeyVault.CertificateThumbprint
の設定は Automation Suite ではもう必要ありませんが、必要に応じて CertificatePassword
を使用することはできます。
次の手順を実行します。
- appSettings を確認し、
AzureKeyVault.*
の設定を取得します。 - 後で使用するために、
Azure.KeyVault.VaultAddress
、Azure.KeyVault.ClientId
、Azure.KeyVault.DirectoryId
を保存します。 - 証明書、および必要に応じて証明書のパスワードを取得します。