- 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
Configurer les requêtes et les limites de ressources pour les charges de travail créées par uipathctl
Comment ajuster les requêtes et les limites de processeur et de mémoire lorsque les charges de travail créées par uipathctl ne parviennent pas à planifier ou à se terminer.
Description
Lorsque vous exécutez une commande uipathctl, une charge de travail Kubernetes créée par la commande peut échouer en raison de ses exigences de processeur ou de mémoire.
L'un des incidents suivants peut se produire:
- Le pod reste à l'état
Pendinget ses événements contiennentInsufficient cpuouInsufficient memory. - Le pod se termine avec le statut
OOMKilled. - La charge de travail est limitée par le processeur ou ne se termine pas avant l'expiration de la commande.
- Une stratégie d'autorisation rejette le pod, car ses requêtes ou ses limites de ressources ne sont pas conformes à une configuration
ResourceQuotaouLimitRangeconfigurée dans l'espace de noms.
Le problème peut affecter les charges de travail créées par uipathctl et utilisées pour les vérifications des prérequis, les vérifications de l'état, la génération de packs d'assistance, les migrations, les opérations Helm et les mises à niveau.
Solution
Tout d'abord, identifiez le pod affecté et inspectez ses événements:
kubectl get pods -A
kubectl describe pod <pod-name> -n <namespace>
kubectl get pods -A
kubectl describe pod <pod-name> -n <namespace>
En fonction de la condition signalée:
- Pour
OOMKilled, augmentez la limite de mémoire. Augmentez également la requête de mémoire si le pod doit être planifié sur un nœud avec plus de mémoire disponible. - Pour un pod
PendingavecInsufficient cpuouInsufficient memory, réduisez la requête uniquement si la charge de travail peut s'exécuter en toute sécurité avec une capacité moins garantie. Sinon, ajoutez de la capacité au cluster. - Pour les erreurs de quota ou de plage limite, spécifiez les requêtes et les limites qui sont conformes à la politique configurée dans l'espace de noms cible.
- Pour les charges de travail lentes ou entraînées par une limitation du processeur, augmentez la limite du processeur.
Vous pouvez modifier les exigences de ressources dans input.json ou les remplacer pour une seule commande.
Configuration des exigences de ressources dans input.json
uipathctl regroupe ses charges de travail dans les classes de ressources suivantes:
| Classe | Opérations | Requêtes par défaut (processeur/mémoire) | Limites par défaut (processeur/mémoire) |
|---|---|---|---|
diagnostic | Vérifications de l'état et sondes de validation en lecture seule | 50m / 64Mi | 250m / 256Mi |
operational | Vérifications des prérequis, packs d'assistance, opérations Helm et migration des données d'identité | 1m / 1k | 2 / 2Gi |
workload | Migrations du magasin d'objets, du PVC et de MongoDB, et le serveur de fichier de mise à niveau | 250m / 512Mi | 2 / 2Gi |
Pour modifier les valeurs par défaut des commandes qui utilisent la configuration d'Automation Suite, ajoutez workload_resources à input.json. Par exemple, afin d’augmenter les ressources disponibles pour les charges de travail de migration lourdes en données, utilisez la configuration suivante:
{
"workload_resources": {
"workload": {
"requests": {
"cpu": "500m",
"memory": "1Gi"
},
"limits": {
"cpu": "2",
"memory": "4Gi"
}
}
}
}
{
"workload_resources": {
"workload": {
"requests": {
"cpu": "500m",
"memory": "1Gi"
},
"limits": {
"cpu": "2",
"memory": "4Gi"
}
}
}
}
Vous pouvez configurer les classes diagnostic, operational et workload indépendamment. Vous pouvez également spécifier uniquement les valeurs que vous souhaitez modifier. Toute valeur de processeur ou de mémoire omise conserve sa valeur par défaut.
Les requêtes ne peuvent pas dépasser leurs limites correspondantes. Utilisez des quantités de ressources Kubernetes standard, telles que 500m ou 1 pour le processeur et 256Mi ou 1Gi pour la mémoire.
Remplacer les exigences de ressources pour une seule commande
Pour les commandes qui exposent les options --probe-cpu et --probe-memory, vous pouvez remplacer les exigences de ressources du pod d'aide créé par cette commande. Par exemple:
uipathctl health check --probe-cpu 500m --probe-memory 512Mi
uipathctl health check --probe-cpu 500m --probe-memory 512Mi
Chaque option définit à la fois la requête et la limite pour la ressource spécifiée. Si vous spécifiez une seule option, l'autre ressource conserve sa valeur effective.
Les options sont disponibles pour les commandes suivantes:
uipathctl health checkuipathctl health testuipathctl health diagnoseuipathctl config add-host-adminuipathctl config enable-basic-authuipathctl service aicenter sync-skillsuipathctl service aicenter sync-skill-statusuipathctl service orchestrator notifications-migration start
Lorsque les deux méthodes de configuration s'appliquent, uipathctl résout les valeurs dans l'ordre suivant, où la valeur la plus récente a priorité:
- La valeur par défaut intégrée.
- La valeur
workload_resourcesdansinput.jsonou la configuration de cluster appliquée. - L'option de ligne de commande
--probe-cpuou--probe-memory.
Après avoir mis à jour les exigences de ressources, exécutez à nouveau la commande affectée et confirmez que la charge de travail créée par uipathctl démarre avec succès.
Définissez les plus petites requêtes et les limites qui permettent à la charge de travail de s'exécuter. Des requêtes trop élevées peuvent empêcher la planification, tandis que des limites trop faibles peuvent entraîner un étranglement ou un arrêt.