- 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
- Installation et configuration du service Mesh
- Installer et configurer l'outil GitOps
- Installation de l'opérateur de clés secrètes externes dans Kubernetes
- 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
- Échec de l’enregistrement d’AI Center après la mise à niveau vers la version 2023.10 ou une version ultérieure
- Volumes Insights créés dans deux zones différentes après la migration
- La mise à niveau échoue en raison du remplacement des tailles de PVC Insights
- Les composants de sauvegarde Velero restent après la mise à niveau sur AKS depuis Automation Suite 2024.10.x
- La configuration de sauvegarde ne fonctionne pas en raison d’un échec de connexion à Azure Government
- Pods dans l'espace de noms uipath bloqués lors de l'activation des rejets de nœuds personnalisés
- Impossible de lancer Automation Hub et Apps avec la configuration proxy
- La sauvegarde de Velero échoue avec l'erreur FailedValidation
- Résolution des problèmes de clés secrètes externes
- 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
- Erreurs de validation du certificat TLS
- Fluentd n’exporte pas les journaux dans les environnements IPv6
- Studio Desktop ne peut pas charger les connecteurs et activités Integration Service
- 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
Octroi d'autorisations d'installation
Accordez les autorisations nécessaires à l'installation d'Automation Suite sur EKS/AKS.
Les autorisations d'installation ne sont pertinentes que si vous ne pouvez pas fournir de privilèges d'administrateur au programme d'installation d'Automation Suite. Si vous pouvez fournir les privilèges d'administrateur requis au programme d'installation, vous n'avez pas besoin de suivre les instructions de cette section.
Automation Suite repose sur des autorisations spécifiques lors de l'installation. Ces autorisations sont attribuées au compte de service, qui joue un rôle essentiel dans l'installation des différents composants Automation Suite.
Pour configurer toutes les autorisations requises pour l'installation, effectuez les étapes décrites dans cette section.
Étape 1 : création d'un compte de service
Pour créer un compte de service, procédez comme suit :
- Créez l'espace de noms
<uipath>:kubectl create namespace <uipath>kubectl create namespace <uipath> - Créez un compte de service nommé
uipathadmin:kubectl create serviceaccount uipathadmin -n <uipath>kubectl create serviceaccount uipathadmin -n <uipath> - Utilisez le rôle de cluster
adminexistant pour accorder des autorisations d'administrateur au compte de serviceuipathadmindans l'espace de noms<uipath>:kubectl create rolebinding uipathadmin --clusterrole=admin --serviceaccount=<uipath>:uipathadmin -n <uipath>kubectl create rolebinding uipathadmin --clusterrole=admin --serviceaccount=<uipath>:uipathadmin -n <uipath>
Étape 2 : création des rôles requis
Le compte de service uipathadmin requiert certaines autorisations lors de l'installation d'Automation Suite. Vous fournissez les autorisations nécessaires en créant des rôles. Pour créer chaque rôle, enregistrez sa configuration en tant que fichier YAML et exécutez la commande suivante, en remplaçant l'espace réservé <file_name.yaml> par le nom réel du fichier YAML :
kubectl apply -f <file_name.yaml>
kubectl apply -f <file_name.yaml>
Vous pouvez créer le fichier YAML pour chaque rôle en copiant la configuration à partir des sections suivantes.
Interroger l'espace de noms [lecture seule]
Requis pour vérifier si les espaces de noms, tels que l'espace de noms <istio-system> , sont disponibles ou non.
L'exemple suivant montre la configuration de namespace-reader-clusterrole 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"]
Répertorier les nœuds et les CRD [lecture seule]
La vérification des prérequis et l’outil de vérification de l’état de diagnostic nécessitent cette autorisation pour effectuer des validations de nœud, comme la capacité disponible sur le nœud.
L'exemple suivant montre la configuration de list-nodes-and-crd-clusterrole 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 ces autorisations ne sont pas disponibles dans votre cluster, Automation Suite Robots ne peut pas déterminer automatiquement le nombre maximal de tâches simultanées. Pour définir explicitement la limite, configurez concurrency_limit dans la section asrobots de input.json. Pour plus de détails, consultez la section Configuration spécifique aux Automation Suite Robots.
Obtenir des classes de stockage [lecture seule]
L'outil de vérification des prérequis et de vérification de l'intégrité de diagnostic nécessite cette autorisation pour effectuer les validations.
L'exemple suivant montre la configuration de storage-class-reader ClusterRole:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: storage-class-reader
rules:
- apiGroups: ["storage.k8s.io"]
resources: ["storageclasses"]
verbs: ["get"]
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: storage-class-reader
rules:
- apiGroups: ["storage.k8s.io"]
resources: ["storageclasses"]
verbs: ["get"]
uipath rôles [écriture]
La majeure partie de l'installation d'Automation Suite est effectuée via ArgoCD ; cependant, certains composants sont installés via des graphiques Helm.
L'outil uipathctl exécute une tâche d'installation qui exécute l'installation du graphique Helm. La connexion au kube-api-server et l'installation du graphique Helm dans l'espace de noms <uipath> nécessite un rôle de créateur de rôle au niveau de l'espace de noms.
L’exemple suivant vous présente la configuration du rôle 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: ["*"]
- apiGroups: ["*"]
resources: ["secrets", "configmaps"]
verbs: ["get", "watch", "list", "patch", "update", "create"]
- apiGroups: ["security.istio.io", "networking.istio.io"]
resources: ["*"]
verbs: ["*"]
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: ["*"]
- apiGroups: ["*"]
resources: ["secrets", "configmaps"]
verbs: ["get", "watch", "list", "patch", "update", "create"]
- apiGroups: ["security.istio.io", "networking.istio.io"]
resources: ["*"]
verbs: ["*"]
<istio-system> rôles [écriture]
Fournissez ces autorisations uniquement si vous souhaitez que le programme d'installation configure le plug-in WASM. Sinon, ne fournissez pas les autorisations.
Les opérations suivantes sont effectuées dans l'espace de noms <istio-system> :
- L'outil de vérification des prérequis Automation Suite lit les pods et les services pour vérifier qu'Istio est installé et configuré correctement.
- Automation Suite installe le plug-in WASM pour configurer les règles de routage basées sur les chemins. Cela nécessite la création d’une clé secrète d’extraction d’image et d’autorisations de créateur de rôles au niveau de l’espace de noms.
L’exemple suivant vous présente la configuration du rôle 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> rôles [lecture seule]
Fournissez ces autorisations si Istio et le plug-in WASM ont déjà été configurés.
Les opérations suivantes sont effectuées dans l'espace de noms <istio-system> :
- Lisez les pods et les services pour valider l'installation d'Istio.
- L'autorisation
get secretsest requise pour copier le fichier de certificat depuis l'espace de noms<istio-system>vers l'espace de noms<uipath>.
L’exemple suivant vous présente la configuration du rôle 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"]
Étape 3 : Liaison des rôles
Vous devez lier les rôles que vous avez créés à l'étape précédente au compte de service uipathadmin , en exécutant les commandes suivantes :
kubectl -n <istio-system> create rolebinding istio-system-automationsuite-rolebinding \
--role=istio-system-automationsuite-role --serviceaccount=<uipath>:uipathadmin
kubectl -n <istio-system> create rolebinding namespace-reader-rolebinding \
--clusterrole=namespace-reader-clusterrole --serviceaccount=<uipath>:uipathadmin
kubectl -n <uipath> create clusterrolebinding list-nodes-and-crd-rolebinding \
--clusterrole=list-nodes-and-crd-clusterrole --serviceaccount=<uipath>:uipathadmin
kubectl -n <uipath> create rolebinding uipath-automationsuite-rolebinding \
--role=uipath-automationsuite-role --serviceaccount=<uipath>:uipathadmin
kubectl -n <uipath> create clusterrolebinding storage-class-reader-binding \
--clusterrole=storage-class-reader --serviceaccount=<uipath>:uipathadmin
# This step is needed only if you want installer to configure the WASM Plugin. Otherwise skip it.
kubectl -n <istio-system> create rolebinding uipadmin-istio-system \
--clusterrole=admin --serviceaccount=<uipath>:uipathadmin
kubectl -n <istio-system> create rolebinding istio-system-automationsuite-rolebinding \
--role=istio-system-automationsuite-role --serviceaccount=<uipath>:uipathadmin
kubectl -n <istio-system> create rolebinding namespace-reader-rolebinding \
--clusterrole=namespace-reader-clusterrole --serviceaccount=<uipath>:uipathadmin
kubectl -n <uipath> create clusterrolebinding list-nodes-and-crd-rolebinding \
--clusterrole=list-nodes-and-crd-clusterrole --serviceaccount=<uipath>:uipathadmin
kubectl -n <uipath> create rolebinding uipath-automationsuite-rolebinding \
--role=uipath-automationsuite-role --serviceaccount=<uipath>:uipathadmin
kubectl -n <uipath> create clusterrolebinding storage-class-reader-binding \
--clusterrole=storage-class-reader --serviceaccount=<uipath>:uipathadmin
# This step is needed only if you want installer to configure the WASM Plugin. Otherwise skip it.
kubectl -n <istio-system> create rolebinding uipadmin-istio-system \
--clusterrole=admin --serviceaccount=<uipath>:uipathadmin
Étape 4 : génération du fichier kubeconfig
Après avoir attribué toutes les autorisations au compte de service, vous devez créer un fichier kubeconfig à transmettre à l'outil uipathctl pour l'installation.
Génération du fichier kubeconfig sur Linux ou Mac
Pour générer le fichier kubeconfig sur Linux ou Mac, exécutez les commandes suivantes :
# Create a token
token="$(kubectl -n <uipath> create token uipathadmin --duration=8760h)"
# copy current kubeconfig to a temp file
mkdir temp
cp ~/.kube/config temp/kubeconfig.tmp
# Find the user name and unset it in the temp file
kube_user_name="$(kubectl config view -o jsonpath="{.users[0].name}")"
kubectl -n <uipath> config unset users."${kube_user_name}" --kubeconfig="temp/kubeconfig.tmp"
# Update the credentials in the temp file
kubectl -n <uipath> --kubeconfig="temp/kubeconfig.tmp" config set-credentials uipathadmin --token="$token"
# Set the context and the namespace
kubectl --kubeconfig="temp/kubeconfig.tmp" config set-context --current --namespace=<uipath> --user=uipathadmin
mv temp/kubeconfig.tmp temp/uipathadminkubeconfig
# Create a token
token="$(kubectl -n <uipath> create token uipathadmin --duration=8760h)"
# copy current kubeconfig to a temp file
mkdir temp
cp ~/.kube/config temp/kubeconfig.tmp
# Find the user name and unset it in the temp file
kube_user_name="$(kubectl config view -o jsonpath="{.users[0].name}")"
kubectl -n <uipath> config unset users."${kube_user_name}" --kubeconfig="temp/kubeconfig.tmp"
# Update the credentials in the temp file
kubectl -n <uipath> --kubeconfig="temp/kubeconfig.tmp" config set-credentials uipathadmin --token="$token"
# Set the context and the namespace
kubectl --kubeconfig="temp/kubeconfig.tmp" config set-context --current --namespace=<uipath> --user=uipathadmin
mv temp/kubeconfig.tmp temp/uipathadminkubeconfig
Si l'opération a réussi, vous devriez voir un fichier kubeconfig nommé uipathadminkubeconfig.
Génération du fichier kubeconfig sur Windows
Vous devez effectuer cette étape à l'aide de Windows Powershell.
Pour générer le fichier kubeconfig sur Windows, exécutez les commandes suivantes :
# Create a token
$token = kubectl -n <uipath> create token uipathadmin --duration=8760h
# copy current kubeconfig to a temp file
mkdir temp
cp ~/.kube/config temp/kubeconfig.tmp
# Find the user name and unset it in the temp file
$kube_user_name = kubectl config view -o jsonpath="{.users[0].name}"
kubectl -n <uipath> config unset users."${kube_user_name}" --kubeconfig="temp/kubeconfig.tmp"
# Update the credentials in the temp file
kubectl -n <uipath> --kubeconfig="temp/kubeconfig.tmp" config set-credentials uipathadmin --token="$token"
# Set the context and the namespace
kubectl --kubeconfig="temp/kubeconfig.tmp" config set-context --current --namespace=<uipath> --user=uipathadmin
mv temp/kubeconfig.tmp temp/uipathadminkubeconfig
# Create a token
$token = kubectl -n <uipath> create token uipathadmin --duration=8760h
# copy current kubeconfig to a temp file
mkdir temp
cp ~/.kube/config temp/kubeconfig.tmp
# Find the user name and unset it in the temp file
$kube_user_name = kubectl config view -o jsonpath="{.users[0].name}"
kubectl -n <uipath> config unset users."${kube_user_name}" --kubeconfig="temp/kubeconfig.tmp"
# Update the credentials in the temp file
kubectl -n <uipath> --kubeconfig="temp/kubeconfig.tmp" config set-credentials uipathadmin --token="$token"
# Set the context and the namespace
kubectl --kubeconfig="temp/kubeconfig.tmp" config set-context --current --namespace=<uipath> --user=uipathadmin
mv temp/kubeconfig.tmp temp/uipathadminkubeconfig
Si l'opération a réussi, vous devriez voir un fichier kubeconfig nommé uipathadminkubeconfig dans le dossier temp .
- Étape 1 : création d'un compte de service
- Étape 2 : création des rôles requis
- Interroger l'espace de noms [lecture seule]
- Répertorier les nœuds et les CRD [lecture seule]
- Obtenir des classes de stockage [lecture seule]
uipathrôles [écriture]<istio-system>rôles [écriture]<istio-system>rôles [lecture seule]- Étape 3 : Liaison des rôles
- Étape 4 : génération du fichier kubeconfig
- Génération du fichier kubeconfig sur Linux ou Mac
- Génération du fichier kubeconfig sur Windows