4.11. Catalogage de la source d'ordonnancement des pods

Lorsqu'une source de catalogue Operator Lifecycle Manager (OLM) de type grpc définit une spec.image, l'opérateur de catalogue crée un pod qui sert le contenu de l'image définie. Par défaut, ce pod définit les éléments suivants dans sa spécification :

  • Seul le sélecteur de nœuds kubernetes.io/os=linux
  • Pas de nom de classe de priorité
  • Aucune tolérance

En tant qu'administrateur, vous pouvez remplacer ces valeurs en modifiant les champs de la section facultative spec.grpcPodConfig de l'objet CatalogSource.

4.11.1. Remplacer le sélecteur de nœuds pour les pods source du catalogue

Prequisites

  • CatalogSource objet de type source grpc avec spec.image défini

Procédure

  • Modifiez l'objet CatalogSource et ajoutez ou modifiez la section spec.grpcPodConfig pour inclure ce qui suit :

      grpcPodConfig:
        nodeSelector:
          custom_label: <label>

    <label> est l'étiquette du sélecteur de nœud que vous souhaitez que les pods source du catalogue utilisent pour l'ordonnancement.

4.11.2. Remplacer le nom de la classe de priorité pour les pods source du catalogue

Prequisites

  • CatalogSource objet de type source grpc avec spec.image défini

Procédure

  • Modifiez l'objet CatalogSource et ajoutez ou modifiez la section spec.grpcPodConfig pour inclure ce qui suit :

      grpcPodConfig:
        priorityClassName: <priority_class>

    <priority_class> est l'un des suivants :

    • Une des classes de priorité par défaut fournies par Kubernetes : system-cluster-critical ou system-node-critical
    • Un ensemble vide ("") pour attribuer la priorité par défaut
    • Une classe de priorité préexistante et définie sur mesure
Note

Auparavant, le seul paramètre d'ordonnancement des pods qui pouvait être remplacé était priorityClassName. Pour ce faire, il suffisait d'ajouter l'annotation operatorframework.io/priorityclass à l'objet CatalogSource. Par exemple :

apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
metadata:
  name: example-catalog
  namespace: namespace: openshift-marketplace
  annotations:
    operatorframework.io/priorityclass: system-cluster-critical

Si un objet CatalogSource définit à la fois l'annotation et spec.grpcPodConfig.priorityClassName, l'annotation est prioritaire sur le paramètre de configuration.

Ressources supplémentaires

4.11.3. Dépassement des tolérances pour les pods source du catalogue

Prequisites

  • CatalogSource objet de type source grpc avec spec.image défini

Procédure

  • Modifiez l'objet CatalogSource et ajoutez ou modifiez la section spec.grpcPodConfig pour inclure ce qui suit :

      grpcPodConfig:
        tolerations:
          - key: "<key_name>"
            operator: "<operator_type>"
            value: "<value>"
            effect: "<effect>"

Ressources supplémentaires