UiPath Documentation
automation-suite
2024.10
false
Important :
Veuillez noter que ce contenu a été localisé en partie à l’aide de la traduction automatique. La localisation du contenu nouvellement publié peut prendre 1 à 2 semaines avant d’être disponible.

Guide d'installation d'Automation Suite sur EKS/AKS

Dernière mise à jour 20 mai 2026

Migration d' Automation Suite sur EKS/AKS vers Automation Suite sur OpenShift

Vous pouvez effectuer la migration depuis Automation Suite déployé sur EKS/AKS vers Automation Suite sur OpenShift. Pour ce faire, vous devez déplacer vos ressources Kubernetes et, le cas échéant, migrer vos données et Insights.

Étape 1 : Migration des ressources Kubernetes

Pour migrer vos ressources Kubernetes depuis EKS/AKS vers OpenShift, procédez comme suit :

  1. Exportez vos ressources Kubernetes depuis le cluster EKS/AKS :

    uipathctl cluster migration export ~/Downloads/aksinput.json --output-dir ~/Migrate --kubeconfig ~/Downloads/akskubeconfig --log-level debug
    uipathctl cluster migration export ~/Downloads/aksinput.json --output-dir ~/Migrate --kubeconfig ~/Downloads/akskubeconfig --log-level debug
    
  2. Mettez à jour les valeurs de namespace, resourceVersion et uid dans le fichier généré dans le répertoire de sortie. Assurez-vous de remplacer <uipath> par l'espace de noms que vous prévoyez d'utiliser.

    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-223902721
    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-223902721
    
  3. Créez les manifestes dans le cluster cible à l'aide de son kubeconfigr :

    kubectl apply -f source-cluster-223902721 --namespace=<namespace>
    kubectl apply -f source-cluster-223902721 --namespace=<namespace>
    
  4. Après avoir terminé la migration des données et d'Insights (étape 2 et étape 3), terminez l'installation d'Automation Suite sur le cluster cible en exécutant la commande suivante :

    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
    

Étape 2 : Migration des données

Pour migrer vos données d' Automation Suite sur EKS/AKS vers Automation Suite sur OpenShift, procédez comme suit :

  1. Copiez toutes les données du magasin d’objets source dans le magasin d’objets de destination. Ignorez cette étape si vous prévoyez d'utiliser le même magasin d'objets dans le cluster cible.
  2. Copiez les données SQL du serveur SQL source vers le serveur SQL cible. Ignorez cette étape si vous prévoyez d'utiliser le même serveur SQL dans le cluster cible.

Étape 3 : Migration d'Insights

À propos de la migration d'Insights

Pour migrer Insights, vous devez migrer les PVC suivants :

  • insights-looker-lookerdir-pvc (taille du PVC : 500 Mi)
  • insights-looker-datadir-pvc (taille du PVC : 10 Go)

Comment migrer Insights

Pour migrer les PVC Insights, procédez comme suit :

  1. Créez la clé secrète de stockage externe en exécutant l'une des commandes suivantes.

    • Si vous utilisez un stockage compatible S3, exécutez la commande suivante :

      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>
      
    • Si vous utilisez le stockage AWS S3, exécutez la commande suivante :

      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>
      
  2. Créez le PVC insights-looker-lookerdir-pvc :

    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>
    
  3. Créez le 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>
    
  4. Créez le pod pour la migration 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-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-pvc
    
  5. Créez le PVC insights-looker-datadir-pvc :

    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>
    
  6. Créez le pod pour la migration 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-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-pvc
    
  7. Supprimez le compte de service, le rôle et la liaison de rôle précédemment créés à l'étape 3 :

    kubectl -n <namespace> delete sa migration-sa
    kubectl -n <namespace> delete role migration-role
    kubectl -n <namespace> delete rolebinding migration-rolebinding
    kubectl -n <namespace> delete sa migration-sa
    kubectl -n <namespace> delete role migration-role
    kubectl -n <namespace> delete rolebinding migration-rolebinding
    

Cette page vous a-t-elle été utile ?

Connecter

Besoin d'aide ? Assistance

Vous souhaitez apprendre ? UiPath Academy

Vous avez des questions ? UiPath Forum

Rester à jour