- Información general
- Requisitos
- Preinstalación
- Preparar la instalación
- Descarga de los paquetes de instalación
- Configurar el registro compatible con OCI
- Conceder permisos de instalación
- Disaster recovery: configuraciones activas/pasivas
- Generar el archivo de configuración mediante un asistente
- Ejemplo de AKS input.json
- Ejemplo de EKS input.json
- Configurar un secreto de Kubernetes como almacén de secretos
- Configurar Azure Key Vault como almacén de secretos
- Configurar HashiCorp Vault como almacén de secretos
- Configurar AWS Secrets Manager como almacén de secretos
- Instalar y configurar la malla de servicio
- Instalar y configurar la herramienta GitOps
- Instalar el operador de secretos externos en Kubernetes
- Aplicar configuraciones varias
- Ejecutar uipathctl
- Instalación
- Después de la instalación
- Migración y actualización
- Supervisión y alertas
- Administración de clústeres
- Configuración específica del producto
- Configuración avanzada de Orchestrator
- Configurar parámetros de Orchestrator
- Configurar AppSettings
- Configurar el tamaño máximo de la solicitud
- Anular la configuración de almacenamiento a nivel de clúster
- Configurar NLog
- Guardar los registros del robot en Elasticsearch
- Configurar almacenes de credenciales
- Configurar clave de cifrado por tenant
- Limpiar la base de datos de Orchestrator
- Omitir la instalación de la biblioteca de host
- Ai Trust Layer
- Solución de problemas
- Error de aprovisionamiento de AI Center después de actualizar a 2023.10 o posterior
- Volúmenes de Insights creados en dos zonas diferentes después de la migración
- La actualización falla debido a los tamaños de PVC de Insights anulados
- Los componentes de copia de seguridad de Velero permanecen después de actualizar en AKS desde Automation Suite 2024.10.x
- La configuración de la copia de seguridad no funciona debido a un fallo en la conexión a Azure Government
- Los pods en el espacio de nombres de UiPath se atascaban al habilitar los taints de nodo personalizados
- No se puede iniciar Automation Hub y Apps con la configuración de proxy
- La copia de seguridad de Velero falla con el error de validación fallida
- Solución de problemas de secretos externos
- Solución de problemas de Temporal como servicio
- Los pods de AI Center y Document Understanding no se inician con la verificación del certificado TLS habilitada
- Errores de validación del certificado TLS
- Fluentd no exporta registros en entornos IPv6
- Studio Desktop no puede cargar conectores y actividades de Integration Service
- Mitigación manual de Política de red de ArgoCD (GHSA-47m3-95c7-g2g8)
- Configurar solicitudes de recursos y límites para cargas de trabajo creadas por uipathctl
Configurar HashiCorp Vault como almacén de secretos
Configura HashiCorp Vault como almacén de secretos para Automation Suite en EKS/AKS.
Puedes configurar HashiCorp Vault como almacén de secretos utilizando cualquiera de los siguientes métodos de autenticación:
- Autenticación de Kubernetes
- Autenticación de AppRole
HashiCorp Vault proporciona un motor de secretos KV (Clave-Valor) para almacenar secretos.
De forma predeterminada, todos los datos confidenciales se definen en input.json. Puedes separar estos datos en dos partes:
input.json: solo contiene datos de configuración.- HashiCorp Vault: almacena las credenciales de forma segura.
No puedes almacenar rutas de certificados o credenciales relacionadas con certificados como parte del almacén de secretos.
Todas las credenciales a las que se hace referencia en input.json deben existir como secretos en HashiCorp Vault antes de configurar el almacén de secretos. Si falta alguna credencial referenciada, la instalación falla.
Uso de Kubernetes Auth
El pod de ESO se autentica en HashiCorp Vault utilizando su token de cuenta de servicio de Kubernetes. Vault autentica el token en el servidor API de Kubernetes y emite un token de Vault con las políticas adecuadas.
Requisitos previos
- HashiCorp Vault con el método de autenticación de Kubernetes habilitado
- Rol de Vault configurado para permitir la cuenta de servicio de ESO. De forma predeterminada, el nombre de la cuenta de servicio es
external-secrets. - Conectividad de red desde el clúster de Kubernetes al servidor Vault
- (Opcional) Una cuenta de servicio de Kubernetes personalizada, si no se utiliza la cuenta de servicio predeterminada de ESO
Configuring input.json
Para configurar HashiCorp Vault como almacén de secretos utilizando Kubernetes Auth, añade la siguiente sección a input.json:
{
"secret_store": {
"enabled": true,
"provider_configs": [
{
"name": "hc-vault",
"type": "hashicorp",
"auth_type": "kubernetes",
"hashicorp_kv": {
"server": "https://vault.example.com:8200",
"path": "secret",
"version": "v2",
"role": "uipath-role",
"mount_path": "kubernetes"
}
}
]
}
}
{
"secret_store": {
"enabled": true,
"provider_configs": [
{
"name": "hc-vault",
"type": "hashicorp",
"auth_type": "kubernetes",
"hashicorp_kv": {
"server": "https://vault.example.com:8200",
"path": "secret",
"version": "v2",
"role": "uipath-role",
"mount_path": "kubernetes"
}
}
]
}
}
Para utilizar una cuenta de servicio personalizada, añade el campo service_account_name de la siguiente manera:
{
"secret_store": {
"enabled": true,
"provider_configs": [
{
"name": "hc-vault",
"type": "hashicorp",
"auth_type": "kubernetes",
"service_account_name": "vault-auth-sa",
"hashicorp_kv": {
"server": "http://vault.example.com:8200",
"path": "secret",
"version": "v2",
"role": "uipath-role",
"mount_path": "kubernetes"
}
}
]
}
}
{
"secret_store": {
"enabled": true,
"provider_configs": [
{
"name": "hc-vault",
"type": "hashicorp",
"auth_type": "kubernetes",
"service_account_name": "vault-auth-sa",
"hashicorp_kv": {
"server": "http://vault.example.com:8200",
"path": "secret",
"version": "v2",
"role": "uipath-role",
"mount_path": "kubernetes"
}
}
]
}
}
Si se configura service_account_name , el cliente debe crear previamente la CuentaDeServicio. uipathctl valida su existencia, pero no la crea.
Uso de la autenticación de AppRole
La autenticación de AppRole utiliza el método de autenticación de AppRole de Vault, en el que ESO se autentica con un ID de rol y un ID de secreto almacenados en un secreto de Kubernetes. Este método es adecuado para sistemas automatizados y no requiere que la autenticación de Kubernetes esté habilitada en Vault.
Requisitos previos
- HashiCorp Vault con el método de autenticación AppRole habilitado
- ID de rol de AppRole e ID de secreto generados
- Secreto de Kubernetes precreado con credenciales de AppRole
Configuring input.json
Para configurar HashiCorp Vault como almacén de secretos utilizando AppRole Auth, sigue los siguientes pasos:
-
Crea el secreto de Kubernetes que almacena las credenciales de AppRole:
kubectl create secret generic vault-approle-creds \ --namespace uipath \ --from-literal=role-id=<your-role-id> \ --from-literal=secret-id=<your-secret-id>kubectl create secret generic vault-approle-creds \ --namespace uipath \ --from-literal=role-id=<your-role-id> \ --from-literal=secret-id=<your-secret-id>El secreto debe contener las siguientes claves:
role-id: ID del rol de AppRole de Vaultsecret-id: ID secreto de AppRole de Vault
-
Añade la siguiente sección a
input.json:{ "secret_store": { "enabled": true, "provider_configs": [ { "name": "hc-vault", "type": "hashicorp", "auth_type": "approle", "credentials_secret_name": "vault-approle-creds", "hashicorp_kv": { "server": "https://vault.example.com:8200", "path": "secret", "version": "v2", "mount_path": "approle" } } ] } }{ "secret_store": { "enabled": true, "provider_configs": [ { "name": "hc-vault", "type": "hashicorp", "auth_type": "approle", "credentials_secret_name": "vault-approle-creds", "hashicorp_kv": { "server": "https://vault.example.com:8200", "path": "secret", "version": "v2", "mount_path": "approle" } } ] } }
Campos de configuración
La siguiente tabla describe los campos de configuración disponibles.
| Campo | Obligatorio | Predeterminado | Descripción |
|---|---|---|---|
hashicorp_kv.server | Sí | - | URL del servidor de Vault |
hashicorp_kv.path | No | secret | Ruta de montaje del motor de secretos KV |
hashicorp_kv.version | No | v2 | Versión del motor KV: v1 o v2 |
hashicorp_kv.role | No | uipath-role | Nombre del rol de Vault para la autenticación |
hashicorp_kv.mount_path | No | kubernetes o approle (basado en auth_type) | Ruta de montaje del método de autenticación |
auth_type | Sí | - | Debe ser kubernetes o approle |
credentials_secret_name | Sí (solo AppRole) | - | Secreto de Kubernetes que contiene claves role-id y secret-id |
service_account_name | No | external-secrets | Cuenta de servicio de Kubernetes para Kubernetes Auth. Si se especifica una CuentaDeServicio personalizada, debes crearla previamente en el clúster. |
Gestión de certificados TLS CA
Cuando el servidor Vault utiliza HTTPS con un certificado de CA privado, configura additional_ca_certs en input.json con la ruta del archivo del certificado de CA:
additional_ca_certs: /path/to/client_cert
additional_ca_certs: /path/to/client_cert
No se necesita ninguna configuración adicional en el bloque hashicorp_kv .
Referenciar secretos en input.json
Para hacer referencia a una credencial almacenada en HashiCorp Vault, utiliza el siguiente formato en input.json:
vault/<vault-name>/<secret-path>?key=<key-name>
vault/<vault-name>/<secret-path>?key=<key-name>
- Campo específico:
vault/hc-vault/s3-credentials?key=access_key - Versión anclada:
vault/hc-vault/platform-sql?version=2
El siguiente ejemplo muestra cómo hacer referencia a un secreto de HashiCorp Vault en input.json:
admin_password: vault/hc-vault/admin-password-10832372?key=value
admin_password: vault/hc-vault/admin-password-10832372?key=value