UiPath Documentation
automation-suite
2.2510
true
Guide d'installation d'Automation Suite sur Linux
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.

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 Pending et ses événements contiennent Insufficient cpu ou Insufficient 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 ResourceQuota ou LimitRange configuré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 Pending avec Insufficient cpu ou Insufficient 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:

ClasseOpérationsRequêtes par défaut (processeur/mémoire)Limites par défaut (processeur/mémoire)
diagnosticVérifications de l'état et sondes de validation en lecture seule50m / 64Mi250m / 256Mi
operationalVérifications des prérequis, packs d'assistance, opérations Helm et migration des données d'identité1m / 1k2 / 2Gi
workloadMigrations du magasin d'objets, du PVC et de MongoDB, et le serveur de fichier de mise à niveau250m / 512Mi2 / 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 check
  • uipathctl health test
  • uipathctl health diagnose
  • uipathctl config add-host-admin
  • uipathctl config enable-basic-auth
  • uipathctl service aicenter sync-skills
  • uipathctl service aicenter sync-skill-status
  • uipathctl 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é:

  1. La valeur par défaut intégrée.
  2. La valeur workload_resources dans input.json ou la configuration de cluster appliquée.
  3. L'option de ligne de commande --probe-cpu ou --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.

  • Description
  • Solution
  • Configuration des exigences de ressources dans input.json
  • Remplacer les exigences de ressources pour une seule commande

Cette page vous a-t-elle été utile ?

Connecter

Besoin d'aide ? Assistance

Vous souhaitez apprendre ? UiPath Academy

Vous avez des questions ? UiPath Forum

Rester à jour