automation-suite
2024.10
true
Important :
Veuillez noter que ce contenu a été localisé en partie à l’aide de la traduction automatique. La localisation du contenu nouvellement publié peut prendre 1 à 2 semaines avant d’être disponible.
UiPath logo, featuring letters U and I in white

Guide d'installation d'Automation Suite sur EKS/AKS

Dernière mise à jour 10 févr. 2025

Octroi d'autorisations d'installation

Important :

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, procédez comme suit :

Étape 1 : création d'un compte de service

Pour créer un compte de service, procédez comme suit :

  1. Créez l'espace de noms <uipath> :
    kubectl create namespace <uipath>kubectl create namespace <uipath>
  2. Créez un compte de service nommé uipathadmin:
    kubectl create serviceaccount uipathadmin -n <uipath> kubectl create serviceaccount uipathadmin -n <uipath>
  3. Utilisez le rôle de cluster admin existant pour accorder des autorisations d'administrateur au compte de service uipathadmin dans 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 sa configuration correspondante de la table suivante :

Figure 1. Autorisations d'installation d'Automation Suite

Autorisations

Objectif

Configuration

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.
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]

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 de nœud, telles que la capacité disponible sur le nœud.

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"]

Obtenir les 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.

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, l'installation de certains composants est effectuée via le graphique Helm.

L'outil uipathctl exécute une tâche d'installation qui exécute l'installation du graphique Helm. La connexion à kube-api-server et l'installation du graphique Helm dans l'espace de noms <uipath> nécessitent un rôle de créateur de rôles au niveau de l'espace de noms.
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]
Remarque :

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> :
  1. L'outil de vérification des prérequis Automation Suite lit les pods et les services dans l'espace de noms <istio-system> pour vérifier qu'Istio est installé et configuré correctement.
  2. Automation Suite installe le plug-in WASM dans l'espace de noms <istio-system> pour configurer les règles de routage basées sur le chemin d'accès.
    L'installation nécessite la création d'un imagepullsecret qui sera utilisé dans le graphique Helm WASM pour extraire l'image du registre.
    De plus, un créateur de rôles est requis pour l'espace de noms <istio-system> . Ici, uipathctl exécute un pod qui utilise le graphique Helm pour installer le plug-in WASM pour le routage.
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 [lecture seule]
Remarque :

Accordez ces autorisations si vous avez déjà configuré Istio et installé le plug-in WASM.

Les opérations suivantes sont effectuées dans l'espace de noms <istio-system> :
  1. L'outil de vérification des prérequis Automation Suite lit les pods et les services dans l'espace de noms <istio-system> pour vérifier qu'Istio est installé et configuré correctement.
  2. L'autorisation get secrets est requise pour copier le fichier de certificat depuis l'espace de noms <istio-system> vers l'espace de noms <uipath> .
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>:uipathadminkubectl -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

Remarque : 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 .

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-2025 UiPath Tous droits réservés.