- 概要
- 要件
- インストール前
- インストール
- インストール後
- 移行とアップグレード
- Automation Suite をアップグレードする
- スタンドアロン製品を 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 クラスター間を移行する
- EKS/AKS の Automation Suite から OpenShift の Automation Suite に移行する
- 監視とアラート機能
- クラスターの管理
- 製品固有の設定
- トラブルシューティング

EKS/AKS の Automation Suite のインストール ガイド
EKS/AKS の Automation Suite から OpenShift の Automation Suite に移行する
EKS/AKS にデプロイされた Automation Suite から OpenShift の Automation Suite に移行できます。 そのためには、Kubernetes リソースを移動し、必要に応じてデータと Insights を移行する必要があります。
手順 1: Kubernetes リソースを移行する
Kubernetes リソースを EKS/AKS から OpenShift に移行するには、次の手順に従います。
-
Kubernetes リソースを EKS/AKS クラスターからエクスポートします。
uipathctl cluster migration export ~/Downloads/aksinput.json --output-dir ~/Migrate --kubeconfig ~/Downloads/akskubeconfig --log-level debuguipathctl cluster migration export ~/Downloads/aksinput.json --output-dir ~/Migrate --kubeconfig ~/Downloads/akskubeconfig --log-level debug -
出力ディレクトリに生成された ファイル内の
namespace、resourceVersion、およびuidの値を更新します。 <uipath> は、使用する予定の名前空間に置き換えてください。sed -i '' 's/namespace: uipath/namespace: <uipath>/g' source-cluster-223902721 sed -i '' 's/namespace: airflow/namespace: <uipath>/g' source-cluster-223902721 sed -i '' '/ resourceVersion:/d' source-cluster-223902721 sed -i '' '/ uid:/d' source-cluster-223902721sed -i '' 's/namespace: uipath/namespace: <uipath>/g' source-cluster-223902721 sed -i '' 's/namespace: airflow/namespace: <uipath>/g' source-cluster-223902721 sed -i '' '/ resourceVersion:/d' source-cluster-223902721 sed -i '' '/ uid:/d' source-cluster-223902721 -
kubeconfigr を使用して、ターゲット クラスターにマニフェストを作成します。
kubectl apply -f source-cluster-223902721 --namespace=<namespace>kubectl apply -f source-cluster-223902721 --namespace=<namespace> -
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
手順 2: データ移行する
EKS/AKS の Automation Suite から OpenShift の Automation Suite にデータを移行するには、次の手順を実行します。
- コピー元の ObjectStore からコピー先の ObjectStore にすべてのデータをコピーします。 ターゲット クラスターで同じ ObjectStore を使用する予定がある場合は、この手順をスキップしてください。
- ソース SQL Server からターゲット SQL Server に SQL データをコピーします。 ターゲット クラスターで同じ SQL Server を使用する予定がある場合は、この手順をスキップしてください。
手順 3: Insights を移行する
Insights の移行について
Insights を移行するには、次の PVC を移行する必要があります。
insights-looker-lookerdir-pvc(PVCサイズ:500Mi)insights-looker-datadir-pvc(PVCサイズ:10Gi)
Insights の移行方法
Insights PVC を移行するには、次の手順に従います。
-
次のコマンドのいずれかを実行して、外部ストレージ シークレットを作成します。
-
S3 互換ストレージを使用する場合は、次のコマンドを実行します。
kubectl create secret -n <namespace> generic export-externalobjects-secret \ --from-literal=ACCESSKEY=<accesskey> \ --from-literal=SECRETKEY=<secretkey> \ --from-literal=REGION=<region> \ --from-literal=FQDN=<fqdn> \ --from-literal=BUCKET=<bucket> \ --from-literal=USE_INSTANCE_PROFILE=<use_instance_profile> \ --from-literal=CREATE_BUCKET=<create_bucket> \ --from-literal=STORAGE_TYPE=s3 \ --from-literal=PORT=<port>kubectl create secret -n <namespace> generic export-externalobjects-secret \ --from-literal=ACCESSKEY=<accesskey> \ --from-literal=SECRETKEY=<secretkey> \ --from-literal=REGION=<region> \ --from-literal=FQDN=<fqdn> \ --from-literal=BUCKET=<bucket> \ --from-literal=USE_INSTANCE_PROFILE=<use_instance_profile> \ --from-literal=CREATE_BUCKET=<create_bucket> \ --from-literal=STORAGE_TYPE=s3 \ --from-literal=PORT=<port> -
AWS S3 ストレージを使用する場合は、次のコマンドを実行します。
kubectl create secret -n <namespace> generic export-externalobjects-secret \ --from-literal=ACCOUNTKEY=<accountkey> \ --from-literal=ACCOUNTNAME=<accountname> \ --from-literal=CLIENT_ID=<client_id> \ --from-literal=AZURE_FQDN_SUFFIX=<fqdn> \ --from-literal=BUCKET=<bucket> \ --from-literal=USE_MANAGED_IDENTITY=<use_managed_profile> \ --from-literal=CREATE_CONTAINER=<create_container> \ --from-literal=STORAGE_TYPE=azure \ --from-literal=USE_WORKLOAD_IDENTITY=<use_workload_identity>kubectl create secret -n <namespace> generic export-externalobjects-secret \ --from-literal=ACCOUNTKEY=<accountkey> \ --from-literal=ACCOUNTNAME=<accountname> \ --from-literal=CLIENT_ID=<client_id> \ --from-literal=AZURE_FQDN_SUFFIX=<fqdn> \ --from-literal=BUCKET=<bucket> \ --from-literal=USE_MANAGED_IDENTITY=<use_managed_profile> \ --from-literal=CREATE_CONTAINER=<create_container> \ --from-literal=STORAGE_TYPE=azure \ --from-literal=USE_WORKLOAD_IDENTITY=<use_workload_identity>
-
-
insights-looker-lookerdir-pvcPVC を作成します。apiVersion: v1 kind: PersistentVolumeClaim metadata: labels: app.kubernetes.io/component: insightslooker app.kubernetes.io/instance: insights app.kubernetes.io/part-by: cloud-rpa argocd.argoproj.io/instance: insights name: insights-looker-lookerdir-pvc namespace: <namespace> spec: accessModes: - ReadWriteOnce resources: requests: storage: 500Mi storageClassName: <storage-class-name>apiVersion: v1 kind: PersistentVolumeClaim metadata: labels: app.kubernetes.io/component: insightslooker app.kubernetes.io/instance: insights app.kubernetes.io/part-by: cloud-rpa argocd.argoproj.io/instance: insights name: insights-looker-lookerdir-pvc namespace: <namespace> spec: accessModes: - ReadWriteOnce resources: requests: storage: 500Mi storageClassName: <storage-class-name> -
RBAC を作成します。
--- apiVersion: v1 kind: ServiceAccount metadata: name: migration-sa namespace: <uipath> --- apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: migration-role namespace: <namespace> rules: - apiGroups: [""] resources: ["configmaps", "secrets"] verbs: ["get", "list", "watch", "create", "patch"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: migration-rolebinding namespace: <namespace> roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: migration-role subjects: - kind: ServiceAccount name: migration-sa namespace: <namespace>--- apiVersion: v1 kind: ServiceAccount metadata: name: migration-sa namespace: <uipath> --- apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: migration-role namespace: <namespace> rules: - apiGroups: [""] resources: ["configmaps", "secrets"] verbs: ["get", "list", "watch", "create", "patch"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: migration-rolebinding namespace: <namespace> roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: migration-role subjects: - kind: ServiceAccount name: migration-sa namespace: <namespace> -
insights-looker-lookerdir-pvcを移行するためのポッドを作成します。apiVersion: v1 kind: Pod metadata: name: inbound-migrator namespace: <namespace> spec: containers: - command: - /uipathcore - data - migrate - --source-secret - export-externalobjects-secret - --source-path - insights/mnt/lookerfiles - --destination-path - /mnt/lookerfiles - --namespace - <namespace> - --log-level - debug image: sfbrdevhelmweacr.azurecr.io/uipath/uipathcore:0.0.0-dev6628693 imagePullPolicy: IfNotPresent name: pvc-migrator securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL - MKNOD runAsNonRoot: true volumeMounts: - mountPath: /mnt/lookerfiles name: insights-looker-lookerdir serviceAccountName: migration-sa imagePullSecrets: - name: uipathpullsecret securityContext: runAsNonRoot: true volumes: - name: insights-looker-lookerdir persistentVolumeClaim: claimName: insights-looker-lookerdir-pvcapiVersion: v1 kind: Pod metadata: name: inbound-migrator namespace: <namespace> spec: containers: - command: - /uipathcore - data - migrate - --source-secret - export-externalobjects-secret - --source-path - insights/mnt/lookerfiles - --destination-path - /mnt/lookerfiles - --namespace - <namespace> - --log-level - debug image: sfbrdevhelmweacr.azurecr.io/uipath/uipathcore:0.0.0-dev6628693 imagePullPolicy: IfNotPresent name: pvc-migrator securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL - MKNOD runAsNonRoot: true volumeMounts: - mountPath: /mnt/lookerfiles name: insights-looker-lookerdir serviceAccountName: migration-sa imagePullSecrets: - name: uipathpullsecret securityContext: runAsNonRoot: true volumes: - name: insights-looker-lookerdir persistentVolumeClaim: claimName: insights-looker-lookerdir-pvc -
insights-looker-datadir-pvcPVC を作成します。apiVersion: v1 kind: PersistentVolumeClaim metadata: labels: app.kubernetes.io/component: insightslooker app.kubernetes.io/instance: insights app.kubernetes.io/part-by: cloud-rpa argocd.argoproj.io/instance: insights name: insights-looker-datadir-pvc namespace: <namespace> spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi storageClassName: <storage-class-name>apiVersion: v1 kind: PersistentVolumeClaim metadata: labels: app.kubernetes.io/component: insightslooker app.kubernetes.io/instance: insights app.kubernetes.io/part-by: cloud-rpa argocd.argoproj.io/instance: insights name: insights-looker-datadir-pvc namespace: <namespace> spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi storageClassName: <storage-class-name> -
insights-looker-datadir-pvcを移行するためのポッドを作成します。apiVersion: v1 kind: Pod metadata: name: inbound-migrator-data namespace: <namespace> spec: containers: - command: - /uipathcore - data - migrate - --source-secret - export-externalobjects-secret - --source-path - insights/app/workdir - --destination-path - /mnt/lookerfiles - --namespace - <namespace> - --log-level - debug image: sfbrdevhelmweacr.azurecr.io/uipath/uipathcore:0.0.0-dev6628693 imagePullPolicy: IfNotPresent name: pvc-migrator securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL - MKNOD runAsNonRoot: true volumeMounts: - mountPath: /mnt/lookerfiles name: insights-looker-datadir serviceAccountName: migration-sa imagePullSecrets: - name: uipathpullsecret securityContext: runAsUser: 1000700000 runAsNonRoot: true volumes: - name: insights-looker-datadir persistentVolumeClaim: claimName: insights-looker-datadir-pvcapiVersion: v1 kind: Pod metadata: name: inbound-migrator-data namespace: <namespace> spec: containers: - command: - /uipathcore - data - migrate - --source-secret - export-externalobjects-secret - --source-path - insights/app/workdir - --destination-path - /mnt/lookerfiles - --namespace - <namespace> - --log-level - debug image: sfbrdevhelmweacr.azurecr.io/uipath/uipathcore:0.0.0-dev6628693 imagePullPolicy: IfNotPresent name: pvc-migrator securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL - MKNOD runAsNonRoot: true volumeMounts: - mountPath: /mnt/lookerfiles name: insights-looker-datadir serviceAccountName: migration-sa imagePullSecrets: - name: uipathpullsecret securityContext: runAsUser: 1000700000 runAsNonRoot: true volumes: - name: insights-looker-datadir persistentVolumeClaim: claimName: insights-looker-datadir-pvc -
手順 3 で作成したサービス アカウント、ロール、ロール バインドを削除します。
kubectl -n <namespace> delete sa migration-sa kubectl -n <namespace> delete role migration-role kubectl -n <namespace> delete rolebinding migration-rolebindingkubectl -n <namespace> delete sa migration-sa kubectl -n <namespace> delete role migration-role kubectl -n <namespace> delete rolebinding migration-rolebinding