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

Manual: experiencia de instalación avanzada

El archivo cluster_config.json define los parámetros, la configuración y las preferencias que se aplican a los productos de UiPath implementados a través de Automation Suite. Debes actualizar este archivo para cambiar los valores predeterminados y utilizar cualquier configuración avanzada para su clúster.
Para editar cluster_config.json, puede utilizar:
  • un editor de texto Linux, como vi o GNU nano, directamente en la máquina Linux a través de SSH (por ejemplo, comando: vi cluster_config.json);
  • su editor de texto favorito y luego, copiar y pegar el archivo en la máquina.
El archivo cluster_config.json le permite configurar los productos de UiPath que desea implementar. Tenga en cuenta que los productos pueden tener dependencias. Para obtener más información, consulta Dependencias entre productos.
Para habilitar o deshabilitar un producto a través del archivo cluster_config.json, utilice true o false para el marcador enabled.

Ejemplo de Clúster_config.json

{
  "fqdn": "PLACEHOLDER",
  "cluster_fqdn": "PLACEHOLDER",
  "fixed_rke_address": "PLACEHOLDER",
  "admin_username": "PLACEHOLDER",
  "admin_password": "PLACEHOLDER",
  "rke_token": "PLACEHOLDER ",
  "zone_resilience": false,
  "registries": {
    "docker": {
      "url": "registry.uipath.com"
    },
    "helm": {
      "url": "registry.uipath.com"
    }
  },
  "sql_connection_string_template": "PLACEHOLDER",
  "sql_connection_string_template_jdbc": "PLACEHOLDER",
  "sql_connection_string_template_odbc": "PLACEHOLDER",
  "sql_connection_string_template_sqlalchemy_pyodbc": "PLACEHOLDER",
  "orchestrator": {
    "testautomation": {
      "enabled": true
    },
    "updateserver": {
      "enabled": true
    },
    "enabled": true
  },
  "infra": {
    "docker_registry": {
      "username": " PLACEHOLDER ",
      "password": " PLACEHOLDER "
   },  
     "pod_log_path": ""
  },
  "platform": {
    "enabled": true
  },
  "automation_hub": {
    "enabled": true
  },
  "automation_ops": {
    "enabled": true
  },
  "action_center": {
    "enabled": true
  },
  "aicenter": {
    "enabled": true
  },
  "documentunderstanding": {
    "enabled": true,
    "datamanager": {}
  },
  "task_mining": {
    "enabled": true
  },
  "apps": {
    "enabled": true
  },
  "test_manager": {
    "enabled": true
  },
  "insights": {
    "enabled": true
  },
  "dataservice": {
    "enabled": true
  },
  "asrobots": {
    "enabled": true,
    "packagecaching": true,
    "packagecachefolder": "/uipath_asrobots_package_cache"
  },
  "processmining": {
    "enabled": true
  },
  "external_object_storage": {
    "enabled": false
  },
  "identity_certificate": {},
  "profile": "ha",
  "telemetry_optout": false,
  "alternative_fqdn": "",
  "server_certificate": {
    "ca_cert_file": "/opt/UiPathAutomationSuite/UiPath_Installer/rootCA.crt",
    "tls_cert_file": "/opt/UiPathAutomationSuite/UiPath_Installer/server.crt",
    "tls_key_file": "/opt/UiPathAutomationSuite/UiPath_Installer/server.key"
  },
  "alternative_certificate": {
    "ca_cert_file": "/opt/UiPathAutomationSuite/UiPath_Installer/alt-rootCA.crt",
    "tls_cert_file": "/opt/UiPathAutomationSuite/UiPath_Installer/alt-server.crt",
    "tls_key_file": "/opt/UiPathAutomationSuite/UiPath_Installer/alt-server.key"
  }
}{
  "fqdn": "PLACEHOLDER",
  "cluster_fqdn": "PLACEHOLDER",
  "fixed_rke_address": "PLACEHOLDER",
  "admin_username": "PLACEHOLDER",
  "admin_password": "PLACEHOLDER",
  "rke_token": "PLACEHOLDER ",
  "zone_resilience": false,
  "registries": {
    "docker": {
      "url": "registry.uipath.com"
    },
    "helm": {
      "url": "registry.uipath.com"
    }
  },
  "sql_connection_string_template": "PLACEHOLDER",
  "sql_connection_string_template_jdbc": "PLACEHOLDER",
  "sql_connection_string_template_odbc": "PLACEHOLDER",
  "sql_connection_string_template_sqlalchemy_pyodbc": "PLACEHOLDER",
  "orchestrator": {
    "testautomation": {
      "enabled": true
    },
    "updateserver": {
      "enabled": true
    },
    "enabled": true
  },
  "infra": {
    "docker_registry": {
      "username": " PLACEHOLDER ",
      "password": " PLACEHOLDER "
   },  
     "pod_log_path": ""
  },
  "platform": {
    "enabled": true
  },
  "automation_hub": {
    "enabled": true
  },
  "automation_ops": {
    "enabled": true
  },
  "action_center": {
    "enabled": true
  },
  "aicenter": {
    "enabled": true
  },
  "documentunderstanding": {
    "enabled": true,
    "datamanager": {}
  },
  "task_mining": {
    "enabled": true
  },
  "apps": {
    "enabled": true
  },
  "test_manager": {
    "enabled": true
  },
  "insights": {
    "enabled": true
  },
  "dataservice": {
    "enabled": true
  },
  "asrobots": {
    "enabled": true,
    "packagecaching": true,
    "packagecachefolder": "/uipath_asrobots_package_cache"
  },
  "processmining": {
    "enabled": true
  },
  "external_object_storage": {
    "enabled": false
  },
  "identity_certificate": {},
  "profile": "ha",
  "telemetry_optout": false,
  "alternative_fqdn": "",
  "server_certificate": {
    "ca_cert_file": "/opt/UiPathAutomationSuite/UiPath_Installer/rootCA.crt",
    "tls_cert_file": "/opt/UiPathAutomationSuite/UiPath_Installer/server.crt",
    "tls_key_file": "/opt/UiPathAutomationSuite/UiPath_Installer/server.key"
  },
  "alternative_certificate": {
    "ca_cert_file": "/opt/UiPathAutomationSuite/UiPath_Installer/alt-rootCA.crt",
    "tls_cert_file": "/opt/UiPathAutomationSuite/UiPath_Installer/alt-server.crt",
    "tls_key_file": "/opt/UiPathAutomationSuite/UiPath_Installer/alt-server.key"
  }
}

Configuración general

Parámetros obligatorios

Descripción

fqdn

El nombre de dominio del equilibrador de carga (modo de producción multinodo preparada para alta disponibilidad) o de la máquina (modo de evaluación de nodo único).

fixed_rke_address

Dirección fija que se utiliza para equilibrar la carga del registro del nodo y las solicitudes de la API de Kubernetes. Debe ser FQDN si el equilibrador de carga está configurado de la manera recomendada. De lo contrario, el FQDN del primer nodo de servidor. Consulta Configurar el equilibrador de carga.

Puede ser la IP o el FQDN del primer servidor rke2 en su configuración.

multinode

Se establece como true cuando se elige un perfil de producción multinodo preparada para alta disponibilidad. El valor de este marcador lo establece automáticamente el instalador interactivo. Su uso es únicamente para fines internos y no debe modificarse manualmente.

admin_username

El nombre de usuario que desea establecer como administrador (por ejemplo, admin) para la organización del host.

admin_password

La clave de administrador del host que se establecerá.

rke_token

Utilice aquí un GUID recién generado. Este es un secreto previamente compartido y específico del clúster. Es necesario para todos los nodos que se unan al clúster.

profile

Establece el perfil de la instalación. Los perfiles disponibles son:

  • default: perfil de evaluación de nodo único.
  • ha: perfil de producción multinodo preparada para alta disponibilidad.

El valor de este marcador lo establece automáticamente el instalador interactivo. Su uso es únicamente para fines internos y no debe modificarse manualmente.

infra.docker_registry.username

El nombre de usuario que desea establecer para la instalación del registro Docker.

infra.docker_registry.password

La contraseña que desea establecer para la instalación del registro Docker.

Parámetros opcionales

Descripción

telemetry_optout

true o false : se usa para inhabilitar el envío de telemetría a UiPath. Está establecido en false de forma predeterminada.
Si desea cancelarlo, establézcalo en true.

infra.pod_log_path

Te permite cambiar la ruta predeterminada /var/log/pods de los registros de pod a una ruta personalizada de tu elección.
Nota:
Actualizar la ruta de registro descarta los registros del contenedor existente de /var/log/pods.

Configuración de certificados

Si no se proporciona un certificado en el momento de la instalación, el instalador crea certificados y los configura en el clúster.

El certificado autofirmado tiene una validez de 90 días.

Para obtener más información sobre cómo obtener un certificado, consulta los siguientes enlaces:

Nota:
Asegúrese de especificar la ruta absoluta de los archivos de certificado. Ejecute pwd para obtener la ruta del directorio donde se encuentran los archivos y añada el nombre del archivo de certificado a cluster_config.json.

En las instalaciones de producción multinodo preparadas para alta disponibilidad, solo se requiere un certificado en el primer nodo.

Parámetro

Descripción

server_certificate.ca_cert_file

Ruta absoluta al certificado de Autoridad de certificación (AC). Esta AC es la autoridad que firma el certificado TLS. Un paquete de CA debe contener solo los certificados de cadena utilizados para firmar el certificado TLS. El límite de la cadena es de nueve certificados.

Si utilizas un certificado autofirmado, debes especificar la ruta a rootCA.crt, que creaste previamente. Déjalo en blanco si quieres que lo genere el instalador.

server_certificate.tls_cert_file

Ruta absoluta al certificado TLS (server.crt es el certificado autofirmado). Déjalo en blanco si quieres que lo genere el instalador.

server_certificate.tls_key_file

Ruta absoluta a la clave de certificado (server.key es el certificado autofirmado). Déjalo en blanco si quieres que lo genere el instalador.

identity_certificate.token_signing_cert_file

Ruta absoluta al certificado de firma del token de identidad utilizado para firmar tokens (identity.pfx es el certificado autofirmado). Déjelo en blanco si desea que el instalador genere un certificado de identidad utilizando el certificado del servidor.

identity_certificate.token_signing_cert_pass

Contraseña de texto sin formato establecida al exportar el certificado de firma del token de identidad.

additional_ca_certs

Ruta absoluta al archivo que contiene los certificados AC adicionales que desea que sean de confianza para todos los servicios que se ejecutan como parte de Automation Suite. Todos los certificados del archivo deben tener un formato PEM válido.

Por ejemplo, debe proporcionar el archivo que contiene el certificado AC del servidor SQL si el certificado no ha sido emitido por una autoridad de certificación pública.

Configuración de la base de datos

Creación automática de las bases de datos necesarias

Si quieres que el instalador cree las bases de datos, rellena los siguientes campos:

Parámetro

Descripción

sql.create_db

Establecida como true.

sql.server_url

FQDN del servidor SQL donde desea que el instalador configure la base de datos.

sql.port

Número de puerto en el que debe alojarse una instancia de base de datos en el servidor SQL.

sql.username

Nombre o ID de usuario con el que conectarse al servidor SQL.

sql.password

Contraseña del nombre de usuario proporcionado anteriormente con la que conectarse al servidor SQL.

Nota:
Asegúrese de que el usuario tiene el rol dbcreator. Esto le da permiso para crear la base de datos en el servidor SQL. De lo contrario, la instalación fallará.

La conexión ODBC no admite nombres de usuario que contengan caracteres especiales. Para los nombres de usuario de la base de datos de AI Center y Document Understanding, utilice únicamente mayúsculas y minúsculas.

Utilizar su propia base de datos

Si decides traer tus propias bases de datos para una nueva instalación de Automation Suite, recomendamos encarecidamente configurar nuevas bases de datos en lugar de utilizar las existentes. Esta precaución es necesaria para evitar cualquier conflicto con la operación de Automation Suite que pueda ocurrir debido a los metadatos sobrantes de las bases de datos antiguas.

Si traes tu propia base de datos, debes proporcionar las cadenas de conexión SQL para cada base de datos. Automation Suite admite los siguientes formatos de cadenas de conexión SQL.

Parámetro

Descripción

Productos

sql_connection_string_template

Cadena de conexión ADO.NET completa en la que el nombre del catálogo se establece como DB_NAME_PLACEHOLDER. El instalador sustituirá este marcador de posición por los nombres de base de datos predeterminados para los servicios de la suite instalada.

Plataforma, Orchestrator, Automation Suite Robots, Test Manager, Automation Hub, Automation Ops, Insights, Task Mining, Data Service, Process Mining, Document Understanding

sql_connection_string_template_jdbc

Cadena de conexión JDBC completa en la que el nombre de base de datos se establece como DB_NAME_PLACEHOLDER. El instalador sustituirá este marcador de posición por los nombres de base de datos predeterminados para los servicios de la suite instalada.

AI Center

sql_connection_string_template_odbc

Cadena de conexión ODBC completa en la que el nombre de base de datos se establece como DB_NAME_PLACEHOLDER. El instalador sustituirá este marcador de posición por los nombres de base de datos predeterminados para los servicios de la suite instalada.

Document Understanding

sql_connection_string_template_sqlalchemy_pyodbc

Cadena de conexión PYODBC de alquimia SQL completa donde el nombre de la base de datos se establece en DB_NAME_PLACEHOLDER. El instalador sustituirá este marcador de posición por los nombres de base de datos predeterminados para los servicios de la suite instalada.

Process Mining

Importante:
Asegúrate de que la cuenta SQL especificada en las strings de conexión tiene asignado el rol db_owner y db_securityadmin para todas las bases de datos de Automation Suite. Si las restricciones de seguridad no permiten el uso de db_owner, entonces la cuenta SQL debe tener los siguientes roles y permisos en todas las bases de datos:
  • db_ddladmin
  • db_datawriter
  • db_datareader
  • Permiso EXECUTE en el esquema dbo
Importante:

Si establece manualmente las cadenas de conexión en el archivo de configuración, puede escapar de las contraseñas de SQL, JDBC, ODBC o PYODBC de la siguiente manera:

  • para SQL: añade ' al principio y al final de la contraseña, y doble cualquier otra' .
  • para JDBC/ODBC: añade { al principio y } al final de la contraseña, y duplicar cualquier otra }.
  • para PYODBC: username y password deben codificarse como URL para tener en cuenta los caracteres especiales.
Importante: La base de datos AutomationSuite_ProcessMining_Airflow para el producto Process Mining debe tener READ_COMMITTED_SNAPSHOT habilitado.
Nota:
De forma predeterminada, TrustServerCertificate está establecido en False, y debes proporcionar un certificado de CA adicional para SQL Server. Esto es necesario si el certificado del servidor SQL está autofirmado o firmado por una AC interna.

Consulta Configuración de certificados en esta página para obtener más detalles.

ejemplo: plantilla_cadena_conexión_sql

Server=tcp:sfdev1804627-c83f074b-sql.database.windows.net:1433;Initial Catalog=DB_NAME_PLACEHOLDER;Persist Security Info=False;User Id=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;Password=***;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;Server=tcp:sfdev1804627-c83f074b-sql.database.windows.net:1433;Initial Catalog=DB_NAME_PLACEHOLDER;Persist Security Info=False;User Id=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;Password=***;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;

ejemplo: plantilla_cadena_conexión_jdbc_sql

jdbc:sqlserver://sfdev1804627-c83f074b-sql.database.windows.net:1433;database=DB_NAME_PLACEHOLDER;user=testadmin;password=***;encrypt=true;trustServerCertificate=false;Connection Timeout=30;hostNameInCertificate=sfdev1804627-c83f074b-sql.database.windows.net"jdbc:sqlserver://sfdev1804627-c83f074b-sql.database.windows.net:1433;database=DB_NAME_PLACEHOLDER;user=testadmin;password=***;encrypt=true;trustServerCertificate=false;Connection Timeout=30;hostNameInCertificate=sfdev1804627-c83f074b-sql.database.windows.net"

ejemplo: plantilla_cadena_conexión_odjbc_sql

SERVER=sfdev1804627-c83f074b-sql.database.windows.net,1433;DATABASE=DB_NAME_PLACEHOLDER;DRIVER={ODBC Driver 17 for SQL Server};UID=testadmin;PWD=***;MultipleActiveResultSets=False;Encrypt=YES;TrustServerCertificate=NO;Connection Timeout=30;"SERVER=sfdev1804627-c83f074b-sql.database.windows.net,1433;DATABASE=DB_NAME_PLACEHOLDER;DRIVER={ODBC Driver 17 for SQL Server};UID=testadmin;PWD=***;MultipleActiveResultSets=False;Encrypt=YES;TrustServerCertificate=NO;Connection Timeout=30;"

sql_connection_string_template_sqlalchemy_pyodbc

mssql+pyodbc://testuser%40sfdev3082457-sql.database.windows.net:_-%29X07_%5E3-%28%3B%25e-T@sfdev3082457-sql.database.windows.net:1433/DB_NAME_PLACEHOLDER?driver=ODBC+Driver+17+for+SQL+Server"mssql+pyodbc://testuser%40sfdev3082457-sql.database.windows.net:_-%29X07_%5E3-%28%3B%25e-T@sfdev3082457-sql.database.windows.net:1433/DB_NAME_PLACEHOLDER?driver=ODBC+Driver+17+for+SQL+Server"

Nombres de base de datos predeterminados y opcionales para servicios de Automation Suite

{
  "orchestrator": "AutomationSuite_Orchestrator",
  "orchestrator_ta": "AutomationSuite_Orchestrator",
  "asrobots": "AutomationSuite_Orchestrator",
  "orchestrator_upd": "AutomationSuite_Platform",
  "platform": "AutomationSuite_Platform",
  "test_manager": "AutomationSuite_Test_Manager",
  "automation_ops": "AutomationSuite_Platform",
  "automation_hub": "AutomationSuite_Automation_Hub",
  "insights": "AutomationSuite_Insights",
  "task_mining": "AutomationSuite_Task_Mining",
  "dataservice": "AutomationSuite_DataService", 
  "aicenter": "AutomationSuite_AICenter",
  "documentunderstanding": "AutomationSuite_DU_Datamanager",
  "processmining_airflow": "AutomationSuite_Airflow",
  "processmining_metadata": "AutomationSuite_ProcessMining_Metadata",
  "processmining_warehouse": "AutomationSuite_ProcessMining_Warehouse",
    
}{
  "orchestrator": "AutomationSuite_Orchestrator",
  "orchestrator_ta": "AutomationSuite_Orchestrator",
  "asrobots": "AutomationSuite_Orchestrator",
  "orchestrator_upd": "AutomationSuite_Platform",
  "platform": "AutomationSuite_Platform",
  "test_manager": "AutomationSuite_Test_Manager",
  "automation_ops": "AutomationSuite_Platform",
  "automation_hub": "AutomationSuite_Automation_Hub",
  "insights": "AutomationSuite_Insights",
  "task_mining": "AutomationSuite_Task_Mining",
  "dataservice": "AutomationSuite_DataService", 
  "aicenter": "AutomationSuite_AICenter",
  "documentunderstanding": "AutomationSuite_DU_Datamanager",
  "processmining_airflow": "AutomationSuite_Airflow",
  "processmining_metadata": "AutomationSuite_ProcessMining_Metadata",
  "processmining_warehouse": "AutomationSuite_ProcessMining_Warehouse",
    
}
Nota:
Si desea anular la cadena de conexión para cualquiera de los servicios anteriores, establezca la sql_connection_str para ese servicio específico.

De todos modos, tiene que crear manualmente estas bases de datos antes de ejecutar el instalador.

Anular la cadena de conexión predeterminada para Orchestrator y la plataforma

{
  "orchestrator": {
    "sql_connection_str": "Server=tcp:sfdev1804627-c83f074b-sql.database.windows.net,1433;Initial Catalog=CustomOrchDB;Persist Security Info=False;User Id=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;Password=***;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;"
  },
  "platform": {
    "sql_connection_str": "Server=tcp:sfdev1804627-c83f074b-sql.database.windows.net,1433;Initial Catalog=CustomIDDB;Persist Security Info=False;User Id=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;Password=***;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;"
  }
}{
  "orchestrator": {
    "sql_connection_str": "Server=tcp:sfdev1804627-c83f074b-sql.database.windows.net,1433;Initial Catalog=CustomOrchDB;Persist Security Info=False;User Id=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;Password=***;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;"
  },
  "platform": {
    "sql_connection_str": "Server=tcp:sfdev1804627-c83f074b-sql.database.windows.net,1433;Initial Catalog=CustomIDDB;Persist Security Info=False;User Id=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;Password=***;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;"
  }
}
Para anular las cadenas de conexión a la base de datos de otros productos, establezca la sql_connection_str en los bloques de producto correspondientes. La cadena de conexión debe tener un formato compatible con el respectivo producto.

Ejemplo de establecimiento de cadena de conexión a la base de datos para AI Center

Parámetro

Descripción

aicenter.sql_connection_str

Cadena de conexión JDBC de AI Center (consulte el formato JDBC más abajo)

Nota: comprueba que la cadena de conexión JDBC tiene el formato del siguiente ejemplo.
"aicenter": {
    "enabled": true,
    "sql_connection_str": "jdbc:sqlserver://sfdev1804627-c83f074b-sql.database.windows.net;database=aicenter;user=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;password=TFgID_9GsE7_P@srCQp0WemXX_euHQZJ"
}"aicenter": {
    "enabled": true,
    "sql_connection_str": "jdbc:sqlserver://sfdev1804627-c83f074b-sql.database.windows.net;database=aicenter;user=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;password=TFgID_9GsE7_P@srCQp0WemXX_euHQZJ"
}

Cadena de conexión de ejemplo de Document Understanding

"documentUnderstanding": {
  "datamanager": {
    "sql_connection_str": "SERVER=sql-server.database.windows.net;DATABASE=datamanager;DRIVER={ODBC Driver 17 for SQL Server};UID=testadmin;PWD=myPassword"
  },
  "sql_connection_str": "Server=tcp:database.example.com,1433;Initial Catalog=db;Persist Security Info=False;User Id=testadmin@example.com;Password=***;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;",
  "cjkOcr": 
  {
    "enabled": true
  }
}"documentUnderstanding": {
  "datamanager": {
    "sql_connection_str": "SERVER=sql-server.database.windows.net;DATABASE=datamanager;DRIVER={ODBC Driver 17 for SQL Server};UID=testadmin;PWD=myPassword"
  },
  "sql_connection_str": "Server=tcp:database.example.com,1433;Initial Catalog=db;Persist Security Info=False;User Id=testadmin@example.com;Password=***;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;",
  "cjkOcr": 
  {
    "enabled": true
  }
}
Nota: la cadena de conexión SQL de Data Manager es opcional solamente si deseas sobrescribir la base de datos predeterminada con la tuya propia.

La escritura manual está siempre habilitada para la instalación en línea.

El valor predeterminado para max_cpu_per-pod es 2, pero puede ajustarlo según sus necesidades. Para obtener más información, consulta el archivo de configuración de Document Understanding.

Configuración del almacén de objetos externo

Configuración general

Automation Suite le permite traer su propio proveedor de almacenamiento externo. Puede elegir entre los siguientes proveedores de almacenamiento:

  • Azure
  • AWS
  • Compatible con S3

Puedes configurar el almacenamiento de objetos externos de una de las siguientes formas:

  • durante la instalación, utilizando el instalador interactivo;
  • después de la instalación, utilizando el archivo cluster_config.json .
La siguiente tabla enumera los parámetros cluster_config.json que puedes usar para configurar cada proveedor de almacenamiento de objetos externo:

Parámetro

Azure

AWS

Compatible con S3

Descripción

external_object_storage.enabled

available

available

available

Especifique si le gustaría traer su propio almacén de objetos. Valores posibles: true y false.

external_object_storage.create_bucket

available

available

available

Especifique si desea aprovisionar el depósito. Valores posibles: true y false.

external_object_storage.storage_type

available

available

available

Especifica el proveedor de almacenamiento que deseas configurar. El valor distingue entre mayúsculas y minúsculas. Valores posibles: azure y s3.
Nota: muchos almacenes de objetos de S3 requieren que el CORS se configure para todo el tráfico del clúster de Automation Suite. Debe configurar la política de CORS en el nivel del almacén de objetos para permitir el FQDN del clúster.

external_object_storage.fqdn

No disponible

available

available

Especifique el FQDN del servidor S3. Obligatorio en el caso de la instancia de AWS y el perfil que no es de instancia.

external_object_storage.port

No disponible

available

available

Especifique el puerto S3. Obligatorio en el caso de la instancia de AWS y el perfil que no es de instancia.

external_object_storage.region

No disponible

available

available

Especifica la región de AWS donde se alojan los depósitos. Obligatorio en el caso de la instancia de AWS y el perfil que no es de instancia.

external_object_storage.access_key

No disponible

available

available

Especifique la clave de acceso para la cuenta S3. Solo se requiere en el caso del perfil que no es de instancia de AWS.

external_object_storage.secret_key

No disponible

available

available

Especifique la clave secreta de la cuenta de S3. Solo es necesario en el caso del perfil de AWS que no es de instancia.

external_object_storage.use_instance_profile

No disponible

available

available

Especifica si quieres utilizar un perfil de instancia. Un perfil de instancia de AWS Identity and Access Management (IAM) otorga acceso seguro a los recursos de AWS para las aplicaciones o servicios que se ejecutan en instancias de Amazon Elastic Compute Cloud (EC2). Si optas por AWS S3, un perfil de instancia permite que una instancia EC2 interactúe con los depósitos de S3 sin la necesidad de que se almacenen en la instancia las credenciales de AWS explícitas (como las claves de acceso).

external_object_storage.use_managed_identity

available

No disponible

No disponible

Usar identidad administrada con su cuenta de almacenamiento de Azure. Valores posibles: true y false.
external_object_storage.bucket_name_prefix 1

No disponible

available

available

Indique el prefijo de los nombres de los depósitos. Opcional en el caso del perfil de AWS que no es de instancia.

external_object_storage.bucket_name_suffix 2

No disponible

available

available

Indique el sufijo de los nombres de depósito. Opcional en el caso del perfil sin instancia de AWS.

external_object_storage.account_key

available

No disponible

No disponible

Especifique la clave de la cuenta de Azure. Solo se requiere cuando se usa una identidad no administrada.

external_object_storage.account_name

available

No disponible

No disponible

Especifique el nombre de la cuenta de Azure.

external_object_storage.azure_fqdn_suffix

available

No disponible

No disponible

Especifique el sufijo de Azure FQDN. Parámetro opcional.

external_object_storage.client_id

available

No disponible

No disponible

Especifique su ID de cliente de Azure. Solo es necesario cuando se usa una identidad administrada.

1, 2 Al configurar el almacenamiento de objetos externo, debes seguir las reglas y convenciones de nomenclatura de tu proveedor tanto para bucket_name_prefix como para bucket_name_suffix. Además, el sufijo y el prefijo deben tener una longitud combinada de no más de 25 caracteres, y no debes terminar el prefijo o comenzar el sufijo con un guion (-), ya que ya añadimos el carácter automáticamente.

Configuración específica del producto

Puedes utilizar los parámetros descritos en la sección Configuración general para actualizar la configuración general de Automation Suite. Esto significa que todos los productos instalados compartirían la misma configuración. Si desea configurar uno o más productos de manera diferente, puede anular la configuración general. Solo tienes que especificar los productos para los que quieres configurar el almacenamiento de objetos externos de forma diferente y usar los mismos parámetros para definir tu configuración. Tenga en cuenta que todos los demás productos instalados continuarán heredando la configuración general.

El siguiente ejemplo muestra cómo anular la configuración general de Orchestrator:

"external_object_storage": {
  "enabled": false, // <true/false>
  "create_bucket": true, // <true/false>
  "storage_type": "s3", // <s3,azure,aws>
  "fqdn": "",  // <needed in the case of aws instance and non-instance profile>
  "port": 443, // <needed in the case of aws instance and non-instance profile>
  "region": "", 
  "access_key": "", // <needed in case of aws non instance profile>
  "secret_key": "", // <needed in case of aws non instance profile>
  "use_managed_identity": false, // <true/false>
  "bucket_name_prefix": "",
  "bucket_name_suffix": "",
  "account_key": "", // <needed only when using non managed identity>
  "account_name": "",
  "azure_fqdn_suffix": "core.windows.net",
  "client_id": "" // <optional field in case of managed identity>
},

"orchestrator": {
  "external_object_storage": {
    "enabled": false, // <true/false>
    "create_bucket": true, // <true/false>
    "storage_type": "s3", // <s3,azure>
    "fqdn": "",  // <needed in the case of aws instance and non-instance profile>
    "port": 443, // <needed in the case of aws instance and non-instance profile>
    "region": "", 
    "access_key": "", // <needed in case of aws non instance profile>
    "secret_key": "", // <needed in case of aws non instance profile>
    "use_managed_identity": false, // <true/false>
    "bucket_name_prefix": "",
    "bucket_name_suffix": "",
    "account_key": "", // <needed only when using non managed identity>
    "account_name": "",
    "azure_fqdn_suffix": "core.windows.net",
    "client_id": "" // <optional field in case of managed identity>
  }
}"external_object_storage": {
  "enabled": false, // <true/false>
  "create_bucket": true, // <true/false>
  "storage_type": "s3", // <s3,azure,aws>
  "fqdn": "",  // <needed in the case of aws instance and non-instance profile>
  "port": 443, // <needed in the case of aws instance and non-instance profile>
  "region": "", 
  "access_key": "", // <needed in case of aws non instance profile>
  "secret_key": "", // <needed in case of aws non instance profile>
  "use_managed_identity": false, // <true/false>
  "bucket_name_prefix": "",
  "bucket_name_suffix": "",
  "account_key": "", // <needed only when using non managed identity>
  "account_name": "",
  "azure_fqdn_suffix": "core.windows.net",
  "client_id": "" // <optional field in case of managed identity>
},

"orchestrator": {
  "external_object_storage": {
    "enabled": false, // <true/false>
    "create_bucket": true, // <true/false>
    "storage_type": "s3", // <s3,azure>
    "fqdn": "",  // <needed in the case of aws instance and non-instance profile>
    "port": 443, // <needed in the case of aws instance and non-instance profile>
    "region": "", 
    "access_key": "", // <needed in case of aws non instance profile>
    "secret_key": "", // <needed in case of aws non instance profile>
    "use_managed_identity": false, // <true/false>
    "bucket_name_prefix": "",
    "bucket_name_suffix": "",
    "account_key": "", // <needed only when using non managed identity>
    "account_name": "",
    "azure_fqdn_suffix": "core.windows.net",
    "client_id": "" // <optional field in case of managed identity>
  }
}

Rotating the blob storage credentials for Process Mining

Para rotar las credenciales de almacenamiento de blobs para Process Mining en Automation Suite, los secretos almacenados deben actualizarse con las nuevas credenciales. Consulta Rotación de credenciales de almacenamiento de blobs.

Configuración específica de Orchestrator

Orchestrator puede guardar los registros del robot en un servidor Elasticsearch. Esta funcionalidad se puede configurar en la sección orchestrator.orchestrator_robot_logs_elastic. De no proporcionarse, los registros del robot se guardan en la base de datos de Orchestrator.
La siguiente tabla enumera los parámetros orchestrator.orchestrator_robot_logs_elastic:

Parámetro

Descripción

elastic_uri

La dirección de la instancia de Elasticsearch que debe utilizarse. Debe proporcionarse en forma de URI. Si se facilita, también se requieren el nombre de usuario y la contraseña.

elastic_auth_username

El nombre de usuario de Elasticsearch que se utiliza para la autenticación.

elastic_auth_password

La contraseña de Elasticsearch que se utiliza para la autenticación.

Ejemplo

"orchestrator": {
    "orchestrator_robot_logs_elastic": {
        "elastic_uri": "https://elastic.example.com:9200",
        "elastic_auth_username": "elastic-user",
        "elastic_auth_password": "elastic-password"
    }
}"orchestrator": {
    "orchestrator_robot_logs_elastic": {
        "elastic_uri": "https://elastic.example.com:9200",
        "elastic_auth_username": "elastic-user",
        "elastic_auth_password": "elastic-password"
    }
}

Configuración específica de Insights

Si se habilita Insights, los usuarios pueden incluir la configuración del servidor SMTP que se utilizará para enviar correos electrónicos programados o de alerta. Si no se proporciona, los correos electrónicos programados y los de alerta no funcionarán.

Detalles de los campos de insights.smtp_configuration:

Parámetro

Descripción

tls_version

Los valores válidos son TLSv1_2, TLSv1_1 y SSLv23. Omitir la clave si no utiliza TLS.

from_email

Dirección desde la que se enviarán los correos electrónicos de alerta o programados.

host

Nombre del host del servidor SMTP.

port

Puerto del servidor SMTP.

username

Nombre de usuario para la autenticación del servidor SMTP.

password

Contraseña para la autenticación del servidor SMTP.

Ejemplo

"insights": {
    "enabled": true,
    "smtp_configuration": {
      "tls_version": "TLSv1_2",
      "from_email": "test@test.com",
      "host": "smtp.sendgrid.com",
      "port": 587,
      "username": "login",
      "password": "password123"
    }
  }"insights": {
    "enabled": true,
    "smtp_configuration": {
      "tls_version": "TLSv1_2",
      "from_email": "test@test.com",
      "host": "smtp.sendgrid.com",
      "port": 587,
      "username": "login",
      "password": "password123"
    }
  }

Configuración específica de Process Mining

Si habilita Process Mining, recomendamos a los usuarios que especifiquen un servidor SQL SECUNDARIO para que actúe como almacén de datos independiente del SQL Server de Automation Suite principal. El almacén de datos de SQL Server tendrá una gran carga y se puede configurar en la sección processmining :

Parámetro

Descripción

sql_connection_str

Cadena de conexión con formato DotNet con la base de datos establecida como marcador de posición: Initial Catalog=DB_NAME_PLACEHOLDER.

sqlalchemy_pyodbc_sql_connection_str

Cadena de conexión con formato PYODBC de Sqlalchemy para la ubicación de metadatos personalizada:

sqlServer:1433/DB_NAME_PLACEHOLDER.

warehouse.sql_connection_str

Cadena de conexión SQL con formato DotNet al almacén de datos SQL Server de processmining con un marcador de posición para el nombre de la base de datos:

Initial Catalog=DB_NAME_PLACEHOLDER.

warehouse.sqlalchemy_pyodbc_sql_connection_str

Cadena de conexión SQL con formato Sqlalchemy PYODBC al almacén de datos SQL Server de Process Mining con marcador de posición para dbname:

sqlServer:1433/DB_NAME_PLACEHOLDER.

warehouse.master_sql_connection_str

Si el instalador crea bases de datos a través de la configuración sql.create_db: true , se debe proporcionar una cadena de conexión SQL maestra con formato DotNet para el servidor de datos SQL Server de processmining. La base de datos de la cadena de conexión debe establecerse como master.
Importante:
Debe usar el puerto del servidor predeterminado 1433 para las siguientes bases de datos:
  • warehouse.sql_connection_str
  • warehouse.sqlalchemy_pyodbc_sql_connection_str
  • warehouse.master_sql_connection_str

No se admiten los puertos de servidor SQL no estándar.

Automation Suite Robots-specific configuration

Los Robots de Automation Suite pueden utilizar el almacenamiento en caché de paquetes para optimizar las ejecuciones de tus procesos y permitir que se ejecuten más rápido. Los paquetes NuGet se obtienen del sistema de archivos en lugar de descargarse de Internet o de la red. Esto requiere un espacio adicional de 10 GiB como mínimo y debe asignarse a una carpeta en el sistema de archivos de la máquina host de los nodos dedicados.

Para habilitar el almacenamiento en caché de paquetes, debe actualizar los siguientes parámetros cluster_config.json :

Parámetro

Valor predeterminado

Descripción

packagecaching

true

Cuando se establece en true, los robots usan una caché local para la resolución de paquetes.

packagecachefolder

/uipath_asrobots_package_cache

La ubicación del disco en el nodo del agente sin servidor donde se almacenan los paquetes.

Configuración de la supervisión

Para aprovisionar suficientes recursos para la supervisión (consulta Uso de la pila de supervisión), debes tener en cuenta el número de vCPU en el clúster y la cantidad de retención de métricas deseada.A continuación, se explica cómo establecer las siguientes configuraciones de recursos de supervisión.

En la siguiente tabla se describen los detalles de los campos de supervisión.

Parámetro

Descripción

prometheus_retention

Se indica en días.

Se trata del número de días que se conservarán las métricas a efectos de visualización en Grafana y de consulta manual a través de la consola de Prometheus.

El valor predeterminado es 7.

prometheus_storage_size

En GiB.

Espacio de almacenamiento que se reservará por réplica de Prometheus.

Una buena regla general es establecer este valor en:

0.65 * vCPU cores * (prometheus_retention / 7)

Ejemplo:

Si establece prometheus_retention en 14 días y su clúster tiene 80 núcleos repartidos en 5 máquinas, pasa a ser:

0.65 * 80 * (14 / 7)

52 * (2)

104

El valor predeterminado es 45 y no debe ser inferior.

Si Prometheus empieza a quedarse sin espacio de almacenamiento, se activará una alerta con instrucciones específicas para solucionarlo. Consulta aquí.

prometheus_memory_limit

En MiB.

Cantidad de memoria a la que limitar cada réplica de Prometheus.

Una buena regla general es establecer este valor en:

100 * vCPU cores * (prometheus_retention / 7)

Ejemplo:

Si ha establecido prometheus_retention en 14 días y su clúster tiene 80 núcleos repartidos en 5 máquinas, pasa a ser:

100 * 80 * (14 / 7)

8000 * (2)

16000

El valor predeterminado para el modo de evaluación de nodo único es 3200 y para el modo de producción multinodo preparada para alta disponibilidad es 6000 y no debe establecerse un valor inferior.

Si Prometheus empieza a quedarse sin memoria, se activará una alerta con instrucciones específicas para solucionarlo. Consulta aquí.

Ejemplo

"monitoring": {
  "prometheus_retention": 14,
  "prometheus_memory_limit": 16000,
  "prometheus_storage_size": 104
}"monitoring": {
  "prometheus_retention": 14,
  "prometheus_memory_limit": 16000,
  "prometheus_storage_size": 104
}

Opcional: configurar el servidor proxy

Nota:

Asegúrese de cumplir los requisitos del servidor proxy antes de configurarlo durante la instalación.

Para obtener más detalles, consulta el Paso 2: añadir la configuración del proxy a cada nodo.

Al ejecutar el asistente de instalación interactivo, es necesario salir de él y actualizar el cluster_config.json durante el paso de configuración avanzada.

Es necesario añadir lo siguiente al archivo de configuración utilizando vim o su editor favorito:

"proxy": {
  "enabled": "true",
  "http_proxy": "http://<PROXY-SERVER-IP>:<PROXY-PORT>",
  "https_proxy": "http://<PROXY-SERVER-IP>:<PROXY-PORT>",
  "no_proxy": "alm.<fqdn>,<fixed_rke_address>:9345,<fixed_rke_address>:6443,<named server address>,<metadata server address>,<k8s address range>,<private_subnet_ip>,<sql server host>,<Comma separated list of ips that should not go through proxy server>"
}"proxy": {
  "enabled": "true",
  "http_proxy": "http://<PROXY-SERVER-IP>:<PROXY-PORT>",
  "https_proxy": "http://<PROXY-SERVER-IP>:<PROXY-PORT>",
  "no_proxy": "alm.<fqdn>,<fixed_rke_address>:9345,<fixed_rke_address>:6443,<named server address>,<metadata server address>,<k8s address range>,<private_subnet_ip>,<sql server host>,<Comma separated list of ips that should not go through proxy server>"
}

Parámetros obligatorios

Descripción

enabled

Utilice true o false para habilitar o deshabilitar los ajustes del proxy.

http_proxy

Se utiliza para redirigir las peticiones salientes HTTP del clúster. Debe ser el FQDN y el puerto del servidor proxy.

https_proxy

Se utiliza para redirigir las peticiones salientes HTTPS del clúster. Debe ser el FQDN y el puerto del servidor proxy.

no_proxy

Lista separada por comas de hosts, direcciones IP o rangos de IP en formato CIDR que no desea redirigir a través del servidor proxy. Debe ser un rango de subred privada, un host de servidor SQL, una dirección de servidor con nombre, una dirección de servidor de metadatos: *.<fqdn>,<fixed_rke_address>:9345,<fixed_rke2_address>:6443.
  • fqdn: el FQDN del clúster definido en cluster_config.json
  • fixed_rke_address: fixed_rke_address definido/a en cluster_config.json
  • named server address: la dirección IP de /etc/resolv.conf
  • private_subnet_ip: la VNet del clúster
  • sql server host: host del servidor SQL
  • metadata server address: la dirección IP 169.254.169.254 que utilizan los servicios en la nube, como Azure y AWS, para obtener metadatos de las máquinas.
  • k8s address range : los intervalos de direcciones IP utilizados por los nodos de Kubernetes, es decir, 10.0.0.0/8
Importante:
Si utilizas AI Center con un Orchestrator externo, debes añadir el dominio de Orchestrator externo a la lista no_proxy.

Opcional: habilitación de la resistencia a fallos de zona en un clúster multinodo de producción preparada para alta disponibilidad

Para habilitar o deshabilitar la resistencia a los fallos de zona en un clúster multinodo, realice los siguientes pasos:

  1. Asegúrese de que los nodos se repartan de forma uniforme en tres zonas de disponibilidad. Para un servidor vacío o una máquina virtual proporcionada por cualquier proveedor, excepto AWS, Azure o GCP, los metadatos de zona deben proporcionarse a través del archivo de configuración /etc/default/k8s-node-labels en cada máquina con el siguiente formato.
    NODE_REGION_LABEL=<REGION_NAME>
    NODE_ZONE_LABEL=<ZONE_NAME>
    cat > /etc/default/k8s-node-labels <<EOF
    EXTRA_K8S_NODE_LABELS="topology.kubernetes.io/region=$NODE_REGION_LABEL,topology.kubernetes.io/zone=${NODE_ZONE_LABEL}"
    EOFNODE_REGION_LABEL=<REGION_NAME>
    NODE_ZONE_LABEL=<ZONE_NAME>
    cat > /etc/default/k8s-node-labels <<EOF
    EXTRA_K8S_NODE_LABELS="topology.kubernetes.io/region=$NODE_REGION_LABEL,topology.kubernetes.io/zone=${NODE_ZONE_LABEL}"
    EOF
  2. Actualice el archivo cluster_config.json durante el paso de configuración avanzada.
Para actualizar cluster_config.json mediante el asistente de instalación interactivo, salga del paso de configuración avanzada y añada lo siguiente al archivo de configuración con ayuda de vim o su editor favorito:
"zone_resilience": true"zone_resilience": true

Parámetros obligatorios

Descripción

zone_resilience

Utilice true o false para habilitar o deshabilitar la resistencia a los fallos de zona.
Importante:
Si habilita la resistencia a errores zonales, pasar los argumentos --zone y --region es:
  • recomendado si aprovisiona sus máquinas en AWS, Azure o GCP y los servicios de metadatos están habilitados mientras el instalador rellena los detalles de zona y región.
  • obligatorio si aprovisiona sus máquinas en AWS, Azure o GCP y los servicios de metadatos están deshabilitados o si opta por un proveedor en la nube diferente.

Opcional: pasar resolv.conf personalizado

El clúster de Kubernetes que implementa Automation Suite utiliza los servidores de nombres configurados en /etc/resolv.conf. Kubernetes no funciona con solucionadores de DNS locales (127.0.0.1 o 127.0.0.0/8), por lo que, si tiene configurados dichos servidores de nombres en el archivo /etc/resolv.conf, debe proporcionar una referencia de archivo con las entradas correctas del servidor de nombres accesible desde cualquier lugar de la máquina virtual en el parámetro .infra.custom_dns_resolver en cluster_config.json.

Para obtener detalles sobre una limitación conocida, consulta la documentación de Kubernetes.

Parámetros opcionales

Descripción

.infra.custom_dns_resolver

Ruta del archivo que contiene las entradas correctas del servidor de nombres al que se puede acceder desde cualquier parte de la máquina virtual. Estas entradas del servidor de nombres no deben ser de 127.0.0.0/8.

Optional: Increasing fault tolerance

De forma predeterminada, el perfil de producción multinodo preparado para alta disponibilidad permite que un nodo del servidor se caiga sin provocar un error de implementación. Puedes aumentar la tolerabilidad al fallo del nodo del servidor utilizando el parámetro fault_tolerance en el archivo cluster_config.json . El parámetro modifica el factor de replicación de componentes de almacenamiento en clúster como Ceph y Longhorn.

Requisitos de hardware

Para aumentar la tolerabilidad a errores más allá de 1, asegúrese de que su entorno cumpla con los siguientes requisitos:
  • Su clúster consta de un mínimo de 2x+1 nodos de servidor, donde x es la resistencia a errores requerida del nodo del servidor;
  • Cada nodo del servidor tiene un dispositivo sin procesar configurado.

How to increase fault tolerance

Para aumentar la tolerabilidad a errores más allá de 1, siga los siguientes pasos:
  1. Establece fault_tolerance con el valor requerido en el archivo cluster_config.json . Si lo establece antes de iniciar la instalación o la operación de actualización, no es necesario realizar ningún paso adicional.
  2. Ejecuta el instalador uipathctl.sh para modificar el factor de replicación del almacén de objetos Ceph en el clúster. Espere hasta que la operación se complete correctamente.
  3. Ejecute el instalador install-uipath.sh para modificar el factor de replicación de volúmenes de Longhorn. Espere hasta que la operación se complete con éxito.

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.