automation-suite
2024.10
true
UiPath logo, featuring letters U and I in white
Linux の Automation Suite のインストール ガイド
Last updated 2024年11月14日

Migrating between Automation Suite clusters

About the cluster migration

You can migrate from one Automation Suite cluster to another if you use the uipath namespace instead of a custom namespace and want to move from one Automation Suite flavor to another. We support the following scenarios:
  • Migrate from Automation Suite on Linux to a new installation of Automation Suite on EKS/AKS or Automation Suite on OpenShift;

  • Migrate from Automation Suite on EKS/AKS to a new installation of Automation Suite on OpenShift;

  • Migrate from Automation Suite on OpenShift to a new installation of Automation Suite on EKS/AKS;

  • Migrate from Automation Suite on EKS to Automation Suite on AKS or from Automation Suite on AKS to Automation Suite on EKS.

Note that you can attempt to perform the migration operation multiple times with no impact on your existing cluster.

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

  • Migrating from Automation Suite on Linux to an existing installation of Automation on EKS/AKS or Automation Suite on OpenShift;

  • Migrating an Automation Suite on OpenShift cluster to Automation Suite on Linux cluster.

プロセスの概要

手順

説明

1.

Mandatory. Make sure you meet the migration requirements.

2.

Mandatory. Prepare the target cluster and the docker images for both source and target cluster.

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

3.

Mandatory. Start the migration, move the data, and run the Automation Suite installation.

4.

Optional. If AI Center is enabled on both the source and target clusters, migrate the skills.

要件

To migrate from an Automation Suite cluster to another, you must meet the following requirements:

  • Download the following artifacts:

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

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

  • If you migrate from Automation Suite on Linux, the version of your source cluster must be 2022.10 or newer.

  • If you migrate to Automation Suite on OpenShift, the version of your source cluster must be 2023.10 or newer.

  • Offline-only requirements: You must hydrate the target cluster.

データ移行と責任

データ

移行メカニズム

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

Preparing the cluster migration

Preparing the target cluster

注:

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

To prepare the target cluster, take the following steps:

  1. Download the targeted version of cluster_config.json on the source cluster and generate the cluster_config.json file by running the following command:
    uipathctl manifest get-revisionuipathctl manifest get-revision
    For details, refer to the following diagram:
    docs image
  2. Based on the previously generated input.json file, modify the input.json file of the target cluster.

    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 is the input.json file corresponding to the target cluster.
  4. ソース デプロイからターゲット デプロイに SQL データベースを複製します。

Hydrating the OCI-compliant registry registry without internet access

移行プロセスでは、ソース クラスターとターゲット クラスターの両方で最新の 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. Seed the uipathcore image from the registry of the target cluster to the registry of source cluster:
    ./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"
    Note: Make sure to update the command as follows:
    • Replace target.registry.fqdn.com, target.registry.fqdn.com, and target-registry-password with the proper values that correspond to the registry associated with the target cluster;
    • Replace source.registry.fqdn.com, source.registry.fqdn.com, and source-registry-password with the proper values that correspond to the registry associated with the source cluster.

Hydrating the OCI-compliant registry with internet access

If you use a private registry, you must seed it. For instructions, see .

Running the cluster migration

To migrate to the target Automation Suite cluster, take the following steps:

  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. Complete the Automation Suite installation on the target cluster by running the following command:
    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

Migrating the AI Center skills

このセクションの手順は、ソース クラスターとターゲット クラスターの両方で 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 は、「スキルの移行ステータスを確認する」の手順でコピーした値に置き換えます。
    Check the example below for declaring the skill_arr variable:
    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.