UiPath Documentation
automation-suite
2023.10
false
重要 :
このコンテンツの一部は機械翻訳によって処理されており、完全な翻訳を保証するものではありません。 新しいコンテンツの翻訳は、およそ 1 ~ 2 週間で公開されます。

EKS/AKS の Automation Suite のインストール ガイド

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

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

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

重要:

この移行オプションでは、Linux の Automation Suite から EKS/AKS の Automation Suite の新しいインストールに移行できます。

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

  • 現在、Linux の Automation Suite から EKS/AKS の Automation Suite の既存のインストールへの移行はサポートされていません。
  • 現在、EKS/AKS の Automation Suite のクラスターから別の EKS/AKS の Automation Suite のクラスターへの移行はサポートされていません。

要件

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

  • 2 つの環境の間に接続を確立する必要があります。
  • ソース クラスターに外部 ObjectStore が構成されている必要があります。クラスター内のストレージを使用する場合は、「 クラスター内の ObjectStore から外部 ObjectStore に移行する」をご覧ください。
  • ソース クラスターに、宛先のオブジェクト ストアに対する読み取り/書き込み権限を付与する必要があります。永続ボリューム (PV) がコピーされると、ソースクラスターはデータを宛先のオブジェクトストアに書き込み、宛先クラスターはオブジェクトストアからデータをプルして、対応する PV を作成します。
  • 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 のインストールを実行します。

データ移行と責任

データ

移行メカニズム

ステータス 責任

SQL

保持

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

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

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

顧客 (Customer)

Docker レジストリ

移行されない

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

顧客 (Customer)

fqdn

Required

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

顧客 (Customer)
証明書

移行されない

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

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

移行されない

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

移行されない

移行後に、Alertmanager ダッシュボードと Grafana ダッシュボードでカスタム アラートを再設定する必要があります。

顧客 (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 ファイルを生成します。詳しくは、以下の図を参照してください。

  2. 以前に生成された input.json ファイルに基づいて、ターゲット クラスターの input.json ファイルを変更します。手順については、「 input.jsonを設定する」をご覧ください。

    テナントごとの暗号化キーAzure/Amazon S3 のストレージ バケットの設定など、Orchestrator 固有の設定を転送する必要があります。

    注:

    バージョン 2023.10.9 以降では、Process Mining 専用の Microsoft SQL Server と PostgreSQL Airflow データベースをお勧めします。

    v2023.10.9 より前のバージョンから移行する場合、ターゲット クラスター用に生成された input.json ファイルには、Airflow PostgreSQL データベースの接続文字列が含まれません。最新バージョンの Airflow を使用するには PostgreSQL が必要ですが、移行前に PostgreSQL 用の sqlalchemy 接続文字列テンプレートをターゲット クラスターの input.json ファイルに手動で追加する必要があります。

    Postgresql_connection_string_template_sqlalchemy_pyodbc

    postgresql+psycopg2://<user>:<password>@<postgresql host>:<postgresql port>/DB_NAME_PLACEHOLDER
    postgresql+psycopg2://<user>:<password>@<postgresql host>:<postgresql port>/DB_NAME_PLACEHOLDER
    
  3. 次のコマンドを実行して、ターゲット クラスターの前提条件を検証します。

    uipathctl prereq run input-target.json --kubeconfig kubeconfig.target --versions versions.json
    uipathctl 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.txt
    jq -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 準拠のレジストリを設定」を参照してください。

実行

EKS/AKS の Automation Suite に移行するには、次の手順に従います。

  1. 次のコマンドを実行して、移行を実行します。
    uipathctl cluster migration run input-target.json --kubeconfig kubeconfig.source --target-kubeconfig kubeconfig.target --versions versions-target.json
    uipathctl 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.json
    uipathctl 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" --force
    kubectl -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 に渡します。

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

接続

ヘルプ リソース サポート

学習する UiPath アカデミー

質問する UiPath フォーラム

最新情報を取得