- Primeros pasos
- Requisitos de red
- Requisitos de nodo único e instalación
- Requisitos multinodo e instalación
- Después de la instalación
- Acceso a AI Center
- Aprovisionar un tenant de AI Center
- Actualizar los certificados de Orchestrator e Identity Server
- Cambiar el tamaño de PVC
- Añadir un nuevo nodo al clúster
- Instalación sin conexión de paquetes ML
- Configurar el clúster
- Configurar la instalación posterior a FQDN
- Copia de seguridad y restauración del clúster
- Utilizar la pila de supervisión
- Configurar una autenticación de Kerberos
- Aprovisionar una GPU
- Utilizar el archivo de configuración
- Acerca del archivo de configuración
- Programación de nodos
- Migración y actualización
- Guía básica de resolución de problemas
Guía de instalación de AI Center
Acerca del archivo de configuración
El archivo
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
); - tu procesador de texto favorito y luego copia y pega el archivo en la máquina.
cluster_config.json
, utilice true
o false
para el marcador enabled
.
Parámetros obligatorios | Descripción |
---|---|
fqdn | El nombre del dominio de la máquina (nodo único) o del equilibrador de carga (multinodo). |
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 .
Puede ser la IP o el FQDN del primer servidor rke2 en su configuración. |
multinode | Configura en |
admin_username | El nombre de usuario que desea establecer como administrador (por ejemplo, admin) para la organización del host. |
admin_password | La contraseña del administrador del tenant del host que debe establecerse. |
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:
|
gpu_support | true o false : habilita o deshabilita la compatibilidad con GPU del clúster.
Establece como "verdadero" si tienes agentes de nodos con GPU. De manera predeterminada está establecido como "falso" |
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 .
|
Parámetros de AI Center | Descripción |
---|---|
sql_connection_str | El nombre de la conexión SQL. |
orchestrator_url | La dirección URL de Orchestrator. |
identity_server_url | La dirección de la URL de Identity Server. |
orchestrator_cert_file_path | La ruta completa al archivo del certificado de Orchestrator. |
identity_cert_file_path | La ruta completa al archivo del certificado de Identity Server. |
identity_access_token | El token de acceso tomado de Identity Server. |
Consulta el documento de requisitos previos para obtener el certificado: .
Si no se proporciona un certificado en el momento de la instalación, el instalador crea un certificado y lo configura en el clúster. El certificado tiene una validez de 90 días.
En instalaciones multinodo, solo se necesita un certificado en el primer nodo.
pwd
para obtener la ruta del directorio donde se encuentran los archivos y añade el nombre del archivo de certificado en cluster_config.json
.
En instalaciones multinodo, solo se necesita un certificado en el primer nodo.
Parámetro | Descripción |
---|---|
server_certificate.ca_cert_file | Ruta absoluta al certificado de la autoridad de certificación. Este certificado es la autoridad que firma el certificado TLS. En caso de que se autofirme es el |
server_certificate.tls_cert_file | Ruta absoluta al certificado TLS ( |
server_certificate.tls_key_file | Ruta absoluta a la clave de certificado ( |
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. |
Si deseas 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 | El FQDN del servidor sql, donde deseas 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 de usuario o ID de usuario para conectarse al servidor sql. |
sql.password | la contraseña del nombre de usuario proporcionado anteriormente para conectarse al servidor sql. |
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.
Si proporcionas la base de datos, necesitaremos cadenas de conexión SQL para cada base de datos. Los siguientes formatos de string de conexión SQL son compatibles.
Parámetro | Descripción |
---|---|
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. |
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. |
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.
Este parámetro lo utiliza Document Understanding. |
Si establece manualmente las cadenas de conexión en el archivo de configuración, puede escapar de las contraseñas SQL, JDBC u ODBC 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}
.
Ejemplo de ql_connection_string_template
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;
ql_connection_string_template_jdbc ejemplo
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 de sql_connection_string_template_odbc </summy>
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;"
Para AI Center, establece el siguiente parámetro de configuración de SQL
Parámetro | Descripción |
---|---|
aicenter.ai_appmanager.sql_connection_str | String de conexión JDBC del gestor de la aplicación AI (consulta el formato JDBC a continuación) |
Ejemplo de string de conexión de AI Center
"aicenter": {
"enabled": true,
"sql_connection_str": "jdbc:sqlserver://sfdev1804627-c83f074b-sql.database.windows.net;instanceName=instance;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;instanceName=instance;database=aicenter;user=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;password=TFgID_9GsE7_P@srCQp0WemXX_euHQZJ"
}
Ejemplo de cadena de conexión DU
"documentunderstanding":
{
"datamanager": {
"sql_connection_str": "mssql+pyodbc://testadmin:myPassword@mydev-sql.database.windows.net:1433/datamanager?driver=ODBC+Driver+17+for+SQL+Server",
}
"documentunderstanding":
{
"datamanager": {
"sql_connection_str": "mssql+pyodbc://testadmin:myPassword@mydev-sql.database.windows.net:1433/datamanager?driver=ODBC+Driver+17+for+SQL+Server",
}
db_owner
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
Para aprovisionar suficientes recursos para la supervisión (consulte Utilizar la pila de supervisión), debe 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 |
Se indican en GB. Espacio de almacenamiento que se reservará por réplica de Prometheus. Una buena regla general es establecer este valor en:
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:
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. |
prometheus_memory_limit |
Se indica en MB. Cantidad de memoria a la que limitar cada réplica de Prometheus. Una buena regla general es establecer este valor en:
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:
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
}
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": "<Comma separated list of ips that should not got though proxy server>"
}
"proxy": {
"enabled": "true",
"http_proxy": "http://<PROXY-SERVER-IP>:<PROXY-PORT>",
"https_proxy": "http://<PROXY-SERVER-IP>:<PROXY-PORT>",
"no_proxy": "<Comma separated list of ips that should not got though proxy server>"
}
- Permite al puerto
30070" id="1"/> de la máquina virtual recibir llamadas entrantes y realizar llamadas salientes. Parámetros obligatorios Descripción enabled
Utilice true
ofalse
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 encluster_config.json
fixed_rke_address
:fixed_rke_address
definido/a encluster_config.json
named server address
: la dirección IP de/etc/resolv.conf
private_subnet_ip
: la VNet del clústersql server host
: host del servidor SQLmetadata server address
: la dirección IP169.254.169.254
que utilizan los servicios en la nube, como Azure y AWS, para obtener metadatos de las máquinas.
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:
- 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}" EOF
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}" EOF - Actualice el archivo
cluster_config.json
durante el paso de configuración avanzada.
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.
|
/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, consulte la documentación de Kubernetes.
Parámetro opcional | 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 .
|
- Configuración general
- Configurar certificados
- Configuración de la base de datos
- Creación automática de las bases de datos necesarias
- Utilizar su propia base de datos
- Configuración de la supervisión
- Opcional: añadir la configuración del proxy
- Opcional: habilitación de la resistencia a fallos de zona en un clúster multinodo de producción preparada para alta disponibilidad
- Opcional: pasar resolv.conf personalizado