- 概要
- 要件
- デプロイ テンプレート
- 手動: インストールを準備する
- 手動: インストールを準備する
- 手順 2: オフライン インストール用に OCI 準拠レジストリを設定する
- 手順 3: 外部 ObjectStore を構成する
- 手順 4: High Availability Add-on を構成する
- 手順 5: SQL データベースを構成する
- 手順 6: ロード バランサーを構成する
- 手順 7: DNS を構成する
- 手順 8: ディスクを構成する
- 手順 9: カーネルと OS レベルの設定を構成する
- 手順 10: ノード ポートを構成する
- 手順 11: その他の設定を適用する
- 手順 12: 必要な RPM パッケージを検証してインストールする
- 手順 13: cluster_config.json を生成する
- 証明書の設定
- データベースの構成
- 外部 ObjectStore の構成
- 署名済み URL の構成
- Kerberos 認証の構成
- 外部の OCI 準拠レジストリの設定
- Disaster Recovery - アクティブ/パッシブおよびアクティブ/アクティブの構成
- High Availability Add-on の構成
- Orchestrator 固有の設定
- Insights 固有の構成
- Process Mining 固有の構成
- Document Understanding 固有の構成
- Automation Suite ロボット固有の構成
- 監視の構成
- 任意: プロキシ サーバーを構成する
- 任意: マルチノードの HA 対応の運用クラスターにおけるゾーン障害に対する復元設定を有効化する
- 任意: カスタムの Resolv.con を渡す
- 任意: フォールト トレランスを向上させる
- install-uipath.sh パラメーター
- GPU がサポートされた専用のエージェント ノードを追加する
- Task Mining 専用のエージェント ノードを追加する
- Task Mining アプリケーションを接続する
- Automation Suite ロボット専用のエージェント ノードを追加する
- 手順 15: オフライン インストール用に一時的な Docker レジストリを設定する
- 手順 16: インストールの前提条件を検証する
- 手動: インストールを実行する
- インストール後
- クラスターの管理
- 監視とアラート機能
- 移行とアップグレード
- 製品固有の設定
- ベスト プラクティスとメンテナンス
- トラブルシューティング
- インストール時にサービスをトラブルシューティングする方法
- クラスターをアンインストールする方法
- オフライン成果物をクリーンアップしてディスク領域を改善する方法
- Redis データをクリアする方法
- Istio ログを有効化する方法
- ログを手動でクリーンアップする方法
- sf-logs バケットに保存されている古いログをクリーンアップする方法
- AI Center のストリーミング ログを無効化する方法
- 失敗した Automation Suite インストールをデバッグする方法
- アップグレード後に古いインストーラーからイメージを削除する方法
- TX チェックサム オフロードを無効化する方法
- Automation Suite 2022.10.10 および 2022.4.11 から 2023.10.2 にアップグレードする方法
- ArgoCD のログ レベルを手動で Info に設定する方法
- AI Center のストレージを拡張する方法
- 外部レジストリーのエンコードされたpull_secret_valueを生成する方法
- TLS 1.2 で弱い暗号に対処する方法
- 証明書の操作方法
- アプリケーション ログを Splunk に転送する方法
- レジストリ ポッドから未使用の Docker イメージをクリーンアップする方法
- クラスター内の 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 に設定する必要がある
- ワークロードの準備ができていないためボリュームをマウントできない
- サポート バンドルのログ収集の失敗
- Test Automation SQL の接続文字列は無視されます
- DNS 設定が CoreDNS によって受け入れられない
- Automation Suite のアップグレード後に Insights を再インストールまたはアップグレードするとデータが失われる
- シングルノードのアップグレードがファブリック ステージで失敗する
- 2021.10 からの自動アップグレード後にクラスターが異常になる
- Ceph の異常によりアップグレードが失敗する
- 領域の問題のために rke2 が開始しない
- ボリュームがマウントできず、アタッチ/デタッチ ループ状態のまま
- Orchestrator データベース内のクラシック オブジェクトが原因でアップグレードが失敗する
- Ceph クラスターがサイドバイサイド アップグレード後に機能低下ステートで検出される
- 異常な Insights コンポーネントが原因で移行が失敗する
- Apps のサービス アップグレードの失敗
- インプレース アップグレードのタイムアウト
- Docker レジストリの移行が PVC の削除段階でスタックする
- v2023.10 以降へのアップグレード後に AI Center のプロビジョニングが失敗する
- オフライン環境でアップグレードが失敗する
- アップグレード中に SQL の検証が失敗する
- アップグレード後に snapshot-controller-crds ポッドが CrashLoopBackOff ステートになる
- Longhorn REST API エンドポイントのアップグレード/再インストール エラー
- Insights の PVC サイズが上書きされたためにアップグレードが失敗する
- サービス スクリプトの実行中にサービスのアップグレードが失敗する
- 管理ポータルのタイムアウト期間を設定する
- 移行後に認証が機能しない
- 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 が進行中ステートになる
- Manual ArgoCD NetworkPolicy mitigation (GHSA-47m3-95c7-g2g8)
- クラスターの復元またはロールバック後にサービスが異常になる
- Init:0/X でポッドがスタックする
- Ceph-rook のメトリックが監視ダッシュボードに表示されない
- プロキシ環境でポッドが FQDN と通信できない
- アップグレード後にメール アラートを設定できない
- アップストリームに正常な問題はありません
- オフライン環境でエージェント ノードを追加できない
- FQDN にアクセスすると RBAC: アクセス拒否エラーが返されます
- Process Mining で高可用性を実行する
- Kerberos を使用してログインすると、Process Mining を取り込むことができなかった
- 障害復旧後、Dapr が Process Mining に対して正しく機能しない
- クラスター モードで Redis を使用した Dapr を構成する
- pyodbc 形式の接続文字列を使用して AutomationSuite_ProcessMining_Warehouse データベースに接続できない
- Airflow のインストールが「sqlalchemy.exc.ArgumentError: Could not parse rfc1738 URL from string ''」で失敗する
- SQL Server ポート 1433 を使用する IP テーブル ルールを追加する方法
- CData Sync を実行しているサーバーの Automation Suite の証明書が信頼されない
- 診断ツールを実行する
- Automation Suite サポート バンドルを使用する
- ログを確認する
マルチノードの高可用性対応の Automation Suite デプロイにおけるロード バランサーの構成要件 (クライアント IP 転送オプションを含む) のリファレンスです。
概要
マルチノードの高可用性対応の運用設定の場合、ロード バランサーは必須です。
Some load balancers, such as the Azure Load Balancer, have the capability to forward the client's IP address to the server without replacing it with their own address. This feature allows the server to see the original client's IP, resulting in no extra steps being required for the server to identify the client's IP address.
On the other hand, if a load balancer does replace the client IP address with its own, it can compensate by adding a special header, called an x-forwarded-for header to the request it sends to the server. This header includes the original client's IP address. The server can then read this header to retrieve the client's IP address.
Automation Suite では、この後のセクションで示すとおり、ロード バランサーに対して、2 種類の構成をサポートしています。
セッション永続性または固定セッションを使用するようにロード バランサーを構成することはできますが、要件ではありません。
現在、Automation Suite ではレイヤー 4 (ネットワーク レイヤー) のロード バランサーのみがサポートされています。
このロード バランサーは、TLS の暗号化と終端処理をサポートしていません。サービスを効果的に運用するには、必ず、トラフィックを容易にパススルーできるようにロード バランサーを構成してください。
デプロイに Azure Internal Load Balancer (LB) を使用している場合、バックエンド仮想マシン (VM) から LB フロントエンド IP への呼び出しで問題が発生する可能性があります。この問題は、ネットワーク パケットの送信元 IP アドレスと MAC アドレスの不一致が原因で発生します。これにより、受信者が正しい応答パスを解決できなくなり、VM から LB へのコールが失敗します。詳細については、「 Azure Load Balancer コンポーネント の制限」および 「バックエンド トラフィックのトラブルシューティング」をご覧ください。
サーバーとノード プールの構成
以下に、ロード バランサーの推奨構成を示します。
バックエンド プールを構成する
次の要件を満たす 3 つのバックエンド プールを作成する必要があります。
- サーバー プール
- すべてのサーバー ノードから構成されます。
- サーバー プール内には、エージェント ノードが存在してはなりません。
- ノード プール
- すべてのサーバー ノードと特殊化されていないエージェント ノードから構成されます。特殊なエージェント ノードには、
task-mining、gpu、asrobotsが含まれます。
- すべてのサーバー ノードと特殊化されていないエージェント ノードから構成されます。特殊なエージェント ノードには、
- 一時レジストリ プール
- 一時レジストリがインストールされているサーバー ノードのみで構成されます。
注:一時レジストリ プールは、Automation Suite のインストール、ノード参加、およびアップグレードの手順でのみ使用されます。 手順を完了したら、一時レジストリ プールを閉じることができます。
正常性プローブを構成する
| プローブ | プロトコル | ポート | 間隔 | 再エントリしきい値 | 関連付けるプール |
|---|---|---|---|---|---|
https-probe | TCP | 443 | 15 秒 | 2 | ノード プール |
kubeapi-probe | TCP | 6443 | 15 秒 | 2 | サーバー プール |
構成の詳細については、次の図をご覧ください。
ロード バランサーのポートを有効化する
ロード バランサーのソースに対するファイアウォールで、次のポートが有効化されていることを確認します。
| ポート | プロトコル | 目的 | トラフィックの転送 | 正常性プローブ |
|---|---|---|---|---|
443 | TCP | HTTPS 用 (Automation Suite にアクセスする)。 | このポートのトラフィックはノード プールに転送する必要があります。 | https-probe |
300701 | TCP | HTTP を使用したインストールおよびアップグレード中に一時レジストリにアクセスするため。 | このポートのトラフィックは一時レジストリ プールに転送する必要があります。 | N/A |
6443 | TCP | HTTPS を使用した Kube API へのアクセス用 (ノード参加に必要)。 | このポートのトラフィックはサーバー プールに転送する必要があります。 | kubeapi-probe |
9345 | TCP | HTTPS を使用した Kube API へのアクセス用 (ノード参加に必要)。 | このポートのトラフィックはサーバー プールに転送する必要があります。 | kubeapi-probe |
1 If you do not have an external OCI-compliant registry, you must open port 30070 on the load balancer and the server node on which you plan to install the temporary docker registry.
HTTPS 以外のすべてのポートについては、クラスター外に公開しないことを推奨します。ファイアウォール/セキュリティ グループの背後でノードを実行します。
ネットワーク上にファイアウォールが設定されている場合、上記のポートが開かれ、トラフィックが許可されていることを確認します。
通常のロード バランサーの構成は、次の図のいずれかのようになります。
代替構成
この構成には、インストール中にダウンするノードに対する復元性がありません。
プライマリ サーバーがダウンしたり、削除されたりした場合、クラスターの構成を更新する必要があります。
プライマリ サーバーの FQDN を、クラスター内の利用可能な他のマシンに再マッピングする必要があります。
バックエンド プールを構成する
以下のとおり、バックエンド プールを 1 つ作成します。
- ノード プールを作成します。
ロード バランサーのポートを有効化する
ロード バランサーのソースに対するファイアウォールで、次のポートが有効化されていることを確認します。
| ポート | プロトコル | 目的 | トラフィックの転送 |
|---|---|---|---|
443 | TCP | HTTPS 用 (Automation Suite にアクセスする)。 | このポートのトラフィックはノード プールに転送する必要があります。 |
正常性プローブを構成する
| プローブ | プロトコル | ポート | 間隔 | 再エントリしきい値 | 関連付けるプール |
|---|---|---|---|---|---|
https-probe | TCP | 443 | 15 秒 | 2 | ノード プール |
構成の詳細については、次の図をご覧ください。