- Vue d'ensemble (Overview)
- Prérequis
- Pré-installation
- Préparation de l'installation
- Téléchargement des packages d'installation
- Configuration du registre conforme à OCI
- Octroi d'autorisations d'installation avec des rôles de cluster
- Octroi d'autorisations d'installation sans rôles de cluster
- Installation et configuration du service Mesh
- Installer et configurer l'outil GitOps
- Installation de l'opérateur de clés secrètes externes
- Déploiement de Redis via OperatorHub
- Application de diverses configurations
- Exécution de uipathctl
- Installation
- Post-installation
- Migration et mise à niveau
- Surveillance et alerte
- Administration du cluster
- Configuration spécifique au produit
- Configuration avancée d'Orchestrator
- Configuration des paramètres d'Orchestrator
- Configuration des paramètres d'application
- Configuration de la taille maximale de la requête
- Remplacement de la configuration du stockage au niveau du cluster
- Configuration de NLog
- Enregistrement des journaux du robot dans Elasticsearch
- Configuration des magasins d'informations d'identification
- Configuration de la clé de chiffrement par locataire
- Nettoyer la base de données Orchestrator
- Ignorer l’installation de la bibliothèque hôte
- Rotation des informations d’identification de stockage d’objets blob
- Désactivation de l'utilisation d'URL pré-signées lors du téléchargement de données vers le stockage Amazon S3
- Configuration de la sécurité de l'application de processus
- Configurer une authentification Kerberos avec l’authentification MSSQL de base pour Process Mining
- AI Trust Layer
- Résolution des problèmes
- Comment désinstaller Automation Suite
- Comment résoudre l'échec de la vérification de la connectivité préalable sur OpenShift 4.16–4.18
- Comment déployer Insights dans un cluster compatible FIPS
- Comment désactiver l’activation automatique CDI dans l’opérateur GPU Nvidia
- Comment encoder en URL un mot de passe de chaîne de connexion SQL
- 500 erreurs et limitation de débit sur les requêtes S3 dans ODF
- Résolution des problèmes de clés secrètes externes
- Configuration des tolérances des pilotes CSI pour ODF 4.20
- Résolution des problèmes de Temporel en tant que service
- Les pods AI Center et Document Understanding ne démarrent pas avec la vérification du certificat TLS activée
- Studio Desktop ne peut pas charger les connecteurs et activités Integration Service
- Erreurs de validation du certificat TLS
- Atténuation manuelle de la politique réseau ArgoCD
- Configurer les requêtes et les limites de ressources pour les charges de travail créées par uipathctl
Installer et configurer l'outil GitOps
Installez et configurez l'outil GitOps pour gérer les déploiements d'Automation Suite sur OpenShift.
Avant de procéder à l'installation et à la configuration de l'opérateur OpenShift GitOps, vous devez installer OpenShift Service Mesh et fournir toutes les autorisations requises au compte de service uipathadmin .
Pour obtenir les instructions d’installation et de configuration de Service Mesh, reportez-vous à Installation et configuration du service Mesh.
Pour les autorisations d'installation, reportez-vous à la section Accorder des autorisations d'installation.
Vous pouvez déployer Automation Suite à l’aide d’une instance OpenShift GitOps Operator dédiée aux applications UiPath® ou d’une instance OpenShift GitOps Operator partagée, si elle est déjà installée et disponible sur votre cluster.
Nous vous recommandons d’utiliser une instance OpenShift GitOps Operator dédiée pour installer les applications Automation Suite. Cette méthode nécessite des autorisations minimales pour les autres espaces de noms et ressources de cluster.
Pour obtenir des informations d’installation et d’accès, consultez les sections suivantes:
Enregistrer une instance GitOps dédiée
Nous vous recommandons d'utiliser un espace de noms différent de <uipath> pour ArgoCD.
Si vous utilisez OpenShift GitOps version 1.15 ou supérieure et installez une instance dédiée d'ArgoCD dans l'espace de noms <uipath> , l'interface utilisateur d'ArgoCD ne sera pas accessible en raison des stratégies réseau dans l'espace de noms <uipath> ajoutées par le plan de contrôle de Service Mesh. Pour résoudre ce problème, vous devez ajouter une stratégie réseau, comme illustré dans l'exemple suivant, pour permettre aux pods d'entrée d'atteindre les pods de serveur ArgoCD dans l'espace de noms <uipath> .
kind: NetworkPolicy
apiVersion: networking.k8s.io/v1
metadata:
name: allow-argocd
spec:
podSelector:
matchLabels:
app.kubernetes.io/name: argocd-server
ingress:
- from:
- namespaceSelector:
matchLabels:
network.openshift.io/policy-group: ingress
policyTypes:
- Ingress
kind: NetworkPolicy
apiVersion: networking.k8s.io/v1
metadata:
name: allow-argocd
spec:
podSelector:
matchLabels:
app.kubernetes.io/name: argocd-server
ingress:
- from:
- namespaceSelector:
matchLabels:
network.openshift.io/policy-group: ingress
policyTypes:
- Ingress
Pour enregistrer une instance OpenShift GitOps Operator dédiée, procédez comme suit :
-
Si l'espace de noms
<argocd>n'existe pas déjà, exécutez les commandes suivantes pour le créer :oc get namespace <argocd> || oc new-project <argocd> oc project <argocd>oc get namespace <argocd> || oc new-project <argocd> oc project <argocd> -
Installez l’opérateur OpenShift GitOps en suivant les instructions dans Installation d’OpenShift GitOps.
-
Créez une nouvelle instance ArgoCD en suivant les instructions de la section Configuration d'une nouvelle instance ArgoCD.
Remarque :Dans la section
specdécrite dans Activation des répliques pour le serveur Argo CD et le serveur de référentiel, vous devez ajouter la ligne suivante :server.route.enabled: trueserver.route.enabled: true -
Si vous utilisez OpenShift Service Mesh 2.x, corrigez le déploiement ArgoCD afin que le service Mesh l’expose via une route OpenShift. Ignorez cette étape sur OpenShift Service Mesh 3.x, où le libellé
maistra.io/expose-routen'a aucun effet.oc -n <argocd> patch deployment argocd-server \ -p '{"spec":{"template":{"metadata":{"labels":{"maistra.io/expose-route":"true"}}}}}'oc -n <argocd> patch deployment argocd-server \ -p '{"spec":{"template":{"metadata":{"labels":{"maistra.io/expose-route":"true"}}}}}' -
Créez un rôle afin qu'ArgoCD puisse gérer les plages limites.
Avant Automation Suite 2.2510.3, le graphique Helm de la plate-forme fournissait un objet
LimitRangequi attribuait des limites de ressources par défaut dans l'espace de noms<uipath>, de sorte que le contrôleur d'application ArgoCD avait besoin d'autorisations pour le créer et le gérer. À partir de la version 2.2510.3, cet objetLimitRangea été supprimé du graphique et le contrôleur n’a besoin que du verbedeletepour supprimer leLimitRangecréé par une version antérieure lors de la synchronisation.Pour créer le rôle, procédez comme suit:
- Enregistrez la configuration du rôle qui correspond à votre version d'Automation Suite sous forme de fichier YAML:
- Automation Suite 2.2510.3 et versions ultérieures (seul le verbe
deleteest requis):kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: name: limit-range-manager namespace: <uipath> rules: - apiGroups: [""] resources: ["limitranges"] verbs: ["delete"]kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: name: limit-range-manager namespace: <uipath> rules: - apiGroups: [""] resources: ["limitranges"] verbs: ["delete"] - Versions antérieures à 2.2510.3:
kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: name: limit-range-manager namespace: <uipath> rules: - apiGroups: [""] resources: ["limitranges"] verbs: ["get", "watch", "list", "patch", "update", "create"]kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: name: limit-range-manager namespace: <uipath> rules: - apiGroups: [""] resources: ["limitranges"] verbs: ["get", "watch", "list", "patch", "update", "create"]
- Automation Suite 2.2510.3 et versions ultérieures (seul le verbe
- Appliquez la configuration en exécutant la commande suivante. Assurez-vous de remplacer l'espace réservé
<file_name.yaml>par le nom réel du fichier YAML :oc apply -f <file_name.yaml>oc apply -f <file_name.yaml>
- Enregistrez la configuration du rôle qui correspond à votre version d'Automation Suite sous forme de fichier YAML:
-
Liez le rôle
limit-range-managerau compte de serviceargocd:oc -n <uipath> create rolebinding limit-range-manager-binding --role=limit-range-manager --serviceaccount=<argocd>:argocd-argocd-application-controlleroc -n <uipath> create rolebinding limit-range-manager-binding --role=limit-range-manager --serviceaccount=<argocd>:argocd-argocd-application-controller -
Si vous avez activé TaaS, créez un rôle qui autorise les verbes d'écriture du contrôleur d'application ArgoCD sur la sous-ressource
pods/log. Le hook pré-installé de TaaS crée un rôle qui inclut ces verbes, et la prévention de l’escalade RBAC Kubernetes nécessite que le contrôleur les conserve avant de pouvoir les accorder. Pour créer le rôle, procédez comme suit:- Enregistrez la configuration de rôle suivante sous forme de fichier YAML :
kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: name: argocd-pod-log-writer namespace: <uipath> rules: - apiGroups: [""] resources: ["pods/log"] verbs: ["create", "update", "patch", "delete"]kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: name: argocd-pod-log-writer namespace: <uipath> rules: - apiGroups: [""] resources: ["pods/log"] verbs: ["create", "update", "patch", "delete"] - Appliquez la configuration en exécutant la commande suivante. Assurez-vous de remplacer l'espace réservé
<file_name.yaml>par le nom réel du fichier YAML :oc apply -f <file_name.yaml>oc apply -f <file_name.yaml> - Liez le rôle
argocd-pod-log-writerau compte de serviceargocd:oc -n <uipath> create rolebinding argocd-pod-log-writer-binding --role=argocd-pod-log-writer --serviceaccount=<argocd>:argocd-argocd-application-controlleroc -n <uipath> create rolebinding argocd-pod-log-writer-binding --role=argocd-pod-log-writer --serviceaccount=<argocd>:argocd-argocd-application-controller
- Enregistrez la configuration de rôle suivante sous forme de fichier YAML :
-
Si vous avez activé les Automation Suite Robots, vous devez activer le mode à l'échelle du cluster pour ArgoCD en procédant comme suit :
Important :Le mode à l'échelle du cluster est requis car, par défaut, le graphique Automation Suite Robots déploie une
ClusterRoleet uneClusterRoleBindingqu'une instance ArgoCD avec espace de noms ne peut pas gérer. Si vous effectuez l'installation avec uniquement des autorisations liées à l'espace de noms, vous pouvez ignorer cette étape en définissant une variableasrobots.concurrency_limitexplicite dansinput.json; le graphique ne déploie alors aucune ressource à l'échelle du cluster. Pour plus de détails, consultez la section Octroi d’autorisations d’installation sans rôles de cluster.- Dans
<openshift-gitops>, modifiez la ressource d'abonnementopenshift-gitops-operatorpour y inclure la variable d'environnement suivante :ARGOCD_CLUSTER_CONFIG_NAMESPACES: <argocd>ARGOCD_CLUSTER_CONFIG_NAMESPACES: <argocd> - Suivez les instructions de la section Utilisation d'une instance Argo CD pour gérer les ressources à l'échelle du cluster.
- Dans
-
Vous devez vous assurer que l'instance ArgoCD peut gérer l'espace de noms
<uipath>si l'espace de noms<uipath>n'est pas le même que l'espace de noms<argocd>:oc label namespace <uipath> argocd.argoproj.io/managed-by=<argocd>oc label namespace <uipath> argocd.argoproj.io/managed-by=<argocd>Dans cette commande,
<argocd>est le nom de l'espace de noms dans lequel vous avez déployé l'instance ArgoCD dédiée.Après avoir appliqué la configuration, redémarrez ArgoCD
application-controler(ensemble d'états) etserver(déploiement). -
Vous devez effectuer les étapes suivantes uniquement si l'espace de noms
<uipath>n'est pas le même que l'espace de noms<argocd>. Créez un rôle pour gérer les applications de l'espace de noms<argocd>. Pour créer le rôle, procédez comme suit :- Enregistrez la configuration de rôle suivante sous forme de fichier YAML :
apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: uipath-application-manager namespace: <argocd> rules: - apiGroups: - argoproj.io resources: - applications verbs: ["get", "watch", "list", "patch", "update", "create", "delete"]apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: uipath-application-manager namespace: <argocd> rules: - apiGroups: - argoproj.io resources: - applications verbs: ["get", "watch", "list", "patch", "update", "create", "delete"] - Appliquez la configuration en exécutant la commande suivante. Assurez-vous de remplacer l'espace réservé
<file_name.yaml>par le nom réel du fichier YAML :oc apply -f <file_name.yaml>oc apply -f <file_name.yaml>
- Enregistrez la configuration de rôle suivante sous forme de fichier YAML :
-
Liez le rôle
uipath-application-managerau compte de serviceuipathadmin:oc project <argocd> oc create rolebinding uipath-application-manager \ --role=uipath-application-manager --serviceaccount=<uipath>:uipathadminoc project <argocd> oc create rolebinding uipath-application-manager \ --role=uipath-application-manager --serviceaccount=<uipath>:uipathadmin -
En tant qu'administrateur de cluster, créez la clé secrète du référentiel
helm-credentialsdans l'espace de noms<argocd>. Il s'agit d'une clé secrète du référentiel ArgoCD qui contient les détails de la connexion au registre Helm, et ArgoCD le lit pour extraire les graphiques Automation Suite.Important :La façon dont cette clé secrète est gérée dépend de votre version d’Automation Suite:
- Automation Suite 2.2510.4 et versions ultérieures: la clé secrète vous appartient.
uipathctlne le gère pas et ne nécessite aucun accès à celui-ci ou à l'espace de noms<argocd>- le compte de serviceuipathadminn'a besoin d'aucune autorisation du tout, à l'exception de la gestion des applications ArgoCD, que vous avez accordée à l'étape précédente. Ignorez l'étape suivante. - Automation Suite 2.2510.3: vous créez la clé secrète, mais
uipathctlla met toujours à jour à chaque exécution, de sorte queuipathadmina besoin deget,updateetpatchsur cette clé. Terminez l'étape suivante avec le 2.2510.3 rôle. - Versions antérieures à 2.2510.3:
uipathctlcrée et gère la clé secrète elle-même, vous pouvez donc ignorer sa création. Terminez l'étape suivante avec le rôle pour les versions antérieures à 2.2510.3.
Chaque fois que vous avez créé la clé secrète, vous devez également la maintenir à jour: si les informations d'identification du registre Helm changent, mettez à jour la clé secrète vous-même, sinon ArgoCD cessera d'être en mesure d'extraire les graphiques.
apiVersion: v1 kind: Secret metadata: name: helm-credentials namespace: <argocd> labels: argocd.argoproj.io/secret-type: repository type: Opaque stringData: name: uipath-helm url: <helm-registry-url> type: helm enableOCI: "true" username: <registry-username> password: <registry-password>apiVersion: v1 kind: Secret metadata: name: helm-credentials namespace: <argocd> labels: argocd.argoproj.io/secret-type: repository type: Opaque stringData: name: uipath-helm url: <helm-registry-url> type: helm enableOCI: "true" username: <registry-username> password: <registry-password>Les valeurs
stringDatasont fournies en texte brut. Pour un registre ouvert tel queregistry.uipath.com, omettez les clésusernameetpasswordafin qu’ArgoCD se connecte de manière anonyme. Les laisser vides fait que ArgoCD tente de se connecter et échoue avec une erreur401. Vous pouvez également créer la même clé secrète avec la CLI:oc -n <argocd> create secret generic helm-credentials \ --from-literal=name=uipath-helm \ --from-literal=url=<helm-registry-url> \ --from-literal=type=helm \ --from-literal=enableOCI=true \ --from-literal=username=<registry-username> \ --from-literal=password=<registry-password> oc -n <argocd> label --overwrite secret helm-credentials argocd.argoproj.io/secret-type=repositoryoc -n <argocd> create secret generic helm-credentials \ --from-literal=name=uipath-helm \ --from-literal=url=<helm-registry-url> \ --from-literal=type=helm \ --from-literal=enableOCI=true \ --from-literal=username=<registry-username> \ --from-literal=password=<registry-password> oc -n <argocd> label --overwrite secret helm-credentials argocd.argoproj.io/secret-type=repository - Automation Suite 2.2510.4 et versions ultérieures: la clé secrète vous appartient.
-
Automation Suite 2.2510.3 et versions antérieures uniquement. Ces versions écrivent dans la clé secrète
helm-credentialset recherchent l'espace de noms<argocd>;uipathadmina donc besoin d'accéder aux deux. Ignorez cette étape sur la version 2.2510.4 et ultérieure.- Enregistrez la configuration du rôle qui correspond à votre version d'Automation Suite sous forme de fichier YAML:
- Automation Suite 2.2510.3, étendu au secret que vous avez créé à l'étape précédente:
apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: argo-secret-role namespace: <argocd> rules: - apiGroups: [""] resources: ["secrets"] resourceNames: ["helm-credentials"] verbs: ["get", "update", "patch"]apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: argo-secret-role namespace: <argocd> rules: - apiGroups: [""] resources: ["secrets"] resourceNames: ["helm-credentials"] verbs: ["get", "update", "patch"] - Versions antérieures à 2.2510.3:
apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: argo-secret-role namespace: <argocd> rules: - apiGroups: ["rbac.authorization.k8s.io"] resources: ["roles", "rolebindings"] verbs: ["get", "watch", "list", "patch", "update", "create"] - apiGroups: [""] resources: ["secrets"] verbs: ["get", "watch", "list", "patch", "update", "create"]apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: argo-secret-role namespace: <argocd> rules: - apiGroups: ["rbac.authorization.k8s.io"] resources: ["roles", "rolebindings"] verbs: ["get", "watch", "list", "patch", "update", "create"] - apiGroups: [""] resources: ["secrets"] verbs: ["get", "watch", "list", "patch", "update", "create"]
- Automation Suite 2.2510.3, étendu au secret que vous avez créé à l'étape précédente:
- Appliquez la configuration en exécutant la commande suivante. Assurez-vous de remplacer l'espace réservé
<file_name.yaml>par le nom réel du fichier YAML :oc apply -f <file_name.yaml>oc apply -f <file_name.yaml> - Liez le rôle
argo-secret-roleet le rôlenamespace-readerau compte de serviceuipathadmin:oc project <argocd> oc create rolebinding secret-binding \ --role=argo-secret-role --serviceaccount=<uipath>:uipathadmin oc create rolebinding namespace-reader-rolebinding \ --clusterrole=namespace-reader-clusterrole --serviceaccount=<uipath>:uipathadminoc project <argocd> oc create rolebinding secret-binding \ --role=argo-secret-role --serviceaccount=<uipath>:uipathadmin oc create rolebinding namespace-reader-rolebinding \ --clusterrole=namespace-reader-clusterrole --serviceaccount=<uipath>:uipathadmin
- Enregistrez la configuration du rôle qui correspond à votre version d'Automation Suite sous forme de fichier YAML:
Accéder à l'instance ArgoCD
Pour accéder à ArgoCD, procédez comme suit :
- Obtenir l'URL de l'hôte :
oc get routes argocd-server -n <argocd> -o jsonpath={.spec.host}; echooc get routes argocd-server -n <argocd> -o jsonpath={.spec.host}; echo - Pour vous connecter, utilisez
admincomme nom d'utilisateur et exécutez la commande suivante pour obtenir le mot de passe :oc -n <argocd> get secrets argocd-cluster \ -o "jsonpath={.data['admin\.password']}" | base64 -d; echooc -n <argocd> get secrets argocd-cluster \ -o "jsonpath={.data['admin\.password']}" | base64 -d; echo
Configuration du référentiel Helm privé et des certificats dans ArgoCD
Pour configurer le référentiel Helm dans ArgoCD, procédez comme suit :
- Connectez-vous à ArgoCD.
- Accédez à Paramètres > Référentiels > +CONNECTERPO.
- Utilisez VI HTTPS pour la méthode de connexion.
- Sélectionnez Helm comme type.
- Indiquez un nom.
- Choisissez la valeur par défaut en tant que projet.
- Indiquez l'URL du référentiel, le nom d'utilisateur, le mot de passe et les informations de certificat.
Important :
Lors de l'ajout du certificat client TLS sur la page +CONNECTUREPO , la clé de certificat client TLS devient un champ obligatoire. Pour configurer le certificat de registre sans la clé de certificat client TLS, procédez comme suit :
- Accédez à Paramètres > Certificats de référentiel et hôtes connus > +ADD TLS CERTIFICATE.
- Ajoutez le nom du référentiel et le certificat TLS au format PEM.
- Cochez la case OCI .
- Select Connect.
- Assurez-vous que le statut de la connexion est Réussite.
Configuration d'une instance GitOps partagée
Si votre équipe de plate-forme n'a pas encore enregistré l'instance partagée OpenShift GitOps Operator, effectuez les étapes d'installation et de configuration suivantes :
-
Créez l'espace de noms
<uipath>:oc get namespace <uipath> || oc new-project <uipath> oc project <uipath>oc get namespace <uipath> || oc new-project <uipath> oc project <uipath> -
Installez l’opérateur OpenShift GitOps en suivant les instructions dans Installation d’OpenShift GitOps. Cette installation est livrée avec l'instance ArgoCD, nommée
openshift-gitops, dans l'espace de noms<openshift-gitops>. -
Activez le mode à l'échelle du cluster pour ArgoCD en procédant comme suit :
- Dans
<openshift-gitops>, modifiez la ressource d'abonnementopenshift-gitops-operatorpour y inclure la variable d'environnement suivante :ARGOCD_CLUSTER_CONFIG_NAMESPACES: <openshift-gitops>ARGOCD_CLUSTER_CONFIG_NAMESPACES: <openshift-gitops> - Suivez les instructions de la section Utilisation d'une instance ArgoCD pour gérer les ressources à l'échelle du cluster.
- Dans
-
Assurez-vous que l'instance ArgoCD
openshift-gitopspeut gérer l'espace de noms<uipath>:oc label namespace <uipath> argocd.argoproj.io/managed-by=openshift-gitopsoc label namespace <uipath> argocd.argoproj.io/managed-by=openshift-gitopsAprès avoir appliqué la configuration, redémarrez ArgoCD
openshift-gitops-application-controller(ensemble d'états) etopenshift-gitops-server(déploiement). -
Si vous utilisez OpenShift Service Mesh 2.x, corrigez le déploiement ArgoCD afin que le service Mesh l’expose via une route OpenShift. Ignorez cette étape sur OpenShift Service Mesh 3.x, où le libellé
maistra.io/expose-routen'a aucun effet.oc -n <uipath> patch deployment argocd-server \ -p '{"spec":{"template":{"metadata":{"labels":{"maistra.io/expose-route":"true"}}}}}'oc -n <uipath> patch deployment argocd-server \ -p '{"spec":{"template":{"metadata":{"labels":{"maistra.io/expose-route":"true"}}}}}' -
Créez un projet ArgoCD pour l’application UiPath® :
apiVersion: argoproj.io/v1alpha1 kind: AppProject metadata: name: uipath namespace: <openshift-gitops> spec: description: Appproject to managed and deploy uipath applications clusterResourceWhitelist: - group: '*' kind: '*' destinations: - namespace: <uipath> server: https://kubernetes.default.svc - namespace: <istio-system> server: https://kubernetes.default.svc sourceNamespaces: - <openshift-gitops> sourceRepos: - '*'apiVersion: argoproj.io/v1alpha1 kind: AppProject metadata: name: uipath namespace: <openshift-gitops> spec: description: Appproject to managed and deploy uipath applications clusterResourceWhitelist: - group: '*' kind: '*' destinations: - namespace: <uipath> server: https://kubernetes.default.svc - namespace: <istio-system> server: https://kubernetes.default.svc sourceNamespaces: - <openshift-gitops> sourceRepos: - '*' -
Créez un rôle afin qu'ArgoCD puisse gérer les plages limites.
Avant Automation Suite 2.2510.3, le graphique Helm de la plate-forme fournissait un objet
LimitRangequi attribuait des limites de ressources par défaut dans l'espace de noms<uipath>, de sorte que le contrôleur d'application ArgoCD avait besoin d'autorisations pour le créer et le gérer. À partir de la version 2.2510.3, cet objetLimitRangea été supprimé du graphique et le contrôleur n’a besoin que du verbedeletepour supprimer leLimitRangecréé par une version antérieure lors de la synchronisation.Pour créer le rôle, procédez comme suit:
- Enregistrez la configuration du rôle qui correspond à votre version d'Automation Suite sous forme de fichier YAML:
- Automation Suite 2.2510.3 et versions ultérieures (seul le verbe
deleteest requis):kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: name: limit-range-manager namespace: <uipath> rules: - apiGroups: [""] resources: ["limitranges"] verbs: ["delete"]kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: name: limit-range-manager namespace: <uipath> rules: - apiGroups: [""] resources: ["limitranges"] verbs: ["delete"] - Versions antérieures à 2.2510.3:
kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: name: limit-range-manager namespace: <uipath> rules: - apiGroups: [""] resources: ["limitranges"] verbs: ["get", "watch", "list", "patch", "update", "create"]kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: name: limit-range-manager namespace: <uipath> rules: - apiGroups: [""] resources: ["limitranges"] verbs: ["get", "watch", "list", "patch", "update", "create"]
- Automation Suite 2.2510.3 et versions ultérieures (seul le verbe
- Appliquez la configuration en exécutant la commande suivante. Assurez-vous de remplacer l'espace réservé
<file_name.yaml>par le nom réel du fichier YAML :oc apply -f <file_name.yaml>oc apply -f <file_name.yaml>
- Enregistrez la configuration du rôle qui correspond à votre version d'Automation Suite sous forme de fichier YAML:
-
Liez le rôle
limit-range-managerau compte de serviceargocd:oc -n <uipath> create rolebinding limit-range-manager-binding --role=limit-range-manager --serviceaccount=<openshift-gitops>:openshift-gitops-argocd-application-controlleroc -n <uipath> create rolebinding limit-range-manager-binding --role=limit-range-manager --serviceaccount=<openshift-gitops>:openshift-gitops-argocd-application-controller -
Créez un rôle pour gérer les applications dans l'espace de noms
<openshift-gitops>:apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: uipath-application-manager namespace: <openshift-gitops> rules: - apiGroups: - argoproj.io resources: - applications verbs: ["get", "watch", "list", "patch", "update", "create"]apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: uipath-application-manager namespace: <openshift-gitops> rules: - apiGroups: - argoproj.io resources: - applications verbs: ["get", "watch", "list", "patch", "update", "create"] -
Liez le rôle
uipath-application-managerau compte de serviceuipathadmin:oc project <openshift-gitops> oc create rolebinding uipath-application-manager \ --role=uipath-application-manager --serviceaccount=<uipath>:uipathadminoc project <openshift-gitops> oc create rolebinding uipath-application-manager \ --role=uipath-application-manager --serviceaccount=<uipath>:uipathadmin -
En tant qu'administrateur de cluster, créez la clé secrète du référentiel
helm-credentialsdans l'espace de noms<openshift-gitops>. Il s'agit d'une clé secrète du référentiel ArgoCD qui contient les détails de la connexion au registre Helm, et ArgoCD le lit pour extraire les graphiques Automation Suite.Important :La façon dont cette clé secrète est gérée dépend de votre version d’Automation Suite:
- Automation Suite 2.2510.4 et versions ultérieures: la clé secrète vous appartient.
uipathctlne le gère pas et ne nécessite aucun accès à celui-ci ou à l'espace de noms<openshift-gitops>- le compte de serviceuipathadminn'a besoin d'aucune autorisation du tout, à l'exception de la gestion des applications ArgoCD, que vous avez accordée à l'étape précédente. Ignorez l'étape suivante. - Automation Suite 2.2510.3: vous créez la clé secrète, mais
uipathctlla met toujours à jour à chaque exécution, de sorte queuipathadmina besoin deget,updateetpatchsur cette clé. Terminez l'étape suivante avec le 2.2510.3 rôle. - Versions antérieures à 2.2510.3:
uipathctlcrée et gère la clé secrète elle-même, vous pouvez donc ignorer sa création. Terminez l'étape suivante avec le rôle pour les versions antérieures à 2.2510.3.
Chaque fois que vous avez créé la clé secrète, vous devez également la maintenir à jour: si les informations d'identification du registre Helm changent, mettez à jour la clé secrète vous-même, sinon ArgoCD cessera d'être en mesure d'extraire les graphiques.
apiVersion: v1 kind: Secret metadata: name: helm-credentials namespace: <openshift-gitops> labels: argocd.argoproj.io/secret-type: repository type: Opaque stringData: name: uipath-helm url: <helm-registry-url> type: helm enableOCI: "true" username: <registry-username> password: <registry-password>apiVersion: v1 kind: Secret metadata: name: helm-credentials namespace: <openshift-gitops> labels: argocd.argoproj.io/secret-type: repository type: Opaque stringData: name: uipath-helm url: <helm-registry-url> type: helm enableOCI: "true" username: <registry-username> password: <registry-password>Les valeurs
stringDatasont fournies en texte brut. Pour un registre ouvert tel queregistry.uipath.com, omettez les clésusernameetpasswordafin qu’ArgoCD se connecte de manière anonyme. Les laisser vides fait que ArgoCD tente de se connecter et échoue avec une erreur401. Vous pouvez également créer la même clé secrète avec la CLI:oc -n <openshift-gitops> create secret generic helm-credentials \ --from-literal=name=uipath-helm \ --from-literal=url=<helm-registry-url> \ --from-literal=type=helm \ --from-literal=enableOCI=true \ --from-literal=username=<registry-username> \ --from-literal=password=<registry-password> oc -n <openshift-gitops> label --overwrite secret helm-credentials argocd.argoproj.io/secret-type=repositoryoc -n <openshift-gitops> create secret generic helm-credentials \ --from-literal=name=uipath-helm \ --from-literal=url=<helm-registry-url> \ --from-literal=type=helm \ --from-literal=enableOCI=true \ --from-literal=username=<registry-username> \ --from-literal=password=<registry-password> oc -n <openshift-gitops> label --overwrite secret helm-credentials argocd.argoproj.io/secret-type=repository - Automation Suite 2.2510.4 et versions ultérieures: la clé secrète vous appartient.
-
Automation Suite 2.2510.3 et versions antérieures uniquement. Ces versions écrivent dans la clé secrète
helm-credentialset recherchent l'espace de noms<openshift-gitops>;uipathadmina donc besoin d'accéder aux deux. Ignorez cette étape sur la version 2.2510.4 et ultérieure.- Enregistrez la configuration du rôle qui correspond à votre version d'Automation Suite sous forme de fichier YAML:
- Automation Suite 2.2510.3, étendu au secret que vous avez créé à l'étape précédente:
apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: argo-secret-role namespace: <openshift-gitops> rules: - apiGroups: [""] resources: ["secrets"] resourceNames: ["helm-credentials"] verbs: ["get", "update", "patch"]apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: argo-secret-role namespace: <openshift-gitops> rules: - apiGroups: [""] resources: ["secrets"] resourceNames: ["helm-credentials"] verbs: ["get", "update", "patch"] - Versions antérieures à 2.2510.3:
apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: argo-secret-role namespace: <openshift-gitops> rules: - apiGroups: ["rbac.authorization.k8s.io"] resources: ["roles", "rolebindings"] verbs: ["get", "watch", "list", "patch", "update", "create"] - apiGroups: [""] resources: ["secrets"] verbs: ["get", "watch", "list", "patch", "update", "create"]apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: argo-secret-role namespace: <openshift-gitops> rules: - apiGroups: ["rbac.authorization.k8s.io"] resources: ["roles", "rolebindings"] verbs: ["get", "watch", "list", "patch", "update", "create"] - apiGroups: [""] resources: ["secrets"] verbs: ["get", "watch", "list", "patch", "update", "create"]
- Automation Suite 2.2510.3, étendu au secret que vous avez créé à l'étape précédente:
- Appliquez la configuration en exécutant la commande suivante. Assurez-vous de remplacer l'espace réservé
<file_name.yaml>par le nom réel du fichier YAML :oc apply -f <file_name.yaml>oc apply -f <file_name.yaml> - Liez le rôle
argo-secret-roleet le rôlenamespace-readerau compte de serviceuipathadmin:oc project <openshift-gitops> oc create rolebinding secret-binding \ --role=argo-secret-role --serviceaccount=<uipath>:uipathadmin oc create rolebinding namespace-reader-rolebinding \ --clusterrole=namespace-reader-clusterrole --serviceaccount=<uipath>:uipathadminoc project <openshift-gitops> oc create rolebinding secret-binding \ --role=argo-secret-role --serviceaccount=<uipath>:uipathadmin oc create rolebinding namespace-reader-rolebinding \ --clusterrole=namespace-reader-clusterrole --serviceaccount=<uipath>:uipathadmin
- Enregistrez la configuration du rôle qui correspond à votre version d'Automation Suite sous forme de fichier YAML:
En plus de terminer les étapes de configuration de l’instance partagée ArgoCD pour l’installation d’Automation Suite, vous devez ajouter les paramètres suivants au fichier input.json :
"argocd": {
"project": "<uipath>"
},
"argocd": {
"project": "<uipath>"
},
Accéder à l'instance ArgoCD partagée
Pour accéder à ArgoCD, procédez comme suit :
- Obtenez l'URL de l'hôte en exécutant les commandes suivantes :
oc get routes openshift-gitops-server -n <openshift-gitops> -o jsonpath={.spec.host}; echooc get routes openshift-gitops-server -n <openshift-gitops> -o jsonpath={.spec.host}; echo - Pour vous connecter, utilisez
admincomme nom d'utilisateur et exécutez la commande suivante pour obtenir le mot de passe :oc -n <openshift-gitops> get secrets openshift-gitops-cluster \ -o "jsonpath={.data['admin\.password']}" | base64 -d; echooc -n <openshift-gitops> get secrets openshift-gitops-cluster \ -o "jsonpath={.data['admin\.password']}" | base64 -d; echo
Configuration du référentiel Helm privé et des certificats dans ArgoCD
Pour configurer le référentiel Helm dans ArgoCD, procédez comme suit :
- Connectez-vous à ArgoCD.
- Accédez à Paramètres > Référentiels > +CONNECTERPO.
- Utilisez VI HTTPS pour la méthode de connexion.
- Sélectionnez Helm comme type.
- Indiquez un nom.
- Choisissez uipath comme projet. uipath est le nom du projet ArgoCD que vous avez créé pour l’application UiPath®.
- Indiquez l'URL du référentiel, le nom d'utilisateur, le mot de passe et les informations de certificat.
Important :
Lors de l'ajout du certificat client TLS sur la page +CONNECTUREPO , la clé de certificat client TLS devient un champ obligatoire. Pour configurer le certificat de registre sans la clé de certificat client TLS, procédez comme suit :
- Accédez à Paramètres > Certificats de référentiel et hôtes connus > +ADD TLS CERTIFICATE.
- Ajoutez le nom du référentiel et le certificat TLS au format PEM.
- Cochez la case OCI .
- Select Connect.
- Assurez-vous que le statut de la connexion est Réussite.
Configuration d'ArgoCD pour plusieurs installations dans un seul cluster
Pour configurer ArgoCD pour plusieurs installations Automation Suite dans un seul cluster OpenShift, suivez ces étapes :
- Vérifiez si tous les services d'ArgoCD sont opérationnels. Vous pouvez exécuter la commande suivante pour surveiller tous les pods :
oc get pods -n <argocd>oc get pods -n <argocd> - Une fois tous les services opérationnels, vous pouvez utiliser la commande suivante de manière séquentielle pour corriger les autorisations d'ArgoCD. Cela permet à ArgoCD de gérer différents espaces de noms d'application dans lesquels Automation Suite est installé :
oc patch appprojects.argoproj.io default -n <argocd> --type='merge' -p '{"spec": {"sourceNamespaces": ["*"]}}' oc patch configmaps argocd-cmd-params-cm -n <argocd> --type='merge' -p '{"data": {"application.namespaces": "*"}}' oc rollout restart -n <argocd> deployment argocd-server oc rollout restart -n <argocd> statefulset argocd-application-controlleroc patch appprojects.argoproj.io default -n <argocd> --type='merge' -p '{"spec": {"sourceNamespaces": ["*"]}}' oc patch configmaps argocd-cmd-params-cm -n <argocd> --type='merge' -p '{"data": {"application.namespaces": "*"}}' oc rollout restart -n <argocd> deployment argocd-server oc rollout restart -n <argocd> statefulset argocd-application-controller
- Enregistrer une instance GitOps dédiée
- Accéder à l'instance ArgoCD dédiée
- Configuration du référentiel Helm privé et des certificats dans ArgoCD
- Configuration d'une instance GitOps partagée
- Accéder à l'instance ArgoCD partagée
- Configuration du référentiel Helm privé et des certificats dans ArgoCD
- Configuration d'ArgoCD pour plusieurs installations dans un seul cluster