- 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 con roles de clúster
- Conceder permisos de instalación sin roles de clúster
- Instalar y configurar la malla de servicio
- Instalar y configurar la herramienta GitOps
- Instalar el operador de secretos externos
- Implementar Redis a través de OperatorHub
- 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
- Cómo desinstalar Automation Suite
- Cómo resolver el fallo de comprobación de conectividad prerrequisito en OpenShift 4.16–4.18
- Cómo implementar Insights en un clúster habilitado para FIPS
- Cómo deshabilitar la habilitación automática de CDI en el operador de GPU de Nvidia
- Cómo codificar la URL de una contraseña de cadena de conexión de PostgreSQL
- 500 errores y limitación de tasa en solicitudes S3 en ODF
- Solución de problemas de secretos externos
- Configurar las tolerancias del controlador CSI para ODF 4.20
- 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
- Studio Desktop no puede cargar conectores y actividades de Integration Service
- Errores de validación del certificado TLS
- 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
Conceder permisos de instalación con roles de clúster
Otorga permisos ClusterRole y ClusterRoleBinding de ámbito de clúster a la cuenta de servicio del instalador de Automation Suite y a los usuarios administradores del clúster para las instalaciones de OpenShift.
Los permisos de instalación son relevantes solo si no puedes proporcionar privilegios de administrador al instalador de Automation Suite. Si puedes proporcionar los privilegios de administrador necesarios al instalador, no es necesario que sigas las instrucciones de esta sección.
Esta página supone que puedes conceder a la cuenta de servicio del instalador de Automation Suite (uipathadmin) permisos de ámbito de clúster (ClusterRole y ClusterRoleBinding). Si tu política de seguridad prohíbe conceder permisos de ámbito de clúster, consulta Conceder permisos de instalación sin roles de clúster .
Si instalas varias instancias de Automation Suite en el mismo clúster, debes conceder permisos para los demás espacios de nombres en los que instales Automation Suite.
Automation Suite depende de permisos específicos durante la instalación. Estos permisos se asignan a la cuenta de servicio, que desempeña un papel fundamental en la instalación de los distintos componentes de Automation Suite.
Para configurar todos los permisos necesarios para la instalación, realiza los pasos de esta sección.
Debes ejecutar los comandos a los que se hace referencia en esta sección desde una máquina Linux, Windows o macOS que tenga acceso al servidor de la API de OpenShift Kubernetes.
Paso 1: crear una cuenta de servicio
Para crear una cuenta de servicio, sigue los siguientes pasos:
-
Crea el espacio de nombres y el proyecto
<uipath>:oc get namespace <uipath> || oc new-project <uipath>oc get namespace <uipath> || oc new-project <uipath> -
Establece el espacio de nombres y el proyecto predeterminados en
<uipath>:oc project <uipath>oc project <uipath>Todos los comandos
ocposteriores operarán dentro del espacio de nombres<uipath>. -
Crea una cuenta de servicio llamada
uipathadmin:oc create serviceaccount uipathadminoc create serviceaccount uipathadmin -
Utiliza el rol de clúster
adminexistente para conceder permisos de administrador a la cuenta de serviciouipathadminen el espacio de nombres<uipath>:oc create rolebinding uipathadmin --clusterrole=admin --serviceaccount=<uipath>:uipathadminoc create rolebinding uipathadmin --clusterrole=admin --serviceaccount=<uipath>:uipathadmin
Paso 2: crear los roles necesarios
La cuenta de servicio uipathadmin requiere ciertos permisos durante la instalación de Automation Suite. Los permisos necesarios se proporcionan creando roles.
Para crear cada rol, guarda su configuración como un archivo YAML y ejecuta el siguiente comando, reemplazando el marcador de posición <file_name.yaml> por el nombre real del archivo YAML:
oc apply -f <file_name.yaml>
oc apply -f <file_name.yaml>
Puedes crear el archivo YAML para cada rol copiando la configuración de las siguientes secciones.
Consultar el espacio de nombres [solo lectura]
Necesario para comprobar si los espacios de nombres, como el espacio de nombres <istio-system> , están disponibles o no.
El siguiente ejemplo muestra la configuración namespace-reader-clusterrole:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: namespace-reader-clusterrole
rules:
- apiGroups: [""]
resources: ["namespaces"]
verbs: ["get"]
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: namespace-reader-clusterrole
rules:
- apiGroups: [""]
resources: ["namespaces"]
verbs: ["get"]
Enumerar nodos y CRD [solo lectura]
La herramienta de comprobación de requisitos previos y comprobación de estado de diagnóstico requiere este permiso para realizar las validaciones de nodo, como la capacidad disponible en el nodo.
El siguiente ejemplo muestra la configuración list-nodes-and-crd-clusterrole:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: list-nodes-and-crd-clusterrole
rules:
- apiGroups: [""]
resources: ["nodes"]
verbs: ["list", "get"]
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["list"]
- apiGroups: ["metrics.k8s.io"]
resources: ["nodes"]
verbs: ["list", "get"]
- apiGroups: ["scheduling.k8s.io"]
resources: ["priorityclasses"]
verbs: ["get"]
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: list-nodes-and-crd-clusterrole
rules:
- apiGroups: [""]
resources: ["nodes"]
verbs: ["list", "get"]
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["list"]
- apiGroups: ["metrics.k8s.io"]
resources: ["nodes"]
verbs: ["list", "get"]
- apiGroups: ["scheduling.k8s.io"]
resources: ["priorityclasses"]
verbs: ["get"]
Si estos permisos no están disponibles en su clúster, Automation Suite Robots no puede determinar automáticamente el número máximo de trabajos simultáneos. Para definir el límite explícitamente, configura concurrency_limit en la sección asrobots de input.json. Para obtener más información, consulta Configuración específica de Automation Suite Robots.
uipath roles [escribir]
La mayor parte de la instalación de Automation Suite se realiza a través de ArgoCD; sin embargo, la instalación de algunos componentes se realiza a través del diagrama de Helm.
La herramienta uipathctl ejecuta un trabajo de instalación que ejecuta la instalación del diagrama de Helm. Conectarse a kube-api-server e instalar el diagrama de Helm en el espacio de nombres <uipath> requiere un rol de creador de roles a nivel de espacio de nombres.
El siguiente ejemplo muestra la configuración uipath-automationsuite-role:
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: uipath-automationsuite-role
namespace: <uipath>
rules:
- apiGroups: ["rbac.authorization.k8s.io"]
resources: ["roles", "rolebindings"]
verbs: ["get", "watch", "list", "patch", "update", "create"]
- apiGroups: [""]
resources: ["secrets", "configmaps"]
verbs: ["get", "watch", "list", "patch", "update", "create"]
- apiGroups: ["security.istio.io", "networking.istio.io"]
resources: ["*"]
verbs: ["get", "watch", "list", "patch", "update", "create", "delete"]
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: uipath-automationsuite-role
namespace: <uipath>
rules:
- apiGroups: ["rbac.authorization.k8s.io"]
resources: ["roles", "rolebindings"]
verbs: ["get", "watch", "list", "patch", "update", "create"]
- apiGroups: [""]
resources: ["secrets", "configmaps"]
verbs: ["get", "watch", "list", "patch", "update", "create"]
- apiGroups: ["security.istio.io", "networking.istio.io"]
resources: ["*"]
verbs: ["get", "watch", "list", "patch", "update", "create", "delete"]
<istio-system> roles [escribir]
Proporciona estos permisos solo si quieres que el instalador configure el complemento WebAssembly (WASM). De lo contrario, no proporcione los permisos.
Las siguientes operaciones se realizan en el espacio de nombres <istio-system> :
- La herramienta de comprobación de requisitos previos de Automation Suite lee los pods y servicios en el espacio de nombres
<istio-system>para validar que Istio está instalado y configurado correctamente. - Automation Suite instala el complemento WASM en el espacio de nombres
<istio-system>para configurar las reglas de enrutamiento basadas en la ruta, utilizandouipathctlpara ejecutar un trabajo de instalación basado en Helm. Esto requiere crear unimagepullsecretpara extraer la imagen del registro y un creador de roles para el espacio de nombres<istio-system>.
El siguiente ejemplo muestra la configuración istio-system-automationsuite-role:
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: istio-system-automationsuite-role
namespace: <istio-system>
rules:
- apiGroups: [""]
resources: ["services", "pods"]
verbs: ["list"]
- apiGroups: ["rbac.authorization.k8s.io"]
resources: ["roles", "rolebindings"]
verbs: ["*"]
- apiGroups: ["*"]
resources: ["secrets", "configmaps"]
verbs: ["get", "watch", "list", "patch", "update", "create"]
- apiGroups: ["networking.istio.io", "extensions.istio.io"]
resources: ["*"]
verbs: ["*"]
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: istio-system-automationsuite-role
namespace: <istio-system>
rules:
- apiGroups: [""]
resources: ["services", "pods"]
verbs: ["list"]
- apiGroups: ["rbac.authorization.k8s.io"]
resources: ["roles", "rolebindings"]
verbs: ["*"]
- apiGroups: ["*"]
resources: ["secrets", "configmaps"]
verbs: ["get", "watch", "list", "patch", "update", "create"]
- apiGroups: ["networking.istio.io", "extensions.istio.io"]
resources: ["*"]
verbs: ["*"]
<istio-system> roles [solo lectura]
Proporciona estos permisos si ya has configurado Istio e instalado el complemento WASM.
Las siguientes operaciones se realizan en el espacio de nombres <istio-system> :
- La herramienta de comprobación de requisitos previos de Automation Suite lee los pods y servicios en el espacio de nombres
<istio-system>para validar que Istio está instalado y configurado correctamente. - Se requiere el permiso
get secretspara copiar el archivo de certificado del espacio de nombres<istio-system>al espacio de nombres<uipath>.
El siguiente ejemplo muestra la configuración istio-system-automationsuite-role:
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: istio-system-automationsuite-role
namespace: <istio-system>
rules:
- apiGroups: [""]
resources: ["services", "pods"]
verbs: ["list"]
- apiGroups: ["*"]
resources: ["secrets"]
resourceNames: ["istio-ingressgateway-certs"]
verbs: ["get"]
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: istio-system-automationsuite-role
namespace: <istio-system>
rules:
- apiGroups: [""]
resources: ["services", "pods"]
verbs: ["list"]
- apiGroups: ["*"]
resources: ["secrets"]
resourceNames: ["istio-ingressgateway-certs"]
verbs: ["get"]
Paso 3: vincular los roles
Debes vincular los roles que creaste en el paso anterior a la cuenta de servicio uipathadmin , ejecutando los siguientes comandos:
oc project <istio-system>
oc create rolebinding istio-system-automationsuite-rolebinding \
--role=istio-system-automationsuite-role --serviceaccount=<uipath>:uipathadmin
oc create rolebinding namespace-reader-rolebinding \
--clusterrole=namespace-reader-clusterrole --serviceaccount=<uipath>:uipathadmin
oc project <uipath>
oc create clusterrolebinding list-nodes-and-crd-rolebinding \
--clusterrole=list-nodes-and-crd-clusterrole --serviceaccount=<uipath>:uipathadmin
oc create rolebinding uipath-automationsuite-rolebinding \
--role=uipath-automationsuite-role --serviceaccount=<uipath>:uipathadmin
# This step is needed only if you want the installer to configure the WASM Plugin. Otherwise skip it.
oc -n <istio-system> create rolebinding uipadmin-istio-system \
--clusterrole=admin --serviceaccount=<uipath>:uipathadmin
oc project <istio-system>
oc create rolebinding istio-system-automationsuite-rolebinding \
--role=istio-system-automationsuite-role --serviceaccount=<uipath>:uipathadmin
oc create rolebinding namespace-reader-rolebinding \
--clusterrole=namespace-reader-clusterrole --serviceaccount=<uipath>:uipathadmin
oc project <uipath>
oc create clusterrolebinding list-nodes-and-crd-rolebinding \
--clusterrole=list-nodes-and-crd-clusterrole --serviceaccount=<uipath>:uipathadmin
oc create rolebinding uipath-automationsuite-rolebinding \
--role=uipath-automationsuite-role --serviceaccount=<uipath>:uipathadmin
# This step is needed only if you want the installer to configure the WASM Plugin. Otherwise skip it.
oc -n <istio-system> create rolebinding uipadmin-istio-system \
--clusterrole=admin --serviceaccount=<uipath>:uipathadmin
Paso 4: generar el archivo kubeconfig
Después de asignar todos los permisos a la cuenta de servicio, debes crear un archivo kubeconfig para pasar a la herramienta uipathctl para la instalación.
Generar el archivo kubeconfig en Linux o Mac
Para generar el archivo kubeconfig en Linux o Mac, ejecuta los siguientes comandos:
# For generating kubeconfig
# Creates the token for uipathadmin service account
token=$(oc -n <uipath> create token uipathadmin --duration=8760h)
# Getting api-server details
server=$(oc config view -o jsonpath="{.clusters[]..server}")
# Login logs on using the provided token and server and outputs kubeconfig at the provided path.
oc login --server=$server --token=$token --kubeconfig=uipathadminkubeconfig --insecure-skip-tls-verify=true
# For generating kubeconfig
# Creates the token for uipathadmin service account
token=$(oc -n <uipath> create token uipathadmin --duration=8760h)
# Getting api-server details
server=$(oc config view -o jsonpath="{.clusters[]..server}")
# Login logs on using the provided token and server and outputs kubeconfig at the provided path.
oc login --server=$server --token=$token --kubeconfig=uipathadminkubeconfig --insecure-skip-tls-verify=true
Si la operación se ha realizado correctamente, deberías ver un archivo kubeconfig llamado uipathadminkubeconfig.
Generar el archivo kubeconfig en Windows
Debes realizar este paso utilizando Windows Powershell.
Para generar el archivo kubeconfig en Windows, ejecuta los siguientes comandos:
# For generating kubeconfig
# Creates the token for uipathadmin service account
$token = oc -n <uipath> create token uipathadmin --duration=8760h
# Getting api-server details
$server = oc config view -o jsonpath="{.clusters[]..server}"
# Login logs on using the provided token and server and outputs kubeconfig at the provided path.
oc login --server=$server --token=$token --kubeconfig=uipathadminkubeconfig --insecure-skip-tls-verify=true
# For generating kubeconfig
# Creates the token for uipathadmin service account
$token = oc -n <uipath> create token uipathadmin --duration=8760h
# Getting api-server details
$server = oc config view -o jsonpath="{.clusters[]..server}"
# Login logs on using the provided token and server and outputs kubeconfig at the provided path.
oc login --server=$server --token=$token --kubeconfig=uipathadminkubeconfig --insecure-skip-tls-verify=true
Si la operación se ha realizado correctamente, deberías ver un archivo kubeconfig llamado uipathadminkubeconfig en la carpeta temp .
Paso 5: utilizar el archivo kubeconfig generado
Debes utilizar el archivo uipathadminkubeconfig para todos los comandos uipathctl posteriores en este flujo de trabajo, incluidas las comprobaciones de requisitos previos, la instalación y las comprobaciones de estado. Si no lo haces, uipathctl recurre al archivo kubeconfig predeterminado, que puede autenticarse con privilegios de administrador del clúster en lugar de la cuenta de servicio restringida uipathadmin.
Para obtener más información sobre cómo especificar el archivo kubeconfig, consulta Especificar el archivo kubeconfig.
- Paso 1: crear una cuenta de servicio
- Paso 2: crear los roles necesarios
- Consultar el espacio de nombres [solo lectura]
- Enumerar nodos y CRD [solo lectura]
uipathroles [escribir]<istio-system>roles [escribir]<istio-system>roles [solo lectura]- Paso 3: vincular los roles
- Paso 4: generar el archivo kubeconfig
- Generar el archivo kubeconfig en Linux o Mac
- Generar el archivo kubeconfig en Windows
- Paso 5: utilizar el archivo kubeconfig generado