4.7. Gestion des conditions de l'opérateur


En tant qu'administrateur de cluster, vous pouvez gérer les conditions de l'opérateur en utilisant Operator Lifecycle Manager (OLM).

4.7.1. Remplacer les conditions de l'opérateur

En tant qu'administrateur de grappe, vous pouvez vouloir ignorer une condition d'opérateur prise en charge signalée par un opérateur. Lorsqu'elles sont présentes, les conditions de l'opérateur dans le tableau Spec.Overrides remplacent les conditions dans le tableau Spec.Conditions, ce qui permet aux administrateurs de grappes de traiter les situations où un opérateur signale incorrectement un état à Operator Lifecycle Manager (OLM).

Note

Par défaut, le tableau Spec.Overrides n'est pas présent dans un objet OperatorCondition tant qu'il n'est pas ajouté par un administrateur de cluster. Le tableau Spec.Conditions n'est pas non plus présent tant qu'il n'est pas ajouté par un utilisateur ou qu'il ne résulte pas d'une logique personnalisée de l'opérateur.

Prenons l'exemple d'une version connue d'un opérateur qui communique toujours qu'il n'est pas évolutif. Dans ce cas, vous pourriez vouloir mettre à niveau l'opérateur malgré le fait qu'il communique qu'il n'est pas évolutif. Pour ce faire, il convient de modifier la condition de l'opérateur en ajoutant les conditions type et status au tableau Spec.Overrides de l'objet OperatorCondition.

Conditions préalables

  • Un opérateur avec un objet OperatorCondition, installé à l'aide d'OLM.

Procédure

  1. Modifiez l'objet OperatorCondition pour l'opérateur :

    oc edit operatorcondition <name> $ oc edit operatorcondition <name>
  2. Ajouter un tableau Spec.Overrides à l'objet :

    Exemple de dérogation à la condition de l'opérateur

    apiVersion: operators.coreos.com/v1
    kind: OperatorCondition
    metadata:
      name: my-operator
      namespace: operators
    spec:
      overrides:
      - type: Upgradeable 1
        status: "True"
        reason: "upgradeIsSafe"
        message: "This is a known issue with the Operator where it always reports that it cannot be upgraded."
      conditions:
      - type: Upgradeable
        status: "False"
        reason: "migration"
        message: "The operator is performing a migration."
        lastTransitionTime: "2020-08-24T23:15:55Z"

    1
    Permet à l'administrateur du cluster de modifier l'état de préparation de la mise à niveau à True.

4.7.2. Mise à jour de votre opérateur pour utiliser les conditions de l'opérateur

Operator Lifecycle Manager (OLM) crée automatiquement une ressource OperatorCondition pour chaque ressource ClusterServiceVersion qu'il réconcilie. Tous les comptes de service du CSV se voient accorder le RBAC nécessaire pour interagir avec le site OperatorCondition appartenant à l'opérateur.

Un auteur d'opérateur peut développer son opérateur pour qu'il utilise la bibliothèque operator-lib, de sorte qu'une fois l'opérateur déployé par OLM, il puisse définir ses propres conditions. Pour plus d'informations sur la définition des conditions d'un opérateur en tant qu'auteur d'un opérateur, voir la page Activation des conditions d'un opérateur.

4.7.2.1. Réglage des valeurs par défaut

Dans un souci de compatibilité ascendante, OLM considère l'absence d'une ressource OperatorCondition comme un refus de la condition. Par conséquent, un opérateur qui choisit d'utiliser les conditions de l'opérateur doit définir des conditions par défaut avant que la sonde de disponibilité du pod ne soit définie sur true. L'opérateur dispose ainsi d'un délai de grâce pour mettre à jour la condition dans l'état correct.

4.7.3. Ressources supplémentaires

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.