automation-suite
2023.10
false
UiPath logo, featuring letters U and I in white
Guide d'installation d'Automation Suite sur EKS/AKS
Last updated 21 nov. 2024

Gérer le cluster dans ArgoCD

Vue d'ensemble (Overview)

ArgoCD est un outil déclaratif de livraison continue GitOps pour Kubernetes. Il est conçu comme un contrôleur Kubernetes qui surveille en continu les applications UiPath® en cours d’exécution et vérifie l’état actuel par rapport à l’état cible souhaité indiqué dans le registre docker. Pour plus de détails, consultez la documentation ArgoCD.

Les administrateurs peuvent avoir une vue d'ensemble du cluster, des configurations, de l'état et de l'intégrité des applications, le tout via une simple interface utilisateur ou CLI. ArgoCD est livré avec son propre Redis open source, qui prend en charge les configurations haute et non haute disponibilité.

Automation Suite utilise ArgoCD dans les scénarios suivants :

  • Installation et mise à niveau des composants Fabric et des principaux services UiPath®.
  • Automatiser le déploiement des états d'application souhaités dans les environnements cibles spécifiés. ArgoCD suit le modèle GitOps consistant à utiliser les référentiels Git/helm comme source de vérité pour définir l'état souhaité de l'application.
  • Suivi de l’état de l’installation. Si l'installation a échoué à un moment donné et que vous la reprenez après un certain temps, ArgoCD ignore toutes les étapes déjà synchronisées et reprend là où elle a échoué.
  • Auto-réparation des applications. Si vous supprimez par erreur l'un des objets, les manifestes seront automatiquement synchronisés.

Scénarios ArgoCD en lecture seule

Vous pouvez utiliser le compte ArgoCD dans les scénarios en lecture seulesuivants :

  • Visualiser toutes vos applications, pods et services dans une interface simple ;
  • Surveiller la santé de toutes vos applications, pods et services ;
  • Identifier rapidement les problèmes de votre déploiement ;
  • Resynchronisation de votre application dans votre cluster.

Scénarios avancés ArgoCD

Important : vous ne devez modifier aucun autre paramètre ou paramètre à l'exception de ceux répertoriés dans cette section.

Vous pouvez utiliser le compte administrateur ArgoCD dans les scénarios avancés suivants :

  • Modification des paramètres à des fins de débogage uniquement ; par exemple, la désactivation de l'autoréparation ;
  • Suppression de pods ;
  • Résolution des problèmes;
  • Gestion de la configuration personnalisée d'Orchestrator ; par exemple, la configuration d'une clé de chiffrement par locataire ;
  • Mise à jour des chaînes de connexion à la base de données;
  • Synchronisation des applications.
    Remarque : consultez la documentation UiPath® adéquate avant de supprimer ou de modifier la configuration avancée sur l’interface utilisateur.

Accéder à ArgoCD

ArgoCD prend en charge deux méthodes d'authentification :

  • nom d'utilisateur et mot de passe – méthode d'authentification par défaut ;
  • Authentification unique (SSO) : méthode d’authentification recommandée. Vous pouvez activer l’authentification unique après l’installation. Pour obtenir des instructions, consultez la section Activation de l’authentification unique pour ArgoCD.

Authentification par nom d'utilisateur et mot de passe

Accéder au compte administrateur ArgoCD

Pour accéder au compte administrateur ArgoCD à l'aide du nom d'utilisateur et du mot de passe, procédez comme suit :

  1. Accédez à l'URL suivante : https://alm.${CONFIG_CLUSTER_FQDN} .
  2. Saisissez le nom d'utilisateur suivant : admin.
  3. Accéder au mot de passe :
    kubectl get secret -n argocd argocd-initial-admin-secret -o jsonpath='{.data.password}'  | base64 -dkubectl get secret -n argocd argocd-initial-admin-secret -o jsonpath='{.data.password}'  | base64 -d
  4. Saisissez votre mot de passe.
    Important : vous devez utiliser le compte administrateur ArgoCD uniquement pour les scénarios avancés. Il peut entraîner des actions perturbatrices sur le cluster s'il n'est pas utilisé avec précaution.

Authentification SSO

Pour accéder à ArgoCD à l'aide de l'authentification unique, procédez comme suit :

  1. Cliquez sur le bouton SSO (SSO) sur la page de connexion ArgoCD.
  2. Saisissez les identifiants de domaine de votre entreprise.

Activation de l’authentification unique pour ArgoCD

Vue d'ensemble (Overview)

Pour activer l’authentification unique, vous devez utiliser l’outil de ligne de commande uipathctl.

Préparation des fichiers de configuration

Vous devez générer le fichier RBAC avant d’activer l’authentification unique pour ArgoCD.

Le fichier RBAC

Le fichier RBAC contient des règles d'accès.

Pour plus d’informations sur les définitions de rôles intégrées, consultez la documentation ArgoCD.

Pour plus de détails sur les types de comptes ArgoCD et leurs autorisations, consultez la section Gestion du cluster dans ArgoCD.

Si nous vous recommandons d'utiliser ces rôles lors de la définition de vos groupes, vous pouvez créer votre propre ensemble d'autorisations.

Configuration du fichier RBAC
  1. Créez un fichier nommé policy.csv en exécutant la commande suivante :
    uipathctl config argocd generate-rbacuipathctl config argocd generate-rbac
  2. Ajoutez le contenu suivant au fichier policy.csv, puis enregistrez-le :
    p, role:uipath-sync, applications, get, */*, allow
    p, role:uipath-sync, applications, sync, */*, allow
    g, argocdro, role:uipath-syncp, role:uipath-sync, applications, get, */*, allow
    p, role:uipath-sync, applications, sync, */*, allow
    g, argocdro, role:uipath-sync
  3. Associez vos groupes RBAC au rôle d’administrateur intégré et au rôle UiPath® argocdro en lecture seule, en ajoutant les lignes suivantes au fichier RBAC policy.csv :
    g, <your_ldap_readonly_group_name>, role:uipath-sync
    g, <your_ldap_admin_group_name>, role:adming, <your_ldap_readonly_group_name>, role:uipath-sync
    g, <your_ldap_admin_group_name>, role:admin
  4. Enregistrez le fichier RBAC policy.csv mis à jour.
  5. Créez une section nommée policy.default dans la carte de configuration argo-cd-rbac-cm, en dessous de la section policy.csv, comme l’illustre l’exemple suivant :
    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:readonlypolicy.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. Suivez les instructions de la documentation ArgoCD pour configurer l’authentification unique avec OIDC.

Exemple :

Si votre groupe LDAP pour les administrateurs ArgoCD est Administrators et que le groupe LDAP pour les utilisateurs ArgoCD en lecture seule est Readers, le fichier RBAC doit être similaire à celui de l’exemple suivant :

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:adminp, 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

Pour les cas d’utilisation plus avancés, l’exemple suivant vous présente le fichier RBAC par défaut :

# 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

Activation de l’authentification unique pour ArgoCD

Une fois le fichier RBAC prêt, vous pouvez activer l’authentification unique pour ArgoCD :

  1. Ajoutez les lignes suivantes au fichier input.json :

    {
    "fabric": {
    "argocd_rbac_config_file": "/path/to/policy.csv"
      }
    }{
    "fabric": {
    "argocd_rbac_config_file": "/path/to/policy.csv"
      }
    }
  2. Appliquez la configuration en exécutant la commande suivante :
    uipathctl manifest apply input.json --versions versions.jsonuipathctl manifest apply input.json --versions versions.json

Cette page vous a-t-elle été utile ?

Obtenez l'aide dont vous avez besoin
Formation RPA - Cours d'automatisation
Forum de la communauté UiPath
Uipath Logo White
Confiance et sécurité
© 2005-2024 UiPath Tous droits réservés.