automation-suite
2024.10
true
UiPath logo, featuring letters U and I in white

Linux の Automation Suite のインストール ガイド

最終更新日時 2024年11月28日

Automation Suite クラスター間を移行する

クラスターの移行について

カスタム名前空間の代わりに uipath 名前空間を使用しており、Automation Suite のフレーバーを移行する場合は、Automation Suite クラスター間で移行できます。 以下のシナリオがサポートされています。
  • Linux の Automation Suite から、EKS/AKS の Automation Suite または OpenShift の Automation Suite の新しいインストールに移行します。

  • EKS/AKS の Automation Suite から OpenShift の Automation Suite の新しいインストールに移行します。

  • OpenShift の Automation Suite から EKS/AKS の Automation Suite の新しいインストールに移行します。

  • EKS の Automation Suite から AKS の Automation Suite へ、または AKS の Automation Suite から EKS の Automation Suite に移行します。

移行操作を複数回試行しても、既存のクラスターには影響が及ばないことに注意してください。

次の移行シナリオはサポートされていません。

  • Linux の Automation Suite から、EKS/AKS の Automation または OpenShift の Automation Suite の既存のインストールに移行する

  • OpenShift の Automation Suite クラスターから Linux の Automation Suite のクラスターに移行する。

プロセスの概要

手順

説明

1.

必須です。 移行要件を満たしていることを確認します。

2.

必須。 ソース クラスターとターゲット クラスターの両方のターゲット クラスターと Docker イメージを準備します。

任意です。デプロイメントがオフラインの場合、またはプライベート OCI レジストリを使用している場合は、必要なイメージが利用可能であることを確認してください。

3.

必須。 移行を開始し、データを移動して、Automation Suite のインストールを実行します。

4.

任意です。 ソース クラスターとターゲット クラスターの両方で AI Center が有効化されている場合は、スキルを移行します。

要件

Automation Suite クラスターをあるクラスターから別のクラスターに移行するには、次の要件を満たす必要があります。

  • 以下の成果物をダウンロードします。

  • 2 つの環境の間に接続を確立する必要があります。

  • ソース クラスターに外部 ObjectStore が構成されている必要があります。クラスター内のストレージを使用する場合は、「クラスター内の ObjectStore から外部 ObjectStore に移行する」をご覧ください。

  • Linux の Automation Suite から移行する場合、ソース クラスターのバージョンは 2022.10 以降である必要があります。

  • OpenShift の Automation Suite に移行する場合、ソース クラスターのバージョンは 2023.10 以降である必要があります。

  • オフラインのみの要件: ターゲット クラスターをハイドレートする必要があります。

データ移行と責任

データ

移行メカニズム

Status責任

SQL

保持

次の 2 つのオプションがあります。

  1. 新規インストールに同じデータベースを再利用します。 クラスター構成の SQL 接続文字列が既存のデータベース サーバーを指すようにします。

  2. データベースを複製し、代わりに複製を使用します。

顧客 (Customer)

Docker レジストリ

移行されない

プライベート レジストリを使用する場合は、ターゲット レジストリをハイドレートする必要があります。ターゲット クラスターに registry.uipath.com を使用する場合は、これ以上の手順は不要です。

顧客 (Customer)

fqdn

任意です。

新しいクラスターには新しい FQDN を選択する必要があります。オプションとして、必要に応じて以前の FQDN に戻すことができます。

顧客 (Customer)
証明書

移行されない

新しいクラスターのインストールの一部として証明書を提供する必要があります。

顧客 (Customer)
クラスターの構成

移行されない

ターゲット クラスターの種類 (AKS または EKS) に適用できる新しい input.json を生成する必要があります。
顧客 (Customer)
ユーザーが作成したカスタム アラートとダッシュボード

移行されない

移行後にカスタム アラートとダッシュボードを再構成する必要があります。

顧客 (Customer)
アプリケーション ログ/ユーザーが作成した Prometheus ストリーミング設定

移行されない

アプリケーション ログと Prometheus ストリーミングを再構成する必要があります。

顧客 (Customer)
動的なワークロード

アプリケーションによって異なる

AI Center のトレーニング ジョブは失われ、スキルは保持されます。

スキル (アップグレード後にスクリプトを実行する必要があります): UiPath®

トレーニング ジョブ: 顧客

Object Store

外部 ObjectStore: 保持

外部 ObjectStore には、次の 2 つのオプションがあります。

  1. 既存の外部 ObjectStore を再利用し、新しい環境に接続します。

  2. 現在の ObjectStore のレプリカを作成し、これを新しい設定に使用します。

重要: クラスター内 ObjectStore を使用している場合は、アップグレード前に Ceph から外部への移行を実行する必要があります。

クラスター内 ObjectStore から外部 ObjectStore に移行する: 顧客

外部 ObjectStore: UiPath®

Insights

保持

UiPath®

MongoDB データ

保持

MongoDB データがターゲット SQL に移動されます。

UiPath®

RabbitMQ

不要

UiPath®

監視 (データ)

不要

監視データは、新しいクラスターには適用されません。

N/A

クラスターの移行を準備する

ターゲット クラスターを準備する

注:

移行プロセスの開始後にソース クラスターを変更しないでください。

ターゲット クラスターを準備するには、次の手順に従います。

  1. ソース クラスターに対象のバージョンの cluster_config.json をダウンロードし、次のコマンドを実行して cluster_config.json ファイルを生成します。
    uipathctl manifest get-revisionuipathctl manifest get-revision
    詳しくは、以下の図を参照してください。
    docs image
  2. 以前に生成された input.json ファイルに基づいて、ターゲット クラスターの input.json ファイルを変更します。

    Orchestrator 固有の設定を転送する必要があります。

  3. 次のコマンドを実行して、ターゲット クラスターの前提条件を検証します。
    uipathctl prereq run input-target.json --kubeconfig kubeconfig.target --versions versions.jsonuipathctl prereq run input-target.json --kubeconfig kubeconfig.target --versions versions.json
    注:
    input-target.json は、ターゲット クラスターに対応する input.json ファイルです。
  4. ソース デプロイからターゲット デプロイに SQL データベースを複製します。

インターネットにアクセスせずに OCI 準拠のレジストリをハイドレートする

移行プロセスでは、ソース クラスターとターゲット クラスターの両方で最新の uipathcore Docker イメージ タグが利用可能でなければなりません。ソース クラスターがオフラインの場合は、以下の手順を実行してイメージを利用可能にします。
  1. オプション B: オフライン バンドルでレジストリをハイドレートする」に記載されている手順に従って、ターゲット クラスターで使用されるレジストリをオフライン バンドルでハイドレートします。
  2. ソース クラスターにアクセス可能な VM に uipathctl バイナリと versions.json ファイルをコピーします。
  3. 次のコマンドを実行します。
    jq -r '.[][] | select(.name=="uipath/uipathcore") | .ref + ":" + .version' "/path/to/versions.json" > images.txtjq -r '.[][] | select(.name=="uipath/uipathcore") | .ref + ":" + .version' "/path/to/versions.json" > images.txt
  4. ターゲット クラスターのレジストリからソース クラスターのレジストリに uipathcore イメージをシードします。
    ./uipathctl registry seed --tag-file ./images.txt \
                --source-registry "target.registry.fqdn.com" \
                --source-password "target-registry-username" \
                --source-username "target-registry-password" \
                --dest-registry "source.registry.fqdn.com" \
                --dest-username "source-registry-username" \
                --dest-password "source-registry-password"./uipathctl registry seed --tag-file ./images.txt \
                --source-registry "target.registry.fqdn.com" \
                --source-password "target-registry-username" \
                --source-username "target-registry-password" \
                --dest-registry "source.registry.fqdn.com" \
                --dest-username "source-registry-username" \
                --dest-password "source-registry-password"
    手記: コマンドを次のように更新してください。
    • target.registry.fqdn.com、および target-registry-password target.registry.fqdn.comは、ターゲット クラスターに関連付けられているレジストリに対応する適切な値に置き換えます。
    • source.registry.fqdn.com、および source-registry-password source.registry.fqdn.comを、ソース クラスターに関連付けられているレジストリに対応する適切な値に置き換えます。

インターネット アクセスを使用して OCI 準拠レジストリをハイドレートする

プライベート レジストリを使用する場合は、そのレジストリをシードする必要があります。手順については、以下をご覧ください。

クラスターの移行を実行する

ターゲットの Automation Suite クラスターに移行するには、次の手順に従います。

  1. 次のコマンドを実行して、移行を実行します。
    uipathctl cluster migration run input-target.json --kubeconfig kubeconfig.source --target-kubeconfig kubeconfig.target --versions versions-target.jsonuipathctl cluster migration run input-target.json --kubeconfig kubeconfig.source --target-kubeconfig kubeconfig.target --versions versions-target.json
  2. 次のコマンドを実行して、ターゲット クラスターへの Automation Suite のインストールを完了します。
    uipathctl manifest apply input-target.json --kubeconfig kubeconfig.target --versions versions-target.jsonuipathctl manifest apply input-target.json --kubeconfig kubeconfig.target --versions versions-target.json

AI Center のスキルを移行する

このセクションの手順は、ソース クラスターとターゲット クラスターの両方で AI Center を有効にした場合にのみ適用されます。 この手順では、ターゲット クラスター上の AI Center が、スキルを実行するためのスキル データを含むデータベースを指していることを前提としています。

移行が完了したら、AI Center のスキルを同期して、再び使用できるようにする必要があります。

スキルの移行ステータスを確認する

対象の EKS/AKS の Automation Suite クラスターでスキルのステータスを取得するには、次の手順に従います。
  1. 次のコマンドを実行するための変数を設定します。
    aicJobsImage=$(kubectl -n <uipath> get configmap aic-jobs-config -o "jsonpath={.data['aicenter/aicenter-jobs:v23.10-10.15-rc02']}")
    podName="skillstatuspod"aicJobsImage=$(kubectl -n <uipath> get configmap aic-jobs-config -o "jsonpath={.data['aicenter/aicenter-jobs:v23.10-10.15-rc02']}")
    podName="skillstatuspod"
  2. 実行中の可能性のある skillstatuspod をすべてクリーンアップしてから、スキルのステータスを再度取得します。 次のコマンドは、前の反復処理からポッドを削除するため、慎重に使用してください。
    kubectl -n <uipath> delete pod "$podName" --force.kubectl -n <uipath> delete pod "$podName" --force. 
  3. スキルのステータスを取得する skillstatuspod を作成します。 ポッドがイメージをプルして実行するまでに時間がかかる場合があります (通常は 30 秒未満)。
    skill_arr="[]"
    kubectl -n <uipath> run "$podName" --image="$aicJobsImage" --restart=Never --labels="app.kubernetes.io/component=aicenter" --overrides='{ "metadata": { "annotations": {"sidecar.istio.io/inject": "false"}}}' --command -- /bin/bash -c "curl -sSL -XPOST -H 'Content-Type: application/json' 'ai-deployer-svc.uipath.svc.cluster.local/ai-deployer/v1/system/mlskills:restore-status' -d \"$skill_arr\" | jq -r '([\"SKILL_ID\",\"SKILL_NAME\", \"STATUS\"] | (., map(length*\"-\"))), (.data[] | [.skillId, .skillName, .syncStatus]) | @tsv' | column -ts $'\t'; exit"skill_arr="[]"
    kubectl -n <uipath> run "$podName" --image="$aicJobsImage" --restart=Never --labels="app.kubernetes.io/component=aicenter" --overrides='{ "metadata": { "annotations": {"sidecar.istio.io/inject": "false"}}}' --command -- /bin/bash -c "curl -sSL -XPOST -H 'Content-Type: application/json' 'ai-deployer-svc.uipath.svc.cluster.local/ai-deployer/v1/system/mlskills:restore-status' -d \"$skill_arr\" | jq -r '([\"SKILL_ID\",\"SKILL_NAME\", \"STATUS\"] | (., map(length*\"-\"))), (.data[] | [.skillId, .skillName, .syncStatus]) | @tsv' | column -ts $'\t'; exit"
    注:
    • すべてのスキルを実行するには を [] に置き換え$skill_arr、前述の 2 つのスキルのみを実行するには ['abcd', 'efgh'] に置き換えます。
    • skills id出力は次のコマンドに必要です。
  4. スキルのステータスの出力を確認します。
    kubectl -n <uipath> logs -f "$podName" -c "$podName"kubectl -n <uipath> logs -f "$podName" -c "$podName"

スキルの移行を実行する

スキルの移行を実行するには、次の手順に従います。

  1. 次のコマンドを実行するための変数を設定します。
    aicJobsImage=$(kubectl -n uipath get configmap aic-jobs-config -o "jsonpath={.data['AIC_JOBS_IMAGE']}")
    podName="skillsyncpod"aicJobsImage=$(kubectl -n uipath get configmap aic-jobs-config -o "jsonpath={.data['AIC_JOBS_IMAGE']}")
    podName="skillsyncpod"
  2. 実行中の可能性のある skillsyncpod をすべてクリーンアップしてから、スキルのステータスを再度取得します。 次のコマンドは、前の反復処理からポッドを削除するため、慎重に使用してください。
    kubectl -n uipath delete pod "$podName" --forcekubectl -n uipath delete pod "$podName" --force
  3. スキルの同期を開始します。ポッドがイメージをプルして実行するまでに時間がかかる場合があります (通常は 30 秒未満)。
    kubectl -n uipath run "$podName" --image="$aicJobsImage" --restart=Never --labels="app.kubernetes.io/component=aicenter" --overrides='{ "metadata": { "annotations": {"sidecar.istio.io/inject": "false"}}}' --command -- /bin/bash -c "curl -sSL -XPOST -H 'Content-Type: application/json' 'ai-deployer-svc.uipath.svc.cluster.local/ai-deployer/v1/system/mlskills:restore-all' -d \"[\"skill_id1\", \"skill_id2\", .... ]\"; exit"kubectl -n uipath run "$podName" --image="$aicJobsImage" --restart=Never --labels="app.kubernetes.io/component=aicenter" --overrides='{ "metadata": { "annotations": {"sidecar.istio.io/inject": "false"}}}' --command -- /bin/bash -c "curl -sSL -XPOST -H 'Content-Type: application/json' 'ai-deployer-svc.uipath.svc.cluster.local/ai-deployer/v1/system/mlskills:restore-all' -d \"[\"skill_id1\", \"skill_id2\", .... ]\"; exit"
    手記:skill ids は、「スキルの移行ステータスを確認する」の手順でコピーした値に置き換えます。
    skill_arr変数の宣言については、以下の例をご覧ください。
    skill_arr='[\"fb14154a-ce63-43ab-yyyy-xxxxxxxxxxxxxx\", \"ad58942d-e038-4d38-yyyy-xxxxxxxxxxxx\"]' # Replace them with ML skill ids in your environment
    kubectl -n uipath run "$podName" --image="$aicJobsImage" --restart=Never --labels="app.kubernetes.io/component=aicenter" --overrides='{ "metadata": { "annotations": {"sidecar.istio.io/inject": "false"}}}' --command -- /bin/bash -c -x "curl -sSL -XPOST -H 'Content-Type: application/json' '/ai-deployer/v1/system/mlskills:restore-all' -d \"$skill_arr\"; exit"skill_arr='[\"fb14154a-ce63-43ab-yyyy-xxxxxxxxxxxxxx\", \"ad58942d-e038-4d38-yyyy-xxxxxxxxxxxx\"]' # Replace them with ML skill ids in your environment
    kubectl -n uipath run "$podName" --image="$aicJobsImage" --restart=Never --labels="app.kubernetes.io/component=aicenter" --overrides='{ "metadata": { "annotations": {"sidecar.istio.io/inject": "false"}}}' --command -- /bin/bash -c -x "curl -sSL -XPOST -H 'Content-Type: application/json' '/ai-deployer/v1/system/mlskills:restore-all' -d \"$skill_arr\"; exit"
  4. スキルの同期ステータスの出力を確認します。
    kubectl -n uipath logs -f "$podName" -c "$podName"kubectl -n uipath logs -f "$podName" -c "$podName"
  5. 同期するスキルの数によっては操作に時間がかかる場合があるため、スキルの移行ステータスによって進捗を定期的に確認できます。IN_PROGRESS ステートのスキルがなくなれば終了です。
注:
スキルの移行ステータスの確認や、スキルの移行の実行では、すべてのスキルを同時に対象としています。 選択されたスキルに対してのみこれらの操作を実行するには、手順 3 で追加の引数として -d "[skill_id1, skill_id2, .... ]"curl に渡します。

このページは役に立ちましたか?

サポートを受ける
RPA について学ぶ - オートメーション コース
UiPath コミュニティ フォーラム
Uipath Logo White
信頼とセキュリティ
© 2005-2024 UiPath. All rights reserved.