- 概要
- 要件
- インストール
- インストール後
- クラスターの管理
- 監視とアラート機能
- 移行とアップグレード
- 製品固有の設定
- ベスト プラクティスとメンテナンス
- トラブルシューティング
- インストール時にサービスをトラブルシューティングする方法
- クラスターをアンインストールする方法
- オフライン成果物をクリーンアップしてディスク領域を改善する方法
- 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 を 0 に設定する必要がある
- ワークロードの準備ができていないためボリュームをマウントできない
- プロキシ設定がある場合に Automation Hub と Apps を起動できない
- 管理ポータルのタイムアウト期間を設定する
- 基になるディレクトリ接続を更新する
- 移行後に認証が機能しない
- 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 が進行中ステートになる
- Unexpected inconsistency; run fsck manually
- MongoDB ポッドが CrashLoopBackOff になるか、削除後に PVC プロビジョニングの保留中になる
- MongoDB ポッドを 4.4.4-ent から 5.0.7-ent にアップグレードできない
- クラスターの復元またはロールバック後にサービスが異常になる
- Init:0/X でポッドがスタックする
- Prometheus が CrashloopBackoff ステートにあり、メモリ不足 (OOM) エラーを伴う
- Ceph-rook のメトリックが監視ダッシュボードに表示されない
- プロキシ環境でポッドが FQDN と通信できない
- Automation Suite 診断ツールを使用する
- Automation Suite サポート バンドルを使用する
- ログを確認する
手順 1: Azure のデプロイを計画する
データが失われるのを防ぐため、使用するインフラストラクチャがクラスターの再起動時またはシャットダウン時にクラスター ディスクを自動的に削除しないようにしてください。この機能が有効化されている場合は、必ず無効化してください。
Azure サブスクリプションと権限
デプロイでは、Azure サブスクリプションと RBAC ロール所有者を含むリソース グループへのアクセス権が必要です。ユーザー割り当てマネージド ID を作成し、共同作成者ロールをリソース グループ スコープで割り当てるには、所有者ロールが必要です。仮想マシンの管理 (スケールイン操作とスケールアウト操作の実行、インスタンス保護の適用、OS の更新) には、マネージド ID が必要です。
ロールの割り当ては、以下の手順で確認できます。
[リソース グループ] → [アクセス制御 (IAM)] → [アクセスの確認] → [マイ アクセスの表示]
クォータ
デプロイでは、複数の Standard_D (汎用)、Standard_F、および/または Standard_NC (GPU あり) の仮想マシンをプロビジョニングします。Azure サブスクリプションには、VM ファミリ向けにプロビジョニングできるコアの数に対するクォータがあります。
サブスクリプションのクォータを確認するには、Azure Portal で [Usage + quotas] に移動します。
クォータが Automation Suite のデプロイに対して十分であることを確認してください。そうでない場合、デプロイは失敗します。[Request Increase] をクリックし、引き上げを要求します。
インスタンス保護
インストール プロセスの一環として、スケール セット操作からのインスタンス保護が、サーバー スケール セットのすべてのノードに追加されます。これらの操作は Azure からサーバー コンテキストなしで実行されるため、クラスターの誤動作が防止されます。UiPath では、クラスター管理操作用の Runbook を提供しています。スケール セットのインスタンス保護の詳細については、Azure のドキュメントをご覧ください。
インスタンスの終了
サーバー仮想マシン インスタンスを終了すると、ほぼ確実にデータが失われ、クラスターがクラッシュします。サーバー仮想マシン インスタンスの終了を試みないでください。
UiPath では、エージェント仮想マシン インスタンスの終了をサポートしています。つまり、エージェント仮想マシン インスタンスが終了すると、そのノードを Automation Suite クラスターから遮断、ドレイン、削除します。
UiPath では、Instance Metadata Service をプールしているエージェント仮想マシン インスタンスそれぞれでスクリプトを実行して、終了イベントを生成します。イベントを受信するたびに、それぞれのノードで遮断コマンドとドレイン コマンドをトリガーし、サーバーはその特定のノードに対してノードの削除コマンドも実行します。
このプロセスでは、拡張ログが利用可能です。各ノード終了操作のログは、デプロイのメイン ストレージ アカウントの logs コンテナー内にあります。各ログ ファイルにはノードの名前が含まれていて、サフィックス -termination.log 付いています。
仮想マシン ファミリのリージョンの可用性
デプロイするリージョンで VM SKU が使用可能であることを確認します。
使用可能かどうかについては、「[リージョン別の Azure 製品](https://azure.microsoft.com/ja-jp/explore/global-infrastructure/products-by-region/?products=virtual-machines)」で確認できます。
クラスター証明書の設定
Azure テンプレートを使用すると、指定したカスタム ドメインに対してデプロイ中に証明書を提供できるため、デプロイ後に手動で証明書を提供する必要がありません。ただし、証明書を提供する前に、.crt 証明書が Base64 でエンコードされていることを確認する必要があります。
The following script generates the Base64-encoded strings from a single .pfx certificate (server certificate). You can then use these strings when filling in the template parameters. You can run this bash script on a Windows machine using Windows Subsystem for Linux. It uses openssl to convert the certificates. Keep in mind that the server certificate (the .pfx) should meet somerequirements.
次のコマンドは、.pfx 証明書のパスワードが必要なものがあるため、1 つずつ実行します。
pfxFile=<path of the pfx file>
# Key
openssl pkcs12 -in $pfxFile -nocerts -out serverCertKeyEncrypted.key
openssl rsa -in serverCertKeyEncrypted.key -out serverCertKeyDecrypted.key
# Server cert
openssl pkcs12 -in $pfxFile -clcerts -nokeys -out serverCert.crt
# CA Bundle:
openssl pkcs12 -in $pfxFile -cacerts -nokeys -chain | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > caBundle.crt
# Converting to base64 and removing newlines
cat serverCertKeyDecrypted.key | base64 | tr -d '\n' > base64CertKey
cat serverCert.crt | base64 | tr -d '\n' > base64Cert
cat caBundle.crt | base64 | tr -d '\n' > base64CABundle
pfxFile=<path of the pfx file>
# Key
openssl pkcs12 -in $pfxFile -nocerts -out serverCertKeyEncrypted.key
openssl rsa -in serverCertKeyEncrypted.key -out serverCertKeyDecrypted.key
# Server cert
openssl pkcs12 -in $pfxFile -clcerts -nokeys -out serverCert.crt
# CA Bundle:
openssl pkcs12 -in $pfxFile -cacerts -nokeys -chain | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > caBundle.crt
# Converting to base64 and removing newlines
cat serverCertKeyDecrypted.key | base64 | tr -d '\n' > base64CertKey
cat serverCert.crt | base64 | tr -d '\n' > base64Cert
cat caBundle.crt | base64 | tr -d '\n' > base64CABundle
外部 Orchestrator の証明書
To connect AI Center to an external Orchestrator, you must set Connect AiCenter to an external Orchestrator to true and provide certificates for Orchestrator and Identity to the parameters listed in Deploying Automation Suite to Azure. For details on how to obtain the certificates, see Chain certificates.
証明書を Base64 形式でエンコードするには、次のコマンドを実行します。
cat orchestrator.cer | base64 | tr -d '\n' > orchestratorCert
cat identity.cer | base64 | tr -d '\n' > identityCert
cat orchestrator.cer | base64 | tr -d '\n' > orchestratorCert
cat identity.cer | base64 | tr -d '\n' > identityCert
To register AI Center to the external Orchestrator, you must run the RegisterAiCenterExternalOrchestrator runbook.
マルチノードの HA 対応の運用クラスターにおけるゾーン障害に対する復元設定
By default, the templates deploy the VMs across as many Azure Availability Zones as possible to enable the resilience to zonal failures in a multi-node HA-ready production cluster.
Not all Azure Regions support Availability Zones. See Azure Geograpies for details.
VM SKUs have additional Availability Zones restrictions that you can check using the CLI cmdlet. See Get-AzComputeResourceSku for details.
サーバーが 3 つの Azure 可用性ゾーンにわたっている場合、クラスターはゾーン障害に対する回復力があると見なされます。Azure リージョンが、サーバー用に選択されている仮想マシンのタイプに対して可用性ゾーンをサポートしていない場合、デプロイは、ゾーンの回復機能なしで続行されます。
DNS
テンプレートは、Azure Load Balancer を、それにアクセスするためのパブリック IP と DNS ラベルでプロビジョニングします。
DNS ラベルは Microsoft が所有し、<dnsName>.<regionName>.cloudapp.azure.com のような形式を持ちます。
また、クラスターの仮想マシンが複数のサブドメインを解決できるように、プライベート DNS ゾーンもデプロイします。これはインストール プロセスで必要です。プライベート DNS ゾーンのレコードを仮想ネットワークから解決するには、DNS サーバーを Azure-provided または 168.63.129.16 に設定するようにします。
If you want to access the cluster over the internet, you can check out Step 3: Post-deployment steps.
既存の仮想ネットワークにデプロイする
テンプレートを使用すると、既存の仮想ネットワークにノードをデプロイできます。ただし、仮想ネットワークには、以下の条件を満たすサブネットが必要です。
- すべてのノードと内部ロード バランサーを収容するのに十分な空きアドレス空間がある
- できれば Microsoft の推奨事項に従って NAT ゲートウェイ を経由するように構成された送信接続
- ポート
443で HTTPS トラフィックを許可します。 - 任意:
Microsoft.Storage用に構成されたサービス エンドポイントがあるこれは、デプロイ時にバックアップを有効化した場合に必要です。
既存の仮想ネットワークにデプロイする場合、共同作成者ロールの割り当てをそのスコープで作成するには、仮想ネットワークに対する所有者 RBAC ロールが必要です。これは、スケール アウト時のインスタンスの更新操作に必要です。
バックアップ
テンプレートを使用して、デプロイ時にバックアップを有効化できます。つまり、NFS 共有として使用する、変動するストレージ容量 (サーバー ノードの数によって異なる - # of server nodes x 512 GiB) を持つ Microsoft ストレージ アカウントを作成し、クラスターのバックアップを構成します。バックアップ間隔は 45 分に設定されます。