4.3. Mise en place des contraintes d'étalement de la topologie des pods pour Thanos Ruler


Pour la surveillance définie par l'utilisateur, vous pouvez définir des contraintes d'étalement de la topologie des pods pour Thanos Ruler afin d'affiner la manière dont les répliques de pods sont planifiées sur les nœuds des différentes zones. Cela permet de s'assurer que les pods Thanos Ruler sont hautement disponibles et s'exécutent plus efficacement, car les charges de travail sont réparties sur des nœuds situés dans différents centres de données ou zones d'infrastructure hiérarchique.

Vous configurez les contraintes d'étalement de la topologie des pods pour Thanos Ruler dans la carte de configuration user-workload-monitoring-config.

Conditions préalables

  • Vous avez installé l'OpenShift CLI (oc).
  • Un administrateur de cluster a activé la surveillance des projets définis par l'utilisateur.
  • Vous avez accès au cluster en tant qu'utilisateur ayant le rôle cluster-admin, ou en tant qu'utilisateur ayant le rôle user-workload-monitoring-config-edit dans le projet openshift-user-workload-monitoring.
  • Vous avez créé l'objet user-workload-monitoring-config ConfigMap .

Procédure

  1. Modifiez la carte de configuration user-workload-monitoring-config dans l'espace de noms openshift-user-workload-monitoring:

    $ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
  2. Ajoutez des valeurs pour les paramètres suivants sous data/config.yaml/thanosRuler pour configurer les contraintes d'étalement de la topologie des pods :

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: user-workload-monitoring-config
      namespace: openshift-user-workload-monitoring
    data:
      config.yaml: |
        thanosRuler:
          topologySpreadConstraints:
          - maxSkew: 1 1
            topologyKey: monitoring 2
            whenUnsatisfiable: ScheduleAnyway 3
            labelSelector:
              matchLabels: 4
                app.kubernetes.io/name: thanos-ruler
    1
    Indiquez une valeur numérique pour maxSkew, qui définit le degré d'inégalité de la répartition des cosses. Ce champ est obligatoire et la valeur doit être supérieure à zéro. La valeur spécifiée a un effet différent selon la valeur spécifiée pour whenUnsatisfiable.
    2
    Spécifiez une clé d'étiquettes de nœuds pour topologyKey. Ce champ est obligatoire. Les nœuds qui ont une étiquette avec cette clé et des valeurs identiques sont considérés comme étant dans la même topologie. Le planificateur essaiera de placer un nombre équilibré de pods dans chaque domaine.
    3
    Indiquez une valeur pour whenUnsatisfiable. Ce champ est obligatoire. Les options disponibles sont DoNotSchedule et ScheduleAnyway. Indiquez DoNotSchedule si vous souhaitez que la valeur maxSkew définisse la différence maximale autorisée entre le nombre de modules correspondants dans la topologie cible et le minimum global. Indiquez ScheduleAnyway si vous souhaitez que le planificateur planifie toujours le module, mais qu'il accorde une priorité plus élevée aux nœuds susceptibles de réduire l'asymétrie.
    4
    Spécifiez une valeur pour matchLabels. Cette valeur est utilisée pour identifier l'ensemble des pods correspondants auxquels appliquer les contraintes.
  3. Enregistrez le fichier pour appliquer automatiquement les modifications.

    Avertissement

    Lorsque vous enregistrez les modifications apportées à la carte de configuration user-workload-monitoring-config, les pods et autres ressources du projet openshift-user-workload-monitoring peuvent être redéployés. Les processus de surveillance en cours dans ce projet peuvent également redémarrer.

Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.