automation-suite
2023.4
false
Importante :
Este contenido se ha localizado parcialmente a partir de un sistema de traducción automática. La localización de contenidos recién publicados puede tardar entre una y dos semanas en estar disponible.
UiPath logo, featuring letters U and I in white

Guía de instalación de Automation Suite en Linux

Última actualización 18 de dic. 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 utiliza para cancelar el envío de telemetría a UiPath. Está establecido en false de manera 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úrate de especificar la ruta absoluta para los archivos de certificado. Ejecuta pwd para obtener la ruta del directorio donde se colocan los archivos y añade el nombre del archivo del certificado al 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

Flujo de trabajo de creación de la base de datos

El instalador interactivo crea automáticamente bases de datos utilizando el siguiente flujo de trabajo:

  1. El script del instalador interactivo comprueba el valor del parámetro sql.create_db en el archivo cluster_config.json .
    • Si el parámetro sql.create_db está establecido en true, el instalador genera automáticamente todas las bases de datos en tu nombre. En este caso, el instalador utiliza los nombres de base de datos predeterminados y las plantillas predeterminadas, e ignora cualquier nombre de base de datos personalizado que hayas proporcionado.

      Para obtener más información, consulta Crear automáticamente las bases de datos necesarias.

    • Si sql.create_db está establecido en false, debes traer tus propias bases de datos. En este caso, debes configurar manualmente tus bases de datos. Ten en cuenta que puedes utilizar nombres de bases de datos personalizados, siempre que sigas las convenciones de nomenclatura proporcionadas. Este paso es fundamental porque utilizamos el nombre de la base de datos junto con la plantilla de conexión para formar la cadena de conexión de la base de datos. Si no sigues la convención de nomenclatura recomendada, debes proporcionar las cadenas de conexión SQL tú mismo.

      Para obtener más información, consulta Trae tus propias bases de datos.

  2. El instalador interactivo genera las cadenas de conexión de la siguiente manera:

    • Si no definiste una cadena de conexión para tu servicio, el instalador utiliza la plantilla de conexión para generar todas las cadenas de conexión de base de datos.

    • Si definiste una cadena de conexión para tu servicio, el instalador utiliza la cadena de conexión proporcionada para tu 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 del archivo cluster_config.json :

Parámetro

Descripción

sql.create_db

Establece en true para permitir que el instalador cree las bases de datos. Ten en cuenta que el instalador utiliza los nombres de base de datos predeterminados y las plantillas predeterminadas, e ignora cualquier nombre de base de datos personalizado que hayas proporcionado.

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 se debe alojar 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 para AI Center, Document Understanding, y Apps, utiliza solo letras en 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 1

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, Apps

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

1 Para instalar AI Center en una máquina habilitada para FIPS 140-2, debes añadir lo siguiente a sql_connection_string_template_jdbc: encrypt=true;trustServerCertificate=false;fips=true;.
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_securityadmin
  • db_ddladmin
  • db_datawriter
  • db_datareader
  • Permiso EXECUTE en el esquema dbo
Solo utilizamos los roles db_securityadmin y db_ddladmin durante la instalación o si las bases de datos se reaprovisionan, por lo que puedes revocar estos permisos después.
Insights requires the db_owner role to be assigned for a successful installation.
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. Las contraseñas de la base de datos de Document Understanding no pueden comenzar con {.
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. Si no proporcionas el certificado de SQL Server en este escenario, la comprobación de requisitos previos fallará.

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;"

Ejemplo de 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"

Ejemplo de sql_connection_string_template y sql_connection_string_template_sqlalchemy_pyodbc (Process Mining)

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

"sql_connection_string_template_sqlalchemy_pyodbc": "mssql+pyodbc://testadmin%40sfdev4515230-sql.database.windows.net:07%3Cl%5Bxj-%3D~%3Az%60Ds%26nl@sfdev4515230-sql.database.windows.net:1433/DB_NAME_PLACEHOLDER?driver=ODBC+Driver+17+for+SQL+Server""sql_connection_string_template": "Server=tcp:sfdev4515230-sql.database.windows.net,1433;Initial Catalog=DB_NAME_PLACEHOLDER;Persist Security Info=False;User Id=testadmin@sfdev4515230-sql.database.windows.net;Password='***';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;"

"sql_connection_string_template_sqlalchemy_pyodbc": "mssql+pyodbc://testadmin%40sfdev4515230-sql.database.windows.net:07%3Cl%5Bxj-%3D~%3Az%60Ds%26nl@sfdev4515230-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",
  "apps": "AutomationSuite_Apps",
  
}{
  "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",
  "apps": "AutomationSuite_Apps",
  
}
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: asegúrate de que la cadena de conexión JDBC tiene el formato de la muestra a continuación:
"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.

Ejemplo de cadena de conexión de Process Mining

"processmining": {
    "enabled": true,
    "warehouse": {
        "sql_connection_str": "Server=tcp:sfdev4515230-sql.database.windows.net,1433;Initial Catalog=AutomationSuite_ProcessMining_Warehouse;User Id=testadmin@sfdev4515230-sql.database.windows.net;Password='***';Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
	"sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://testadmin%40sfdev4515230-sql.database.windows.net:07%3Cl%5Bxj-%3D~%3Az%60Ds%26nl@sfdev4515230-sql.database.windows.net:1433/AutomationSuite_ProcessMining_Warehouse?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES&Trusted_Connection=yes",
        "master_sql_connection_str": "Server=tcp:sfdev4515230-sql.database.windows.net,1433;Initial Catalog=master;Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;"
    },
    "sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://testadmin%40sfdev4515230-sql.database.windows.net:07%3Cl%5Bxj-%3D~%3Az%60Ds%26nl@sfdev4515230-sql.database.windows.net:1433/AutomationSuite_Airflow?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES"
    "sql_connection_str": "Server=tcp:sfdev4515230-sql.database.windows.net,1433;Initial Catalog=AutomationSuite_ProcessMining_Metadata;User Id=testadmin@sfdev4515230-sql.database.windows.net;Password='***';Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",  
},"processmining": {
    "enabled": true,
    "warehouse": {
        "sql_connection_str": "Server=tcp:sfdev4515230-sql.database.windows.net,1433;Initial Catalog=AutomationSuite_ProcessMining_Warehouse;User Id=testadmin@sfdev4515230-sql.database.windows.net;Password='***';Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
	"sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://testadmin%40sfdev4515230-sql.database.windows.net:07%3Cl%5Bxj-%3D~%3Az%60Ds%26nl@sfdev4515230-sql.database.windows.net:1433/AutomationSuite_ProcessMining_Warehouse?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES&Trusted_Connection=yes",
        "master_sql_connection_str": "Server=tcp:sfdev4515230-sql.database.windows.net,1433;Initial Catalog=master;Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;"
    },
    "sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://testadmin%40sfdev4515230-sql.database.windows.net:07%3Cl%5Bxj-%3D~%3Az%60Ds%26nl@sfdev4515230-sql.database.windows.net:1433/AutomationSuite_Airflow?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES"
    "sql_connection_str": "Server=tcp:sfdev4515230-sql.database.windows.net,1433;Initial Catalog=AutomationSuite_ProcessMining_Metadata;User Id=testadmin@sfdev4515230-sql.database.windows.net;Password='***';Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",  
},
Importante: Ten en cuenta que los nombres de la cadena de conexión PYODBC de la plantilla sql_connection_string_template_sqlalchemy_pyodbc y la cadena de conexión PYODBC sqlalchemy_pyodbc_sql_connection_str utilizados cuando traes tu propia base de datos son diferentes. Además, los nombres de las cadenas de conexión son diferentes para la plantilla SQL sql_connection_string_template y sql_connection_str utilizada cuando traes tu propia base de datos.
Importante:
Si traes tu propia base de datos y la configuraste utilizando las cadenas de conexión sql_connection_str y sqlalchemy_pyodbc_sql_connection_str en la sección processmining del archivo cluster_config.json , las cadenas de conexión de la plantilla sql_connection_string_template y sql_connection_string_template_sqlalchemy_pyodbc se ignoran si se especifican.
Atención:
MultiSubnetFailover=True no es compatible. Asegúrate de eliminar MultiSubnetFailover=True de cualquiera de las cadenas de conexión de Process Mining.
Nota:
Dependiendo de la configuración app_security_mode, el sistema crea un nuevo usuario SQL para cada aplicación de Process Mining (app_security_mode="system_managed"), o crea una única cuenta de usuario SQL que se utiliza para todas las aplicaciones de proceso (app_security_mode="single_account"). Ten en cuenta que app_security_mode="system_managed" es la configuración predeterminada y que requiere permisos avanzados para el usuario de la base de datos. Consulta Configurar la seguridad de la aplicación de proceso.

Ejemplo de cadena de conexión de Process Mining

  • Escenario: configuración con autenticación Kerberos.

"processmining": {
    "enabled": true,
    "warehouse": {
        "sql_connection_str": "Server=tcp:assql2019.autosuitead.local,1433;Initial Catalog=AutomationSuite_ProcessMining_Warehouse;Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
        "sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://:@assql2019.autosuitead.local:1433/AutomationSuite_ProcessMining_Warehouse?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES&Trusted_Connection=yes",
        "master_sql_connection_str": "Server=tcp:assql2019.autosuitead.local,1433;Initial Catalog=master;Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;"
      },
    "sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://:@assql2019.autosuitead.local:1433/AutomationSuite_Airflow?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES&Trusted_Connection=yes"
  },"processmining": {
    "enabled": true,
    "warehouse": {
        "sql_connection_str": "Server=tcp:assql2019.autosuitead.local,1433;Initial Catalog=AutomationSuite_ProcessMining_Warehouse;Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
        "sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://:@assql2019.autosuitead.local:1433/AutomationSuite_ProcessMining_Warehouse?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES&Trusted_Connection=yes",
        "master_sql_connection_str": "Server=tcp:assql2019.autosuitead.local,1433;Initial Catalog=master;Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;"
      },
    "sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://:@assql2019.autosuitead.local:1433/AutomationSuite_Airflow?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES&Trusted_Connection=yes"
  },

Ejemplo de cadena de conexión de Process Mining

  • Escenario: la base de datos de metadatos y el almacén de datos utilizan un servidor SQL independiente (autenticación no Kerberos).

"processmining": {
    "enabled": true,
    "warehouse": {
      "sql_connection_str": "Server=tcp:uipath-integration1.database.windows.net,1433;Initial Catalog=AutomationSuite_ProcessMining_Warehouse;Persist Security Info=False;User Id=userid;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
      "sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://userid:password@uipath-integration1.database.windows.net:1433/AutomationSuite_ProcessMining_Warehouse?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES",
      "master_sql_connection_str": "Server=tcp:uipath-integration1.database.windows.net,1433;Initial Catalog=master;Persist Security Info=False;User Id=userid;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;"
    },
    "sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://userid:password@uipath-integration2.database.windows.net:1433/AutomationSuite_Airflow?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES"
    "sql_connection_str": "Server=tcp:uipath-integration2.database.windows.net,1433;Initial Catalog=AutomationSuite_Airflow;Persist Security Info=False;User Id=userid;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",  
},"processmining": {
    "enabled": true,
    "warehouse": {
      "sql_connection_str": "Server=tcp:uipath-integration1.database.windows.net,1433;Initial Catalog=AutomationSuite_ProcessMining_Warehouse;Persist Security Info=False;User Id=userid;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
      "sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://userid:password@uipath-integration1.database.windows.net:1433/AutomationSuite_ProcessMining_Warehouse?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES",
      "master_sql_connection_str": "Server=tcp:uipath-integration1.database.windows.net,1433;Initial Catalog=master;Persist Security Info=False;User Id=userid;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;"
    },
    "sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://userid:password@uipath-integration2.database.windows.net:1433/AutomationSuite_Airflow?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES"
    "sql_connection_str": "Server=tcp:uipath-integration2.database.windows.net,1433;Initial Catalog=AutomationSuite_Airflow;Persist Security Info=False;User Id=userid;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",  
},

Ejemplo de cadena de conexión de Process Mining

  • Escenario: utilizando personalizado app_security_mode:
"processmining": {
    "enabled": true,
    "app_security_mode": "system_managed",
    "warehouse": {
        "sql_connection_str": "Server=tcp:assql2019.autosuitead.local,1433;Initial Catalog=AutomationSuite_ProcessMining_Warehouse;Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
        "sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://:@assql2019.autosuitead.local:1433/AutomationSuite_ProcessMining_Warehouse?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES&Trusted_Connection=yes",
        "master_sql_connection_str": "Server=tcp:assql2019.autosuitead.local,1433;Initial Catalog=master;Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;"
      },
    "sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://:@assql2019.autosuitead.local:1433/AutomationSuite_Airflow?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES&Trusted_Connection=YES"
  },"processmining": {
    "enabled": true,
    "app_security_mode": "system_managed",
    "warehouse": {
        "sql_connection_str": "Server=tcp:assql2019.autosuitead.local,1433;Initial Catalog=AutomationSuite_ProcessMining_Warehouse;Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
        "sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://:@assql2019.autosuitead.local:1433/AutomationSuite_ProcessMining_Warehouse?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES&Trusted_Connection=yes",
        "master_sql_connection_str": "Server=tcp:assql2019.autosuitead.local,1433;Initial Catalog=master;Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;"
      },
    "sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://:@assql2019.autosuitead.local:1433/AutomationSuite_Airflow?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES&Trusted_Connection=YES"
  },

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 .
Nota:
  • Para que Automation Suite funcione correctamente al utilizar URL prefirmadas, debes asegurarte de que tu almacén de objetos externo sea accesible desde el clúster de Automation Suite, los navegadores y todas tus máquinas, incluidas las estaciones de trabajo y las máquinas robot.
  • El cifrado del lado del servidor con el servicio de gestión de claves (SSE-KMS) solo puede habilitarse en los depósitos de Automation Suite implementados en cualquier región creada después del 30 de enero de 2014.

    La funcionalidad SSE-KMS requiere API SignV4 puras. Las regiones creadas antes del 30 de enero de 2014 no utilizan API SignV4 puras debido a la compatibilidad con versiones anteriores de SignV2. Por lo tanto, SSE-KMS solo es funcional en las regiones que utilizan SignV4 para la comunicación. Para averiguar cuándo se aprovisionaron las diversas regiones, consulta la documentación de AWS.

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.

Disaster recovery: configuración activa/pasiva

Nota:
  • Algunos productos de Automation Suite no son compatibles con Disaster Recovery- activo/pasivo. Puedes instalar estos productos mientras instalas solo el clúster principal.
  • Una vez hayas proporcionado todos los parámetros al instalador relacionados con tu configuración, el instalador te solicitará que continúes o salgas. Debes salir del instalador para modificar el archivo cluster_config.json generado con los parámetros avanzados de varios sitios.

Debes instalar los dos clústeres de Automation Suite por separado.

La siguiente tabla enumera los parámetros de cluster_config.json que debes utilizar para instalar tanto el clúster principal como el secundario:

Parámetro

Descripción

fabric.redis.ha

Indica que HAA está habilitado. Esto es necesario para permitir Redis en modo de alta disponibilidad. Es obligatorio y debe establecerse en true.

fabric.redis.license

Indica la licencia de Redis (HAA). Se trata de un valor obligatorio y debe ser una cadena codificada en Base64 válida.

cluster_fqdn

Indica el FQDN del equilibrador de carga del clúster. Es un valor obligatorio.

multisite.enabled

Indica que Automation Suite debe configurarse para funcionar en varios sitios. Debe estar establecido en true.

multisite.primary

Indica que este clúster es un clúster primario y debe establecerse en true. Se establece de forma predeterminada en false para indicar el clúster secundario.

multisite.other_kube_config

Indica el archivo kubeconfig codificado en Base64 de otro clúster. Al instalar el clúster principal de Automation Suite, este valor no está disponible y puede dejarse tal cual. Sin embargo, debes proporcionar el valor al reconstruir el clúster principal de Automation Suite más adelante durante la recuperación.

fixed_rke_address

Indica la dirección en la que deben realizarse todas las solicitudes de unión de nodos. Suele ser igual al valor de cluster_fqdn (el FQDN del equilibrador de carga).
{
  "fabric": {
    "redis": {
      "ha": true,
      "license": "xyz" //base64 encoded redis license
    }
  },
  "cluster_fqdn": "automationsuite-primary.mycompany.com",
  "multisite": {
    "enabled": true,
    "primary": true,
    "other_kube_config": xxx,  //another cluster kubeconfig
  },
  "fixed_rke_address": "automationsuite-primary.mycompany.com"
}{
  "fabric": {
    "redis": {
      "ha": true,
      "license": "xyz" //base64 encoded redis license
    }
  },
  "cluster_fqdn": "automationsuite-primary.mycompany.com",
  "multisite": {
    "enabled": true,
    "primary": true,
    "other_kube_config": xxx,  //another cluster kubeconfig
  },
  "fixed_rke_address": "automationsuite-primary.mycompany.com"
}

Configuración del registro de Docker externo

Para configurar tu registro de Docker externo, actualiza los siguientes parámetros en el archivo cluster_config.json:

Parámetro

Descripción

registries

Especifica los registros de Docker externo que deseas utilizar.

url

La URL del registro.

username

El nombre de usuario del registro para iniciar sesión.

password

La contraseña del registro para iniciar sesión.

pull_secret_value

El secreto de extracción del registro.

Nota:
Puedes utilizar diferentes métodos para generar la versión codificada de pull_secret_value, incluido el que utiliza Docker. Para obtener más información, consulta Cómo generar el pull_secret_value codificado para registros externos.

Ejemplo de configuración:

{
  "registries": {
    "docker": {
      "url": "registry.domain.io",
      "username": "username",
      "password": "password",
      "pull_secret_value": "pull-secret-value"
    },
    "helm": {
      "url": "registry.domain.io",
      "username": "username",
      "password": "password"
    }
  },
}{
  "registries": {
    "docker": {
      "url": "registry.domain.io",
      "username": "username",
      "password": "password",
      "pull_secret_value": "pull-secret-value"
    },
    "helm": {
      "url": "registry.domain.io",
      "username": "username",
      "password": "password"
    }
  },
}

Configuración específica de Orchestrator

Si actualizas de Automation Suite 2022.10 a Automation Suite 2023.4 o posterior, y Orchestrator está habilitado tanto en la versión antigua como en la nueva, debes establecer el indicador orchestrator.block_classic_executions en true en el archivo cluster_config.json. El uso del indicador muestra que estás de acuerdo con el bloqueo de las ejecuciones de carpetas clásicas. El no utilizarlo ocasiona un error de la operación de actualización. Este parámetro no es necesario en las nuevas instalaciones.
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

orchestrator_robot_logs_elastic

Configuración de Elasticsearch.

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": {
    "enabled": true,
    "block_classic_executions": true,
    "orchestrator_robot_logs_elastic": {
        "elastic_uri": "https://elastic.example.com:9200",
        "elastic_auth_username": "elastic-user",
        "elastic_auth_password": "elastic-password"
    }
	
}"orchestrator": {
    "enabled": true,
    "block_classic_executions": true,
    "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.

enable_realtime_monitoringIndicador para habilitar la supervisión en tiempo real de Insights. Los valores válidos son true y false. El valor predeterminado es false.

Ejemplo

"insights": {
    "enabled": true,
    "enable_realtime_monitoring": 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,
    "enable_realtime_monitoring": true,
    "smtp_configuration": {
      "tls_version": "TLSv1_2",
      "from_email": "test@test.com",
      "host": "smtp.sendgrid.com",
      "port": 587,
      "username": "login",
      "password": "password123"
    }
  }

Process Mining-specific configuration

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 la base de datos de metadatos de flujo de aire personalizado: sqlServer:1433/DB_NAME_PLACEHOLDER.

Ejemplo:

mssql+pyodbc://testadmin%40myhost:mypassword@myhost:1433/AutomationSuite_Airflow?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES

Dónde

Usuario: testadmin%40myhost
Nota:

Si hay '@' en el nombre de usuario, tiene que ser urlencode a %40

Ejemplo: (configuración de SQL Server con autenticación Kerberos)

mssql+pyodbc://:@assql2019.autosuitead.local:1433/AutomationSuite_ProcessMining_Warehouse?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES&Trusted_Connection=yes

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.

Ejemplo de cadena de conexión de Process Mining

"processmining": {
    "enabled": true,
    "app_security_mode": "system_managed",
    "sql_connection_str": "Server=tcp:shared_sqlserver_fqdn,1433;Initial Catalog=AutomationSuite_ProcessMining_Metadata;Persist Security Info=False;User Id=username;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
    "sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://username:password@shared_sqlserver_fqdn:1433/AutomationSuite_Airflow?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES",
    "warehouse": {
      "sql_connection_str": "Server=tcp:dedicated_sqlserver_fqdn,1433;Initial Catalog=AutomationSuite_ProcessMining_Warehouse;Persist Security Info=False;User Id=username;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
      "sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://useername:password@dedicated_sqlserver_fqdn:1433/AutomationSuite_ProcessMining_Warehouse?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES",
      "master_sql_connection_str": "Server=tcp:dedicated_sqlserver_fqdn,1433;Initial Catalog=master;Persist Security Info=False;User Id=username;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;"
    },
    "blob_storage_account_use_presigned_uri": true
  }, "processmining": {
    "enabled": true,
    "app_security_mode": "system_managed",
    "sql_connection_str": "Server=tcp:shared_sqlserver_fqdn,1433;Initial Catalog=AutomationSuite_ProcessMining_Metadata;Persist Security Info=False;User Id=username;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
    "sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://username:password@shared_sqlserver_fqdn:1433/AutomationSuite_Airflow?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES",
    "warehouse": {
      "sql_connection_str": "Server=tcp:dedicated_sqlserver_fqdn,1433;Initial Catalog=AutomationSuite_ProcessMining_Warehouse;Persist Security Info=False;User Id=username;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
      "sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://useername:password@dedicated_sqlserver_fqdn:1433/AutomationSuite_ProcessMining_Warehouse?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES",
      "master_sql_connection_str": "Server=tcp:dedicated_sqlserver_fqdn,1433;Initial Catalog=master;Persist Security Info=False;User Id=username;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;"
    },
    "blob_storage_account_use_presigned_uri": true
  },
Atención:

Al configurar Microsoft SQL Server, asegúrate de que la zona horaria de la máquina SQL Server donde se instala la base de datos de Airflow y una base de datos de Process Mining dedicada, esté establecida en UTC.

Atención:

Al configurar las cadenas de conexión para el SQL Server del almacén de datos de processmining, se debe omitir la instancia con nombre de SQL Server.

Las instancias con nombre de SQL Server no pueden operar en el mismo puerto TCP. Por lo tanto, el número de puerto por sí solo es suficiente para distinguir entre instancias.

Por ejemplo, utiliza tcp:server,1445 en lugar de tcp:server\namedinstance,1445.
Importante: Ten en cuenta que los nombres de la cadena de conexión PYODBC de la plantilla sql_connection_string_template_sqlalchemy_pyodbc y la cadena de conexión PYODBC sqlalchemy_pyodbc_sql_connection_str utilizados cuando traes tu propia base de datos son diferentes. Además, los nombres de las cadenas de conexión son diferentes para la plantilla SQL sql_connection_string_template y sql_connection_str utilizada cuando traes tu propia base de datos.
Importante:
Si traes tu propia base de datos y la configuraste utilizando las cadenas de conexión sql_connection_str y sqlalchemy_pyodbc_sql_connection_str en la sección processmining del archivo cluster_config.json , las cadenas de conexión de la plantilla sql_connection_string_template y sql_connection_string_template_sqlalchemy_pyodbc se ignoran si se especifican.
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, debes 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 específica de AI Center

Para que AI Center funcione correctamente, debes configurar los parámetros aicenter.external_object_storage.port y aicenter.external_object_storage.fqdn en el archivo cluster_config.json .
Nota: debes configurar los parámetros en la sección aicenter del archivo cluster_config.jsonincluso si has configurado la sección external_object_storage del archivo.
El siguiente ejemplo muestra una configuración cluster_config.jsonválida para AI Center:
"aicenter": {
  "external_object_storage" {
    "port": 443,
    "fqdn": "s3.us-west-2.amazonaws.com"
  }
},
"external_object_storage": {
  "enabled": true,
  "create_bucket": false,
  "storage_type": "s3", 
  "region": "us-west-2", 
  "use_instance_profile": true
}
..."aicenter": {
  "external_object_storage" {
    "port": 443,
    "fqdn": "s3.us-west-2.amazonaws.com"
  }
},
"external_object_storage": {
  "enabled": true,
  "create_bucket": false,
  "storage_type": "s3", 
  "region": "us-west-2", 
  "use_instance_profile": true
}
...

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.

¿Te ha resultado útil esta página?

Obtén la ayuda que necesitas
RPA para el aprendizaje - Cursos de automatización
Foro de la comunidad UiPath
Uipath Logo White
Confianza y seguridad
© 2005-2024 UiPath. Todos los derechos reservados.