Automation Suite
2023.10
バナーの背景画像
EKS/AKS の Automation Suite のインストール ガイド
最終更新日 2024年4月19日

Linux の Automation Suite から EKS/AKS の Automation Suite に移行する

Linux マシンにデプロイされた Automation Suite から EKS/AKS の Automation Suite に移行できます。そのためには、uipathctl を使用して、Automation Suite の 1 つのフレーバーから別のフレーバーにデータを移動する必要があります。

この移行プロセスの利点の 1 つは、既存のクラスターに影響を与えずに複数回の実行を試行できることです。

重要:

EKS/AKS のオートメーションの新しいインストールにのみ移行できます。現在、EKS/AKS のオートメーションの既存のインストールへの移行はサポートされていません。

要件

Linux の Automation Suite から EKS/AKS の Automation Suite に移行するには、次の要件を満たす必要があります。

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

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

  • Linux 上の Automation Suite のバージョンは 2022.10 以降である必要があります。

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

プロセスの概要

#

移行手順

1.

必須ですuipathctl をダウンロードします。

ダウンロードの手順については、「uipathctl」をご覧ください。

2.

必須ですversions.json をダウンロードします。

ダウンロードの手順については、「versions.json」をご覧ください。

3.

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

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

4.

ターゲット クラスターを準備します。

  1. input.json ファイルを作成します。
  2. 前提条件の確認を実行します。

5.

移行を実行し、データを移動します。

移行では、ソース クラスターとターゲット クラスターの両方でポッドが実行されます。ソース クラスター用に構成された外部オブジェクト ストレージ、具体的にはプラットフォーム バケットは、移行の中間ストレージの場所として使用されます。

ソース クラスター:

  • general-migration-* ポッドは、ソース クラスターからターゲット クラスターに Kubernetes オブジェクトをエクスポートします。
  • volume-migration-* ポッドは、PVC データを中間外部ストレージにコピーします。

ターゲット クラスター:

  • inbound-pvc-migration-* ポッドは、ターゲット クラスターで PVC を作成し、そこにソース データをコピーします。

6.

  • AKS または EKS で Automation Suite のインストールを実行します。

データ移行と責任

データ

移行メカニズム

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

準備

cluster_config.json ファイルを準備する

注:

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

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

    テナントごとの暗号化キーAzure/Amazon S3 のストレージ バケットの設定など、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
  4. ソース デプロイからターゲット デプロイに SQL データベースを複製します。

インターネット アクセス要件のないプライベート レジストリ

移行プロセスでは、ソース クラスターとターゲット クラスターの両方で最新の 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. uipathctl バイナリを使用して、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>"
    注: registry.fqdnregistry-username、および registry-password は、必ず、ソース オフライン インストールで使用されるプライベート レジストリの適切な値に置き換えてください。

インターネット アクセス要件のあるプライベート レジストリ

プライベート レジストリを使用する場合は、そのレジストリをシードする必要があります。手順については、「OCI 準拠のレジストリを設定」を参照してください。

オフライン環境でクラスター内レジストリを使用する場合の要件

オフライン環境でクラスター内レジストリを使用する場合は、以下の手順を実行します。

  1. ソース クラスターに as.tar.gz をダウンロードします。
  2. レジストリをハイドレートするには、configureUiPathAS.sh スクリプトを実行します。
    cd /opt/UiPathAutomationSuite/{version}/installer
    
    ./configureUiPathAS.sh registry upload --offline-bundle /uipath/{version}/as.tar.gz --offline-tmp-folder /uipath/tmpcd /opt/UiPathAutomationSuite/{version}/installer
    
    ./configureUiPathAS.sh registry upload --offline-bundle /uipath/{version}/as.tar.gz --offline-tmp-folder /uipath/tmp

実行

EKS/AKS の 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. 次のコマンドを実行して、ターゲット クラスター上の AKS/EKS への 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['AIC_JOBS_IMAGE']}")
    podName="skillstatuspod"aicJobsImage=$(kubectl -n uipath get configmap aic-jobs-config -o "jsonpath={.data['AIC_JOBS_IMAGE']}")
    podName="skillstatuspod"
  2. 実行中の可能性のある skillstatuspod をすべてクリーンアップしてから、スキルのステータスを再度取得します。 次のコマンドは、前の反復処理からポッドを削除するため、慎重に使用してください。
    kubectl -n uipath delete pod "$podName" --force.kubectl -n uipath delete pod "$podName" --force. 
  3. スキルのステータスを取得する skillstatuspod を作成します。 ポッドがイメージをプルして実行するまでに時間がかかる場合があります (通常は 30 秒未満)。
    kubectl -n uipath run "$podName" --image="$aicJobsImage" --restart=Never --labels="app.kubernetes.io/component=aicenter" --overrides='{ "metadata": { "annotations": {"sidecar.istio.io/inject": "false"}}}' -- /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' | jq -r '([\"SKILL_ID\",\"SKILL_NAME\", \"STATUS\"] | (., map(length*\"-\"))), (.data[] | [.skillId, .skillName, .syncStatus]) | @tsv' | column -ts $'\t'; exit"kubectl -n uipath run "$podName" --image="$aicJobsImage" --restart=Never --labels="app.kubernetes.io/component=aicenter" --overrides='{ "metadata": { "annotations": {"sidecar.istio.io/inject": "false"}}}' -- /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' | jq -r '([\"SKILL_ID\",\"SKILL_NAME\", \"STATUS\"] | (., map(length*\"-\"))), (.data[] | [.skillId, .skillName, .syncStatus]) | @tsv' | column -ts $'\t'; exit"
  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"}}}' -- /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"}}}' -- /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"
  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 に渡します。

Was this page helpful?

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