orchestrator, ingest et worker acceptent chacun les paramètres nodeSelector, tolerations, affinity et podAnnotations.
Exécution sur amd64
Les images FineParser sont compilées uniquement pourlinux/amd64. Si votre cluster peut également exécuter des nœuds arm64, forcez l’architecture de chaque composant :
fineparser-values.yaml
Attribuer des nœuds dédiés aux unités de traitement
Un pool de grande taille peut saturer tous les nœuds sur lesquels il est autorisé à s’exécuter. Placez les unités de traitement sur un groupe de nœuds dédié et doté d’un taint, et exécutez l’orchestrateur et le service d’ingestion sur d’autres nœuds. Pour des nœuds portant le label et le taintfineparser.abbyy.com/pool=worker :
fineparser-values.yaml
Pré-téléchargement de l’image de l’unité de traitement
Lorsque de nombreuses unités de traitement démarrent en même temps sur un nouveau nœud, leurs téléchargements d’image peuvent atteindre la limite de débit de téléchargement du kubelet et ralentir ce pic de démarrage. Lorsqueworker.prepull est activé, les unités de traitement attendent que le nœud ait téléchargé l’image une première fois.
fineparser-values.yaml
NoSchedule dont la clé est taintKey. Un DaemonSet récupère l’image sur chaque nouveau nœud, puis supprime le taint.
- Karpenter : ajoutez le taint aux
startupTaintsdu NodePool. - Cluster Autoscaler : créez les nœuds du groupe de nœuds avec ce taint. Le préfixe de la clé par défaut signale à Cluster Autoscaler que le taint est temporaire.
images.worker.pullPolicy doit être défini sur IfNotPresent, et worker.tolerations ne doit pas tolérer le taint. L’activation de cette fonctionnalité crée un ClusterRole autorisé à lire et à modifier (patch) les Nodes.
