UiPath Documentation
automation-suite
2023.10
false
Guía de instalación de Automation Suite en EKS/AKS
Importante :
La localización de contenidos recién publicados puede tardar entre una y dos semanas en estar disponible.

Gestionar el clúster en ArgoCD

Gestiona el clúster de Automation Suite utilizando ArgoCD para la entrega continua basada en GitOps en EKS/AKS.

Información general​

ArgoCD es una herramienta declarativa de entrega continua de GitOps para Kubernetes. Está diseñado como un controlador de Kubernetes que supervisa continuamente las aplicaciones en ejecución de UiPath® y comprueba el estado actual con el estado de destino deseado como se especifica en el registro de Docker. Para obtener más información, consulta la documentación de ArgoCD.

Los administradores pueden tener una descripción general del clúster, las configuraciones, el estado de las aplicaciones y el estado, todo a través de una simple IU o CLI. ArgoCD viene con su propio Redis incluido de código abierto, que admite configuraciones HA y no HA.

Automation Suite utiliza ArgoCD en los siguientes escenarios:

  • Instalar y actualizar los componentes de Fabric y los servicios básicos de UiPath®.
  • Automatizar la implementación de los estados de aplicación deseados en los entornos de destino especificados. ArgoCD sigue el patrón de GitOps de usar repositorios de Git / helm como fuente de verdad para definir el estado de la aplicación deseado.
  • Realizar un seguimiento del estado de la instalación. Si la instalación falló en un punto específico y la reanuda después de un tiempo, ArgoCD omite todos los pasos que ya están sincronizados y reanuda desde el punto en el que falló.
  • Autocuración de las aplicaciones. Si elimina por error cualquiera de los objetos, los manifiesto se sincronizarán automáticamente.

Escenarios de solo lectura de ArgoCD​

Puedes utilizar la cuenta de ArgoCD en los siguientes escenarios de solo lectura:

  • Visualizar todas tus aplicaciones, pods y servicios en una interfaz sencilla
  • Supervisar el estado de todas tus aplicaciones, pods y servicios
  • Identificar rápidamente los problemas en su implementación
  • Resincronizando tu aplicación en tu clúster

Escenarios avanzados de ArgoCD​

Importante:

You must not modify any other settings or parameters except for the ones listed in this section.

You can use the ArgoCD admin account in the following advanced scenarios:

  • Cambiar parámetros solo con fines de depuración; por ejemplo, deshabilitar la autocuración;
  • Eliminar pods;
  • Solución de problemas;
  • Gestionar la configuración personalizada de Orchestrator; por ejemplo, configurar la clave de cifrado por tenant;
  • Actualización de las cadenas de conexión a la base de datos;
  • Sincronizando aplicaciones.
    Nota:

    Asegúrate de consultar la documentación de UiPath® adecuada antes de eliminar o cambiar la configuración avanzada en la interfaz de usuario.

Acceder a ArgoCD​

ArgoCD admite dos métodos de autenticación:

  • nombre de usuario y contraseña : método de autenticación predeterminado;
  • SSO : método de autenticación recomendado. Puedes habilitar la autenticación SSO después de la instalación. Para obtener más información, consulta Habilitar SSO para ArgoCD.

Username and password authentication​

Accessing the ArgoCD admin account​

Para acceder a la cuenta de administrador de ArgoCD usando nombre de usuario y contraseña, siga los siguientes pasos:

  1. Accede a la siguiente URL: https://alm.${CONFIG_CLUSTER_FQDN}.
  2. Enter the following username: admin.
  3. Accede a la contraseña:
    kubectl get secret -n argocd argocd-initial-admin-secret -o jsonpath='{.data.password}'  | base64 -d
    kubectl get secret -n argocd argocd-initial-admin-secret -o jsonpath='{.data.password}'  | base64 -d
    
  4. Introduzca su contraseña.
    Importante:

    You must use the ArgoCD admin account only for advanced scenarios. It can cause disruptive action on the cluster if not used with caution.

SSO authentication​

Para acceder a ArgoCD usando SSO, siga los siguientes pasos:

  1. Selecciona el botón SSO en la página de inicio de sesión de ArgoCD.
  2. Introduce las credenciales de dominio de tu empresa.

Habilitación de SSO para ArgoCD​

Información general​

Para habilitar la autenticación SSO, debes utilizar la herramienta de línea de comandos uipathctl.

Preparing the configuration files​

Debes generar el archivo RBAC antes de habilitar SSO para ArgoCD.

The RBAC file​

El archivo RBAC contiene reglas de acceso.

Para obtener más información sobre las definiciones de roles integradas, consulta la documentación de ArgoCD.

Para obtener más información sobre los tipos de cuenta de ArgoCD y sus permisos, consulta Gestionar el clúster en ArgoCD.

Recomendamos utilizar estos roles al definir tus grupos, pero puedes crear tu propio conjunto de permisos.

Configuring the RBAC file​
  1. Cree un archivo con el nombre policy.csv ejecutando el siguiente comando:
    uipathctl config argocd generate-rbac
    uipathctl config argocd generate-rbac
    
  2. Agregue el siguiente contenido al archivo policy.csv y guárdelo:
    p, role:uipath-sync, applications, get, */*, allow
    p, role:uipath-sync, applications, sync, */*, allow
    g, argocdro, role:uipath-sync
    p, role:uipath-sync, applications, get, */*, allow
    p, role:uipath-sync, applications, sync, */*, allow
    g, argocdro, role:uipath-sync
    
  3. Asocia tus grupos RBAC con el rol de administrador integrado y el rol de solo lectura de UiPath® argocdro , anexando las siguientes líneas al archivo policy.csv RBAC:
    g, <your_ldap_readonly_group_name>, role:uipath-sync
    g, <your_ldap_admin_group_name>, role:admin
    g, <your_ldap_readonly_group_name>, role:uipath-sync
    g, <your_ldap_admin_group_name>, role:admin
    
  4. Guarde el archivo RBAC policy.csv actualizado.
  5. Crea una nueva sección llamada policy.default en el mapa de configuración argo-cd-rbac-cm , después de la sección policy.csv , como se muestra en el siguiente ejemplo:
    policy.csv: |
        p, role:org-admin, applications, *, /, allow
        p, role:org-admin, clusters, get, *, allow
        p, role:org-admin, repositories, get, *, allow
        p, role:org-admin, repositories, create, *, allow
        p, role:org-admin, repositories, update, *, allow
        p, role:org-admin, repositories, delete, *, allow
        g, "694afc07-6767-8998-bf84-ab80b53379df", role:org-admin # (azure group assigned to role)
      policy.default: role:readonly
    policy.csv: |
        p, role:org-admin, applications, *, /, allow
        p, role:org-admin, clusters, get, *, allow
        p, role:org-admin, repositories, get, *, allow
        p, role:org-admin, repositories, create, *, allow
        p, role:org-admin, repositories, update, *, allow
        p, role:org-admin, repositories, delete, *, allow
        g, "694afc07-6767-8998-bf84-ab80b53379df", role:org-admin # (azure group assigned to role)
      policy.default: role:readonly
    
  6. Para configurar SSO con OIDC, consulta la documentación de ArgoCD.
Ejemplo​

Si tu grupo LDAP para administradores de ArgoCD es Administradores y el grupo LDAP para usuarios de solo lectura de ArgoCD es Lectores, el archivo RBAC debe ser similar al del siguiente ejemplo:

p, role:uipath-sync, applications, get, */*, allow
p, role:uipath-sync, applications, sync, */*, allow
g, argocdro, role:uipath-sync
g, Readers, role:uipath-sync
g, Administrators, role:admin
p, role:uipath-sync, applications, get, */*, allow
p, role:uipath-sync, applications, sync, */*, allow
g, argocdro, role:uipath-sync
g, Readers, role:uipath-sync
g, Administrators, role:admin

Para casos de uso más avanzados, el siguiente ejemplo muestra el archivo RBAC predeterminado:

# Built-in policy which defines two roles: role:readonly and role:admin,
# and additionally assigns the admin user to the role:admin role.
# There are two policy formats:
# 1. Applications, logs, and exec (which belong to a project):
# p, <user/group>, <resource>, <action>, <project>/<object>
# 2. All other resources:
# p, <user/group>, <resource>, <action>, <object>

p, role:readonly, applications, get, */*, allow
p, role:readonly, certificates, get, *, allow
p, role:readonly, clusters, get, *, allow
p, role:readonly, repositories, get, *, allow
p, role:readonly, projects, get, *, allow
p, role:readonly, accounts, get, *, allow
p, role:readonly, gpgkeys, get, *, allow
p, role:readonly, logs, get, */*, allow

p, role:admin, applications, create, */*, allow
p, role:admin, applications, update, */*, allow
p, role:admin, applications, delete, */*, allow
p, role:admin, applications, sync, */*, allow
p, role:admin, applications, override, */*, allow
p, role:admin, applications, action/*, */*, allow
p, role:admin, applicationsets, get, */*, allow
p, role:admin, applicationsets, create, */*, allow
p, role:admin, applicationsets, update, */*, allow
p, role:admin, applicationsets, delete, */*, allow
p, role:admin, certificates, create, *, allow
p, role:admin, certificates, update, *, allow
p, role:admin, certificates, delete, *, allow
p, role:admin, clusters, create, *, allow
p, role:admin, clusters, update, *, allow
p, role:admin, clusters, delete, *, allow
p, role:admin, repositories, create, *, allow
p, role:admin, repositories, update, *, allow
p, role:admin, repositories, delete, *, allow
p, role:admin, projects, create, *, allow
p, role:admin, projects, update, *, allow
p, role:admin, projects, delete, *, allow
p, role:admin, accounts, update, *, allow
p, role:admin, gpgkeys, create, *, allow
p, role:admin, gpgkeys, delete, *, allow
p, role:admin, exec, create, */*, allow

g, role:admin, role:readonly
g, admin, role:admin
# Built-in policy which defines two roles: role:readonly and role:admin,
# and additionally assigns the admin user to the role:admin role.
# There are two policy formats:
# 1. Applications, logs, and exec (which belong to a project):
# p, <user/group>, <resource>, <action>, <project>/<object>
# 2. All other resources:
# p, <user/group>, <resource>, <action>, <object>

p, role:readonly, applications, get, */*, allow
p, role:readonly, certificates, get, *, allow
p, role:readonly, clusters, get, *, allow
p, role:readonly, repositories, get, *, allow
p, role:readonly, projects, get, *, allow
p, role:readonly, accounts, get, *, allow
p, role:readonly, gpgkeys, get, *, allow
p, role:readonly, logs, get, */*, allow

p, role:admin, applications, create, */*, allow
p, role:admin, applications, update, */*, allow
p, role:admin, applications, delete, */*, allow
p, role:admin, applications, sync, */*, allow
p, role:admin, applications, override, */*, allow
p, role:admin, applications, action/*, */*, allow
p, role:admin, applicationsets, get, */*, allow
p, role:admin, applicationsets, create, */*, allow
p, role:admin, applicationsets, update, */*, allow
p, role:admin, applicationsets, delete, */*, allow
p, role:admin, certificates, create, *, allow
p, role:admin, certificates, update, *, allow
p, role:admin, certificates, delete, *, allow
p, role:admin, clusters, create, *, allow
p, role:admin, clusters, update, *, allow
p, role:admin, clusters, delete, *, allow
p, role:admin, repositories, create, *, allow
p, role:admin, repositories, update, *, allow
p, role:admin, repositories, delete, *, allow
p, role:admin, projects, create, *, allow
p, role:admin, projects, update, *, allow
p, role:admin, projects, delete, *, allow
p, role:admin, accounts, update, *, allow
p, role:admin, gpgkeys, create, *, allow
p, role:admin, gpgkeys, delete, *, allow
p, role:admin, exec, create, */*, allow

g, role:admin, role:readonly
g, admin, role:admin

Habilitación de SSO para ArgoCD​

Después de preparar el archivo RBAC, puedes habilitar SSO para ArgoCD:

  1. Añade las siguientes líneas al archivo input.json :
    {
    "fabric": {
    "argocd_rbac_config_file": "/path/to/policy.csv"
      }
    }
    {
    "fabric": {
    "argocd_rbac_config_file": "/path/to/policy.csv"
      }
    }
    
  2. Aplica la configuración ejecutando el siguiente comando:
    uipathctl manifest apply input.json --versions versions.json
    uipathctl manifest apply input.json --versions versions.json
    

¿Te ha resultado útil esta página?

Conectar

¿Necesita ayuda? Soporte

¿Quiere aprender? UiPath Academy

¿Tiene alguna pregunta? Foro de UiPath

Manténgase actualizado