automation-suite
2024.10
false
- 概要
- 要件
- デプロイ テンプレート
- 手動: インストールを準備する
- 手動: インストールを準備する
- 手順 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 を生成する
- Cluster_config.json のサンプル
- 全般的な構成
- プロファイル構成
- 証明書の設定
- データベースの構成
- 外部 ObjectStore の構成
- 署名済み URL の構成
- ArgoCD の構成
- Kerberos 認証の構成
- 外部の OCI 準拠レジストリの設定
- Disaster Recovery - アクティブ/パッシブおよびアクティブ/アクティブの構成
- High Availability Add-on の構成
- Orchestrator 固有の設定
- Insights 固有の構成
- Process Mining 固有の構成
- Document Understanding 固有の構成
- Automation Suite ロボット固有の構成
- AI Center 固有の構成
- 監視の構成
- 任意: プロキシ サーバーを構成する
- 任意: マルチノードの HA 対応の運用クラスターにおけるゾーン障害に対する復元設定を有効化する
- 任意: カスタムの Resolv.con を渡す
- 任意: フォールト トレランスを向上させる
- GPU がサポートされた専用のエージェント ノードを追加する
- Task Mining 専用のエージェント ノードを追加する
- Task Mining アプリケーションを接続する
- Automation Suite ロボット専用のエージェント ノードを追加する
- 手順 15: オフライン インストール用に一時的な Docker レジストリを設定する
- 手順 16: インストールの前提条件を検証する
- uipathc を実行する
- 手動: インストールを実行する
- インストール後
- クラスターの管理
- 監視とアラート機能
- 移行とアップグレード
- スタンドアロン製品を Automation Suite に移行する
- 手順 1: スタンドアロンの製品データベースを復元する
- 手順 2: 復元した製品データベースのスキーマを更新する
- 手順 3: Identity 組織データをスタンドアロンから Automation Suite に移動する
- 手順 4: Automation Suite のプラットフォーム データベースをバックアップする
- 手順 5: 組織を Automation Suite にマージする
- 手順 6: 以降済みの製品の接続文字列を更新する
- 手順 7: スタンドアロンの Orchestrator を移行する
- 手順 8: スタンドアロンの Insights を移行する
- 手順 9: スタンドアロンの Test Manager を移行する
- 手順 10: 既定のテナントを削除する
- 単一テナントの移行を実行する
- Automation Suite クラスター間を移行する
- Automation Suite をアップグレードする
- 製品固有の設定
- ベスト プラクティスとメンテナンス
- トラブルシューティング
- インストール時にサービスをトラブルシューティングする方法
- クラスターをアンインストールする方法
- オフライン成果物をクリーンアップしてディスク領域を改善する方法
- Redis データをクリアする方法
- Istio ログを有効化する方法
- ログを手動でクリーンアップする方法
- sf-logs バケットに保存されている古いログをクリーンアップする方法
- AI Center のストリーミング ログを無効化する方法
- 失敗した Automation Suite インストールをデバッグする方法
- アップグレード後に古いインストーラーからイメージを削除する方法
- TX チェックサム オフロードを無効化する方法
- ArgoCD のログ レベルを手動で Info に設定する方法
- AI Center のストレージを拡張する方法
- 外部レジストリーのエンコードされたpull_secret_valueを生成する方法
- TLS 1.2 で弱い暗号に対処する方法
- TLSのバージョンを確認する方法
- NFS バックアップ ディレクトリの権限を減らす方法
- 証明書の操作方法
- Ceph のバックアップとデータの復元をスケジュールする方法
- レジストリ ポッドから未使用の Docker イメージをクリーンアップする方法
- クラスター内の ObjectStore (Ceph) を使用して DU の使用状況データを収集する方法
- エアギャップ環境に RKE2 SELinux をインストールする方法
- NFS サーバー上の古い差分バックアップをクリーンアップする方法
- RHEL 8.4 OS でオフライン インストールを実行できない
- バンドルのダウンロード中のエラー
- バイナリがないため、オフライン インストールが失敗する
- オフライン インストールでの証明書の問題
- SQL 接続文字列の検証エラー
- Azure ディスクが SSD としてマークされない
- 証明書の更新後のエラー
- ウイルス対策が原因でインストールの問題が発生する
- OS のアップグレード後に Automation Suite が動作しない
- Automation Suite で backlog_wait_time を 0 に設定する必要がある
- ワークロードの準備ができていないためボリュームをマウントできない
- サポート バンドルのログ収集の失敗
- RHEL 8.9 でレジストリの一時インストールが失敗する
- オフライン インストール中に uipath 名前空間のデプロイで頻繁に発生する再起動の問題
- DNS 設定が CoreDNS によって受け入れられない
- 一時レジストリをインストールできない
- Automation Suite のアップグレード後に Insights を再インストールまたはアップグレードするとデータが失われる
- Automation Suite 2024.10.0 へのアップグレード後に Automation Hub にアクセスできない
- フック後のインポート中にアップグレードが失敗する
- シングルノードのアップグレードがファブリック ステージで失敗する
- Ceph の異常によりアップグレードが失敗する
- 領域の問題のために rke2 が開始しない
- ボリュームがマウントできず、アタッチ/デタッチ ループ状態のまま
- Orchestrator データベース内のクラシック オブジェクトが原因でアップグレードが失敗する
- Ceph クラスターがサイドバイサイド アップグレード後に機能低下ステートで検出される
- 異常な Insights コンポーネントが原因で移行が失敗する
- Apps のサービス アップグレードの失敗
- インプレース アップグレードのタイムアウト
- Docker レジストリの移行が PVC の削除段階でスタックする
- v2023.10 以降へのアップグレード後に AI Center のプロビジョニングが失敗する
- オフライン環境でアップグレードが失敗する
- アップグレード中に SQL の検証が失敗する
- アップグレード後に snapshot-controller-crds ポッドが CrashLoopBackOff ステートになる
- Insights の PVC サイズが上書きされたためにアップグレードが失敗する
- Automation Suite 2024.10.1 にアップグレードできない
- Velero の移行の問題によりアップグレードが失敗する
- rook-ceph アプリケーションの削除でアップグレードがスタックする
- 管理ポータルのタイムアウト期間を設定する
- 移行後に認証が機能しない
- 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 へのログインに失敗した
- 基になるディレクトリ接続を更新する
- ロボットが Automation Suite の Orchestrator インスタンスに接続できない
- Automation Suite 2024.10.0 でバックアップの復元に部分的に失敗する
- サンドボックス イメージを取得できない
- ポッドが ArgoCD UI に表示されない
- FQDN にアクセスすると RBAC アクセス拒否エラーが返されます
- Redis プローブの障害
- RKE2 サーバーの起動に失敗する
- UiPath 名前空間でシークレットが見つからない
- 初回インストール後に ArgoCD が進行中ステートになる
- Init:0/X でポッドがスタックする
- Ceph-rook のメトリックが監視ダッシュボードに表示されない
- 診断ヘルスチェック中に報告されたエラーの不一致
- アップストリームに正常な問題はありません
- プロキシ設定でログ ストリーミングが機能しない
- オフライン環境でエージェント ノードを追加できない
- サイズの大きい Document Understanding バンドルのアップロード中にノードが応答しなくなる (OOM)
- バックアップ操作が [部分的に失敗] ステータスで失敗する
- Process Mining で高可用性を実行する
- Kerberos を使用してログインすると、Process Mining を取り込むことができなかった
- 障害復旧後、Dapr が Process Mining に対して正しく機能しない
- 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 サポート バンドルを使用する
- ログを確認する
- 要約されたテレメトリを確認する
重要 :
このコンテンツの一部は機械翻訳によって処理されており、完全な翻訳を保証するものではありません。
新しいコンテンツの翻訳は、およそ 1 ~ 2 週間で公開されます。

Linux の Automation Suite のインストール ガイド
最終更新日時 2026年3月9日
Init:0/X でポッドがスタックする
説明
LH ボリュームを使用する DescriptionPod が、Init:0/X でスタックしており (X はコンテナーの数を表す整数)、ポッド上の kubectl describe コマンドがイベントのボリュームに対して MapVolume.MapPodDevice が失敗したことを返します。
解決策
この問題を修正するには、次のコマンドを実行します。
for podPv in $(kubectl get events -A -o json | jq -r '.items[] | select(.reason == "FailedMapVolume" and .involvedObject.kind == "Pod" and (.message | contains("MapVolume.MapPodDevice failed for volume") and contains("Could not mount \"/dev/longhorn"))) | .involvedObject.namespace + "=" + .involvedObject.name + "=" + (.message | match("(pvc-[0-9a-z-]+)").captures[0].string )') ; do
echo "Found 'FailedMapVolume' error: '${podPv}'"
NS=$(echo "${podPv}" | cut -d'=' -f1)
POD=$(echo "${podPv}" | cut -d'=' -f2)
PV=$(echo "${podPv}" | cut -d'=' -f3)
[[ -z "${NS}" ]] && echo "Could not extract namespace for error: '${podPv}'" && continue
[[ -z "${POD}" ]] && echo "Could not extract pod name for error: '${podPv}'" && continue
[[ -z "${PV}" ]] && echo "Could not extract Persistent Volume for error: '${podPv}'" && continue
controller_data=$(kubectl -n "${NS}" get po "${POD}" -o json | jq -r '[.metadata.ownerReferences[] | select(.controller==true)][0] | .kind + "=" + .name')
[[ -z "$controller_data" ]] && echo "Could not determine owner for pod: ${POD} in namespace: ${NS}" && continue
CONTROLLER_KIND=$(echo "${controller_data}" | cut -d'=' -f1)
[[ -z "${CONTROLLER_KIND}" ]] && echo "Could not extract controller kind for pod: '${POD}' in namespace: '${NS}' && continue
CONTROLLER_NAME=$(echo "${controller_data}" | cut -d'=' -f2)
[[ -z "${CONTROLLER_NAME}" ]] && echo "Could not extract controller name for pod: '${POD}' in namespace: '${NS}' && continue
if [[ $CONTROLLER_KIND == "ReplicaSet" ]]
then
controller_data=$(kubectl -n "${NS}" get "${CONTROLLER_KIND}" "${CONTROLLER_NAME}" -o json | jq -r '[.metadata.ownerReferences[] | select(.controller==true)][0] | .kind + "=" + .name')
CONTROLLER_KIND=$(echo "${controller_data}" | cut -d'=' -f1)
[[ -z "${CONTROLLER_KIND}" ]] && echo "Could not extract controller kind(from rs) for pod: '${POD}' in namespace: '${NS}'" && continue
CONTROLLER_NAME=$(echo "${controller_data}" | cut -d'=' -f2)
[[ -z "${CONTROLLER_NAME}" ]] && echo "Could not extract controller name(from rs) for pod: '${POD}' in namespace: '${NS}'" && continue
fi
org_replicas=$(kubectl -n "${NS}" get "$CONTROLLER_KIND" "$CONTROLLER_NAME" -o json | jq -r '.status.replicas')
echo "Scaling down ${CONTROLLER_KIND}/${CONTROLLER_NAME}"
kubectl -n "${NS}" patch "$CONTROLLER_KIND" "${CONTROLLER_NAME}" -p "{\"spec\":{\"replicas\":0}}"
if kubectl -n "${NS}" get pod "${POD}" ; then
kubectl -n "${NS}" wait --for=delete pod "${POD}" --timeout=300s
fi
if kubectl get volumeattachment | grep -q "${PV}"; then
volumeattachment_id=$(kubectl get volumeattachment | grep "${PV}" | awk '{print $1}')
kubectl delete volumeattachment ${volumeattachment_id}
fi
[[ -z "$org_replicas" || "${org_replicas}" -eq 0 ]] && org_replicas=1
echo "Scaling up ${CONTROLLER_KIND}/${CONTROLLER_NAME}"
kubectl -n "${NS}" patch "$CONTROLLER_KIND" "${CONTROLLER_NAME}" -p "{\"spec\":{\"replicas\":${org_replicas}}}"
done
for podPv in $(kubectl get events -A -o json | jq -r '.items[] | select(.reason == "FailedMapVolume" and .involvedObject.kind == "Pod" and (.message | contains("MapVolume.MapPodDevice failed for volume") and contains("Could not mount \"/dev/longhorn"))) | .involvedObject.namespace + "=" + .involvedObject.name + "=" + (.message | match("(pvc-[0-9a-z-]+)").captures[0].string )') ; do
echo "Found 'FailedMapVolume' error: '${podPv}'"
NS=$(echo "${podPv}" | cut -d'=' -f1)
POD=$(echo "${podPv}" | cut -d'=' -f2)
PV=$(echo "${podPv}" | cut -d'=' -f3)
[[ -z "${NS}" ]] && echo "Could not extract namespace for error: '${podPv}'" && continue
[[ -z "${POD}" ]] && echo "Could not extract pod name for error: '${podPv}'" && continue
[[ -z "${PV}" ]] && echo "Could not extract Persistent Volume for error: '${podPv}'" && continue
controller_data=$(kubectl -n "${NS}" get po "${POD}" -o json | jq -r '[.metadata.ownerReferences[] | select(.controller==true)][0] | .kind + "=" + .name')
[[ -z "$controller_data" ]] && echo "Could not determine owner for pod: ${POD} in namespace: ${NS}" && continue
CONTROLLER_KIND=$(echo "${controller_data}" | cut -d'=' -f1)
[[ -z "${CONTROLLER_KIND}" ]] && echo "Could not extract controller kind for pod: '${POD}' in namespace: '${NS}' && continue
CONTROLLER_NAME=$(echo "${controller_data}" | cut -d'=' -f2)
[[ -z "${CONTROLLER_NAME}" ]] && echo "Could not extract controller name for pod: '${POD}' in namespace: '${NS}' && continue
if [[ $CONTROLLER_KIND == "ReplicaSet" ]]
then
controller_data=$(kubectl -n "${NS}" get "${CONTROLLER_KIND}" "${CONTROLLER_NAME}" -o json | jq -r '[.metadata.ownerReferences[] | select(.controller==true)][0] | .kind + "=" + .name')
CONTROLLER_KIND=$(echo "${controller_data}" | cut -d'=' -f1)
[[ -z "${CONTROLLER_KIND}" ]] && echo "Could not extract controller kind(from rs) for pod: '${POD}' in namespace: '${NS}'" && continue
CONTROLLER_NAME=$(echo "${controller_data}" | cut -d'=' -f2)
[[ -z "${CONTROLLER_NAME}" ]] && echo "Could not extract controller name(from rs) for pod: '${POD}' in namespace: '${NS}'" && continue
fi
org_replicas=$(kubectl -n "${NS}" get "$CONTROLLER_KIND" "$CONTROLLER_NAME" -o json | jq -r '.status.replicas')
echo "Scaling down ${CONTROLLER_KIND}/${CONTROLLER_NAME}"
kubectl -n "${NS}" patch "$CONTROLLER_KIND" "${CONTROLLER_NAME}" -p "{\"spec\":{\"replicas\":0}}"
if kubectl -n "${NS}" get pod "${POD}" ; then
kubectl -n "${NS}" wait --for=delete pod "${POD}" --timeout=300s
fi
if kubectl get volumeattachment | grep -q "${PV}"; then
volumeattachment_id=$(kubectl get volumeattachment | grep "${PV}" | awk '{print $1}')
kubectl delete volumeattachment ${volumeattachment_id}
fi
[[ -z "$org_replicas" || "${org_replicas}" -eq 0 ]] && org_replicas=1
echo "Scaling up ${CONTROLLER_KIND}/${CONTROLLER_NAME}"
kubectl -n "${NS}" patch "$CONTROLLER_KIND" "${CONTROLLER_NAME}" -p "{\"spec\":{\"replicas\":${org_replicas}}}"
done