- 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
Installation de l'opérateur de clés secrètes externes
Installez External Secrets Operator pour intégrer des systèmes de gestion des secrets externes avec Automation Suite.
Cette étape est requise uniquement si vous souhaitez stocker des informations d'identification sensibles dans un système de gestion des clés secrètes externe.
Par défaut, Automation Suite inclut l’opérateur de clés secrètes externes.
Si vous choisissez de ne pas utiliser la version fournie, vous pouvez installer votre propre instance External Secrets Operator en suivant les étapes décrites dans cette section.
L'opérateur de clés secrètes externes (ESO) est un opérateur Kubernetes qui s'intègre aux systèmes de gestion des clés secrètes externes. Il lit les données des backends des clés secrètes externes et crée et synchronise automatiquement les valeurs en tant que clés secrètes Kubernetes.
Automation Suite prend en charge Azure Key Vault, HashiCorp Vault et AWS Secrets Manager en tant que fournisseurs de clés secrètes externes.
Ajout du référentiel Helm des clés secrètes externes
Vous devez ajouter le référentiel Helm de clés secrètes externes à votre installation Helm comme suit :
helm repo add external-secrets https://charts.external-secrets.io
helm repo add external-secrets https://charts.external-secrets.io
Après avoir ajouté le référentiel, vous devez mettre à jour vos référentiels Helm pour récupérer les dernières informations du graphique comme suit :
helm repo update
helm repo update
OpenShift : configuration de la contrainte du contexte de sécurité
Sur OpenShift, les pods External Secrets Operator nécessitent des autorisations pour s'exécuter en dehors de la plage d'UID restreinte par défaut. Vous devez accorder la contrainte de contexte de sécurité Anyuid aux comptes de service ESO avant d'installer l'opérateur.
Pour configurer le SCC, procédez comme suit :
-
Enregistrez ce qui suit dans un fichier nommé
eso-anyuid-role.yamlpour créer un rôle qui accorde l'accès à la contrainte du contexte de sécurité.kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: name: eso-anyuid-role namespace: external-secrets rules: - verbs: - use apiGroups: - security.openshift.io resources: - securitycontextconstraints resourceNames: - anyuidkind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: name: eso-anyuid-role namespace: external-secrets rules: - verbs: - use apiGroups: - security.openshift.io resources: - securitycontextconstraints resourceNames: - anyuid -
Créez le rôle en exécutant la commande suivante :
oc apply -f eso-anyuid-role.yamloc apply -f eso-anyuid-role.yaml -
Enregistrez ce qui suit dans un fichier nommé
eso-anyuid-rolebinding.yamlpour créer une LiaisonRôle qui lie le Rôle aux trois comptes de service ESO :kind: RoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: eso-anyuid-rolebinding namespace: external-secrets subjects: - kind: ServiceAccount name: external-secrets namespace: external-secrets - kind: ServiceAccount name: external-secrets-cert-controller namespace: external-secrets - kind: ServiceAccount name: external-secrets-webhook namespace: external-secrets roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: eso-anyuid-rolekind: RoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: eso-anyuid-rolebinding namespace: external-secrets subjects: - kind: ServiceAccount name: external-secrets namespace: external-secrets - kind: ServiceAccount name: external-secrets-cert-controller namespace: external-secrets - kind: ServiceAccount name: external-secrets-webhook namespace: external-secrets roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: eso-anyuid-role -
Créez l'objet LiaisonRôle en exécutant la commande suivante :
oc apply -f eso-anyuid-rolebinding.yamloc apply -f eso-anyuid-rolebinding.yaml
Vous devez créer l'espace de noms external-secrets et appliquer ces ressources avant d'installer l'opérateur. Si les pods ESO échouent déjà en raison de violations SCC, appliquez les paramètres Role et RoleBinding, puis supprimez les pods défaillants pour déclencher la recréation.
Installation de l'opérateur de clés secrètes externes
Vous devez déployer l'opérateur de clés secrètes externes à l'aide de la version v0.16.2 ou d'une version ultérieure. Automation Suite requiert la version External Secrets Operator v0.16.2 comme version minimale prise en charge, qui inclut les API ESO v1.
Créez d'abord l'espace de noms, puis installez l'opérateur :
oc create namespace external-secrets --dry-run=client -o yaml | oc apply -f -
helm install external-secrets \
external-secrets/external-secrets \
-n external-secrets \
--version 0.16.2
oc create namespace external-secrets --dry-run=client -o yaml | oc apply -f -
helm install external-secrets \
external-secrets/external-secrets \
-n external-secrets \
--version 0.16.2
L'opérateur de clés secrètes externes nécessite l'accès à l'espace de noms uipath pour fonctionner correctement.
OpenShift : Création de la stratégie réseau
Dans OpenShift, vous devez créer la StratégieRéseau suivante pour permettre au serveur d'API d'accéder au Webhook ESO :
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-apiserver-to-eso-webhook
namespace: external-secrets
spec:
podSelector:
matchLabels:
app.kubernetes.io/name: external-secrets-webhook
ingress:
- ports:
- port: 10250
protocol: TCP
policyTypes:
- Ingress
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-apiserver-to-eso-webhook
namespace: external-secrets
spec:
podSelector:
matchLabels:
app.kubernetes.io/name: external-secrets-webhook
ingress:
- ports:
- port: 10250
protocol: TCP
policyTypes:
- Ingress
Appliquez la StratégieRéseau en exécutant la commande suivante :
oc apply -f allow-apiserver-to-eso-webhook.yaml
oc apply -f allow-apiserver-to-eso-webhook.yaml
Mettez à jour spec.ingress[0].ports[0].port vers le port Webhook approprié si votre installation utilise un port non-par défaut.
Vérification de l'installation
Après l'installation, vous devez vérifier que les pods opérateurs s'exécutent comme suit :
kubectl get pods -n external-secrets
kubectl get pods -n external-secrets
Vous devriez voir une sortie similaire à l'exemple suivant :
NAME READY STATUS RESTARTS AGE
external-secrets-7d8c9b5f9f-abc12 1/1 Running 0 30s
external-secrets-cert-controller-6d8f7b9c-def34 1/1 Running 0 30s
external-secrets-webhook-8c9d7f6e5-ghi56 1/1 Running 0 30s
NAME READY STATUS RESTARTS AGE
external-secrets-7d8c9b5f9f-abc12 1/1 Running 0 30s
external-secrets-cert-controller-6d8f7b9c-def34 1/1 Running 0 30s
external-secrets-webhook-8c9d7f6e5-ghi56 1/1 Running 0 30s
Si tous les pods affichent un statut En cours d'exécution , l'installation est terminée.
Si n'importe quel pod affiche CreateContainerConfigError ou CrashLoopBackOff avec des erreurs liées à SCC dans les événements, vérifiez que le Rôle et la LiaisonRôle de l'étape de configuration SCC ont été appliqués correctement :
oc get role eso-anyuid-role -n external-secrets
oc get rolebinding eso-anyuid-rolebinding -n external-secrets
oc get events -n external-secrets --sort-by='.lastTimestamp' | grep -i scc
oc get role eso-anyuid-role -n external-secrets
oc get rolebinding eso-anyuid-rolebinding -n external-secrets
oc get events -n external-secrets --sort-by='.lastTimestamp' | grep -i scc