Automation Suite
2021.10
False
Imagen de fondo del banner
Guía de instalación de Automation Suite
Última actualización 19 de abr. de 2024

Pasos previos a la migración

Para garantizar la correcta migración de una instalación de plataforma independiente a Automation Suite, siga los pasos descritos en las siguientes secciones. Los pasos previos a la migración son obligatorios.

Paso 1: guardar los datos de configuración de Identity Server

Asegúrese de guardar los siguientes datos de configuración de Identity Server:

Nombre de usuario y contraseña del administrador host

Guarda el nombre de usuario y la contraseña del administrador del host.

Certificados de firma de tokens

Identity Server utiliza certificados .pfx para firmar tokens OAuth. Si utiliza sus propios tokens en la implementación independiente, debe convertirlos en .pfx y actualizarlos en los correspondientes secretos del clúster de Automation Suite.
Nota: también puedes realizar este paso durante la configuración del clúster inicial si decides usar los mismos certificados de firma en la implementación de Automation Suite: kubectl edit secret identity-token-signing-certificate -n uipath.

Certificados SAML

La configuración del proveedor de identidades SAML utiliza almacenes de certificados para leer los certificados de cliente y servidor. Debe actualizar los certificados utilizados anteriormente en la implementación independiente en los correspondientes secretos del clúster de Automation Suite: kubectl edit secret identity-saml-certificates -n uipath.

Configuración de la aplicación de Identity Server

Guarde la siguiente configuración de la aplicación del servidor de identidad:

  • DatabaseProtectionSettings de appsetting.production.json en la carpeta /identity de la implementación independiente.
  • La configuración DatabaseProtectionSettings.EncryptionKey2021 se utiliza para cifrar los datos confidenciales en reposo. Debe replicar este valor en la implementación de Automation Suite en la fase posterior a la migración: kubectl edit secret identity-generated-secrets -n uipath

Certificados de exportación

Si utilizas Azure Key Vault o Windows Certificate Store, exporta los certificados a formato .pfx.

Paso 2: creación de pares de organización y tenant

Para cada tenant de la implementación independiente, crea un par de tenants de organización en el entorno Automation Suite.

Ejemplo: si en una instancia de Orchestrator independiente tiene un tenant llamado Tenant1, en Automation Suite tiene que crear una organización Tenant1 y un tenant dentro de esa organización también llamado Tenant1. Una vez que haya creado el tenant , compruebe que el servicio Orchestrator esté habilitado para ese tenant.

Nota: se crea automáticamente un tenant «predeterminado» para cada organización. No es necesario que lo elimine, pero tiene que añadir otro tenant con el mismo nombre que su organización. Por ejemplo, en el ejemplo anterior, al crear una organización Tenant1, acaba teniendo también un tenant llamado Predeterminado en esa organización. El último paso es añadir otro tenant llamado Tenant1 a esa organización. A continuación, puede pasar a crear el siguiente par de organización y tenant.

Paso 3: Guardar las cadenas de conexión y los nombres de tenant

Guarda la siguiente información para su uso futuro:

  • La cadena de conexión a la base de datos de Orchestrator en la implementación independiente;
  • La cadena de conexión a la base de datos de Automation Suite_Platform en la implementación de Automation Suite;
  • Los nombres de tenant de la implementación independiente; puede buscarlos en la UI de Orchestrator o utilizando la columna TenancyName en la tabla de tenants de Orchestrator.
  • Cadena de conexión de Insights.

Paso 4: Preparar Orchestrator

Información general sobre la migración

Para migrar Orchestrator desde una instancia independiente a Automation Suite, debes recopilar los ajustes y varios archivos de la implementación independiente y aplicarlos a la instalación de Automation Suite.

Aunque solo parte de los ajustes son configurables en el momento de la instalación, todos deben estar disponibles para la configuración posterior a la instalación.

  • Para configurar los ajustes en el momento de la instalación, añádalos al archivo cluster_config.json.
  • La actualización de los ajustes una vez completada la instalación depende del ámbito de la configuración y de si existe una función para la configuración desde parámetros app-of-apps o no.
Puedes almacenar los archivos personalizados que se necesitan dentro de los pods de Orchestrator como conjuntos u otros archivos de almacenamiento en el almacén de objetos Ceph integrado. Los archivos de almacenamiento se almacenan en un depósito para cada tenant. Los complementos se almacenan en el depósito uipath en orchestrator/plugins/nlog o orchestrator/plugins/securestore.

Puede añadir la configuración personalizada de la siguiente manera:

  • editando los parámetros de la aplicación en ArgoCD (anuladores de parámetros);
  • editando los archivos dentro de Kubernetes ConfigMap orchestrator-customconfig desde el espacio de nombres uipath.

Preparando web.config

La mayoría de los ajustes web.config no tienen un equivalente o se implementan automatización en Automation Suite utilizando otros mecanismos.

Las opciones que deben configurarse son las siguientes:

security.requestFiltering.requestLimits.maxAllowedContentLengthsecurity.requestFiltering.requestLimits.maxAllowedContentLength

Anota el valor de esta configuración para su uso posterior. Decide si necesitas configurarlo en Automation Suite. Su valor predeterminado es 300 MiB.

Preparar AppSettings

Puede que tenga que migrar cambios personalizados realizados en la sección appSettings o secureAppSettings del archivo de configuración UiPath.Orchestrator.dll.config. Puede añadir appSettings y secureAppSettings personalizado al mapa de configuración de orchestrator-customconfig.
En la sección appSettings del archivo de configuración UiPath.Orchestrator.dll.config, identifique los ajustes modificados o añadidos. Guarde estos ajustes en un archivo .json para que estén disponibles en pasos posteriores.

Puede descifrar cualquier sección de configuración de aplicaciones protegida con la opción de configuración protegida de Orchestrator CLI. Solo tiene que utilizar los ajustes que ha cambiado o añadido y que siguen siendo relevantes en Automation Suite.

Nota: puedes crear el archivo appSettings.custom.json como se muestra en el siguiente ejemplo:
{
  "ExampleSetting.Enabled": true,
  "ExampleSetting.Type": "BasicExample",
  "ExampleSetting.Count": 3
}{
  "ExampleSetting.Enabled": true,
  "ExampleSetting.Type": "BasicExample",
  "ExampleSetting.Count": 3
}

Preparar almacenamiento

Decida lo que necesita para la migración de almacenamiento y si su configuración de almacenamiento actual se mantiene igual o va a dejar que Automation Suite gestione el almacenamiento por usted. Automation Suite ofrece la opción de almacenar los blobs en Ceph, que pueden utilizarse en todos los pods de Orchestrator. En caso de una migración, debe copiar los archivos existentes al almacenamiento actual de blobs.

Si utiliza el almacenamiento tipo FileSystem con una carpeta local, copie los datos de la carpeta de almacenamiento en una carpeta ubicada en un nodo desde Automation Suite. A continuación, utilizando una utilidad S3 como s3cmd, puede copiar los datos en Orchestrator. Si utiliza Ceph, no se requiere otra configuración, ya que esta es la opción predeterminada.
Si desea utilizar FileSystem con un recurso compartido de red de Windows, debe configurar el almacenamiento en la aplicación ArgoCD Orchestrator. Recupere los datos de conexión al recurso compartido de red de Windows de su configuración Orchestrator actual desde la clave Storage.Location. Puesto que Automation Suite se ejecuta en máquinas Linux, no puede utilizar la autenticación integrada para acceder al recurso compartido de red, por lo que necesita las credenciales de cuenta que pueda acceder a él.
Nota: en la actualidad solo se admiten los recursos compartidos de red que usan el protocolo SMB. Los recursos compartidos de red que usan NFS no son compatibles.
Si utiliza opciones de almacenamiento remoto, como Azure, AWS, o Minio, asegúrese de añadir los ajustes Storage.Location y Storage.Type al appSettings.custom.json.

Preparar NLog

Puede realizar las siguientes personalizaciones en NLog:

  • cambiar los objetivos existentes
  • añadir nuevos objetivos
  • añadir extensiones de NLog

Consulte la sección de NLog del archivo de configuración y cree la configuración personalizada de NLog. Para habilitar el almacenamiento de registros de robot en Elasticsearch, puede proporcionar el nombre de usuario, la contraseña y el URI como parámetros de Automation Suite y el objetivo se configura automáticamente. Para habilitar escenarios personalizados para los registros de robot, debe configurar el objetivo manualmente.

Si necesita extensiones de NLog, cree una carpeta que contenga todas las extensiones y sus dependencias.

Nota: por ejemplo, la carpeta podría llamarse nlogextensions. De forma predeterminada, Orchestrator carga las siguientes extensiones, por lo que no debe incluirlas en la carpeta o la configuración de NLog:
NLog.Targets.ElasticSearch
UiPath.Orchestrator.Logs.Elasticsearch
Microsoft.ApplicationInsights.NLogTarget
NLog.Extensions.AzureEventHubNLog.Targets.ElasticSearch
UiPath.Orchestrator.Logs.Elasticsearch
Microsoft.ApplicationInsights.NLogTarget
NLog.Extensions.AzureEventHub
Cree el archivo nlog.custom.config que contiene las secciones las extensiones, los objetivos y las reglas estándar.
La sección de extensiones es una matriz de elementos que especifican los conjuntos de extensiones utilizando assemblyFile, y la ruta del consjunto relativa a la carpeta nlogextensions.
Orchestrator define los objetivos y las reglas de NLog que están configurados total o parcialmente para casos de uso común. Cuando se requiere la personalización de estos objetivos, solo debe incluir las propiedades modificadas en la configuración de NLog. No se pueden eliminar las propiedades existentes de la configuración predefinida, pero sí puede cambiarlas. En el pod de Orchestrator, los objetivos incluidos de manera predeterminada están definidos en la ubicación /opt/app-root/app/nlog.config.json.
Nota: ejemplo: archivo nlog.custom.config que escribe los registros en Azure Blob:
{   "NLog": {
        "extensions": [
            { "assemblyFile": "NLog.Extensions.AzureBlobStorage.dll" }
        ],
        "targets": {
            "azureBlob": {
                "type": "AzureBlobStorage",
                "connectionString": "DefaultEndpointsProtocol=https;AccountName=test;AccountKey=key;EndpointSuffix=core.windows.net",
                "container": "orchestratorlogs",
                "blobName": "${date:format=yyyy-MM-dd hh.mm}",
                "layout": {
                  "type": "JsonLayout",
                  "includeAllProperties": true,
                  "Attributes": [
                    {"name": "ts","layout": "${longdate}"},
                    {"name": "level","layout": "${level:upperCase=true}"},
                    {"name": "logger","layout": "${logger}"},
                    {"name": "message","layout": "${message}"},
                    {"name": "exception","layout": "${onexception:${ui-pretty-exception}}"}
                  ]
                }
            }
        },
        "rules": { "70_Final": { "writeTo": "stdout,azureBlob" } }
    }
}{   "NLog": {
        "extensions": [
            { "assemblyFile": "NLog.Extensions.AzureBlobStorage.dll" }
        ],
        "targets": {
            "azureBlob": {
                "type": "AzureBlobStorage",
                "connectionString": "DefaultEndpointsProtocol=https;AccountName=test;AccountKey=key;EndpointSuffix=core.windows.net",
                "container": "orchestratorlogs",
                "blobName": "${date:format=yyyy-MM-dd hh.mm}",
                "layout": {
                  "type": "JsonLayout",
                  "includeAllProperties": true,
                  "Attributes": [
                    {"name": "ts","layout": "${longdate}"},
                    {"name": "level","layout": "${level:upperCase=true}"},
                    {"name": "logger","layout": "${logger}"},
                    {"name": "message","layout": "${message}"},
                    {"name": "exception","layout": "${onexception:${ui-pretty-exception}}"}
                  ]
                }
            }
        },
        "rules": { "70_Final": { "writeTo": "stdout,azureBlob" } }
    }
}
Nota: para sobrescribir el objetivo de los registros del robot, sustituye 70_final por 20_robot_primary en el ejemplo anterior .
Nota: la carpeta de extensiones nlogextensions se copia en el almacén de objetos en la ubicación de complementos conocida. La herramienta de configuración de Orchestrator puede hacerlo automáticamente a la vez que actualiza la configuración de NLog. El script cambia automáticamente nlog.custom.config para prefijar cada archivo assemblyFile de la matriz de extensiones con /var/orchestrator/plugins/nlog/ si no está prefijado ya.

Preparar almacenes de credenciales

Puede migrar los complementos personalizados para los almacenes de credenciales a Automation Suite. Para ello, actualice la configuración en el mapa de configuración y copie los conjuntos de complementos en el depósito correspondiente del almacén de objetos.

Nota:
  • Los complementos deben funcionar con Linux.
  • Los complementos no deben copiarse en ningún almacenamiento, aparte de /tmp.

Los siguientes complementos de almacenes de credenciales se implementan automáticamente en Orchestrator en Automation Suite:

  • UiPath.Orchestrator.AzureKeyVault.SecureStore.dll
  • UiPath.Orchestrator.SecureStore.CyberArkCCP.dll

Nota: Automation Suite no es compatible con CyberArk AIM, por lo que no puedes migrarlo. Recomendamos migrar al almacén de credenciales de CyberArkCCP.
Si utiliza otros complementos de almacenes de credenciales, cópielos en una carpeta, como securestoreplugins.
Añada la configuración del almacén de credenciales en el archivo appSettings.custom.json del modo que sigue:
  • para deshabilitar complementos predeterminados, añade la configuración Plugins.SecureStores.Default con un valor de cadena vacío en appSettings.custom.json;
  • añade todos los complementos personalizados a la configuración de Plugins.SecureStores separados por ; en appSettings.custom.json;
  • añade los ajustes de complementos personalizados de la siguiente manera: Plugins.SecureStores.<<FriendlyName>>.<<SettingName>>.
Nota:
La carpeta de complementos securestoreplugins se copia en el almacén de objetos en la ubicación de complementos conocida.
Los conjuntos de Plugins.SecureStores se cargan desde esta carpeta.
Los conjuntos de Plugins.SecureStore.Default se cargan desde la carpeta de complementos de la carpeta de aplicaciones de Orchestrator.

Preparar la clave de cifrado.

De manera predeterminada, en el momento de la instalación, Orchestrator genera una clave de cifrado que se utilizará para la información confidencial de la base de datos. Debe migrar esta clave si desea reutilizar una base de datos en una nueva implementación de Orchestrator

Desde la sección secureAppSettings de la configuración, recupere el valor de EncryptionKey y guárdelo bien para su uso futuro.

Preparar la clave de cifrado por tenant

El certificado de clave de cifrado está instalado en el almacén de certificados de Windows. Debe proporcionar el certificado al entorno de Automation Suite para que esté disponible para los pods de Orchestrator.

Los ajustes CertificatesStoreLocation y Azure.KeyVault.CertificateThumbprint ya no son necesarios en Automation Suite, pero puede usar el CertificatePassword si es necesario.

Lleve a cabo los pasos siguientes:

  1. Revise appSettings y obtenga los ajustes AzureKeyVault.*.
  2. Guarde el Azure.KeyVault.VaultAddress, Azure.KeyVault.ClientId y Azure.KeyVault.DirectoryId para su uso posterior.
  3. Recupere el certificado y, si es necesario, la contraseña del certificado.

Was this page helpful?

Obtén la ayuda que necesitas
RPA para el aprendizaje - Cursos de automatización
Foro de la comunidad UiPath
Logotipo blanco de UiPath
Confianza y seguridad
© 2005-2024 UiPath. All rights reserved.