Rechercher

10.6. A propos de l'installation de l'opérateur avec OperatorHub

download PDF

OperatorHub est une interface utilisateur permettant de découvrir les opérateurs ; il fonctionne en conjonction avec Operator Lifecycle Manager (OLM), qui installe et gère les opérateurs sur un cluster.

En tant qu'administrateur de cluster, vous pouvez installer un Operator depuis OperatorHub en utilisant la console web ou le CLI d'OpenShift Container Platform. L'abonnement d'un opérateur à un ou plusieurs espaces de noms met l'opérateur à la disposition des développeurs de votre cluster.

Lors de l'installation, vous devez déterminer les paramètres initiaux suivants pour l'opérateur :

Mode d'installation
Choisissez All namespaces on the cluster (default) pour que l'opérateur soit installé sur tous les espaces de noms ou choisissez des espaces de noms individuels, le cas échéant, pour n'installer l'opérateur que sur les espaces de noms sélectionnés. Cet exemple choisit All namespaces…​ pour mettre l'opérateur à la disposition de tous les utilisateurs et de tous les projets.
Canal de mise à jour
Si un opérateur est disponible sur plusieurs canaux, vous pouvez choisir le canal auquel vous souhaitez vous abonner. Par exemple, pour déployer à partir du canal stable, s'il est disponible, sélectionnez-le dans la liste.
Stratégie d'approbation

Vous pouvez choisir des mises à jour automatiques ou manuelles.

Si vous choisissez les mises à jour automatiques pour un opérateur installé, lorsqu'une nouvelle version de cet opérateur est disponible dans le canal sélectionné, Operator Lifecycle Manager (OLM) met automatiquement à jour l'instance en cours d'exécution de votre opérateur sans intervention humaine.

Si vous sélectionnez les mises à jour manuelles, lorsqu'une version plus récente d'un opérateur est disponible, OLM crée une demande de mise à jour. En tant qu'administrateur de cluster, vous devez ensuite approuver manuellement cette demande de mise à jour pour que l'opérateur soit mis à jour avec la nouvelle version.

10.6.1. Installation à partir d'OperatorHub en utilisant la console web

Vous pouvez installer et vous abonner à un opérateur à partir d'OperatorHub en utilisant la console web d'OpenShift Container Platform.

Conditions préalables

  • Accès à un cluster OpenShift Container Platform à l'aide d'un compte disposant des autorisations cluster-admin.

Procédure

  1. Naviguez dans la console web jusqu'à la page Operators OperatorHub.
  2. Faites défiler ou tapez un mot-clé dans la case Filter by keyword pour trouver l'opérateur que vous souhaitez. Par exemple, tapez jaeger pour trouver l'opérateur Jaeger.

    Vous pouvez également filtrer les options par Infrastructure Features. Par exemple, sélectionnez Disconnected si vous voulez voir les opérateurs qui travaillent dans des environnements déconnectés, également connus sous le nom d'environnements réseau restreints.

  3. Sélectionnez l'opérateur pour afficher des informations supplémentaires.

    Note

    Le choix d'un Opérateur communautaire vous avertit que Red Hat ne certifie pas les Opérateurs communautaires ; vous devez accuser réception de cet avertissement avant de continuer.

  4. Lisez les informations sur l'opérateur et cliquez sur Install.
  5. Sur la page Install Operator:

    1. Sélectionnez l'un des éléments suivants :

      • All namespaces on the cluster (default) installe l'opérateur dans l'espace de noms par défaut openshift-operators pour qu'il soit surveillé et mis à la disposition de tous les espaces de noms du cluster. Cette option n'est pas toujours disponible.
      • A specific namespace on the cluster vous permet de choisir un seul espace de noms spécifique dans lequel installer l'opérateur. L'opérateur ne surveillera et ne pourra être utilisé que dans ce seul espace de noms.
    2. Sélectionnez une adresse Update Channel (si plusieurs sont disponibles).
    3. Sélectionnez la stratégie d'approbation Automatic ou Manual, comme décrit précédemment.
  6. Cliquez sur Install pour rendre l'opérateur disponible pour les espaces de noms sélectionnés sur ce cluster OpenShift Container Platform.

    1. Si vous avez sélectionné une stratégie d'approbation Manual, le statut de mise à niveau de l'abonnement reste Upgrading jusqu'à ce que vous examiniez et approuviez le plan d'installation.

      Après approbation sur la page Install Plan, le statut de la mise à niveau de l'abonnement passe à Up to date.

    2. Si vous avez sélectionné une stratégie d'approbation Automatic, le statut du surclassement devrait être résolu à Up to date sans intervention.
  7. Une fois que l'état de mise à niveau de l'abonnement est Up to date, sélectionnez Operators Installed Operators pour vérifier que la version du service de cluster (CSV) de l'opérateur installé s'affiche finalement. L'adresse Status devrait finalement se résoudre en InstallSucceeded dans l'espace de noms concerné.

    Note

    Pour le mode d'installation All namespaces…​, le statut se résout en InstallSucceeded dans l'espace de noms openshift-operators, mais le statut est Copied si vous vérifiez dans d'autres espaces de noms.

    Si ce n'est pas le cas :

    1. Vérifiez les journaux de tous les pods du projet openshift-operators (ou d'un autre espace de noms pertinent si le mode d'installation A specific namespace…​ a été sélectionné) sur la page Workloads Pods qui signalent des problèmes afin de les résoudre.

10.6.2. Installation à partir d'OperatorHub en utilisant le CLI

Au lieu d'utiliser la console web de OpenShift Container Platform, vous pouvez installer un Operator depuis OperatorHub en utilisant le CLI. Utilisez la commande oc pour créer ou mettre à jour un objet Subscription.

Conditions préalables

  • Accès à un cluster OpenShift Container Platform à l'aide d'un compte disposant des autorisations cluster-admin.
  • Installez la commande oc sur votre système local.

Procédure

  1. Voir la liste des opérateurs disponibles pour la grappe à partir d'OperatorHub :

    $ oc get packagemanifests -n openshift-marketplace

    Exemple de sortie

    NAME                               CATALOG               AGE
    3scale-operator                    Red Hat Operators     91m
    advanced-cluster-management        Red Hat Operators     91m
    amq7-cert-manager                  Red Hat Operators     91m
    ...
    couchbase-enterprise-certified     Certified Operators   91m
    crunchy-postgres-operator          Certified Operators   91m
    mongodb-enterprise                 Certified Operators   91m
    ...
    etcd                               Community Operators   91m
    jaeger                             Community Operators   91m
    kubefed                            Community Operators   91m
    ...

    Notez le catalogue de l'opérateur souhaité.

  2. Inspectez l'opérateur de votre choix pour vérifier les modes d'installation pris en charge et les canaux disponibles :

    oc describe packagemanifests <operator_name> -n openshift-marketplace
  3. Un groupe d'opérateurs, défini par un objet OperatorGroup, sélectionne des espaces de noms cibles dans lesquels générer l'accès RBAC requis pour tous les opérateurs dans le même espace de noms que le groupe d'opérateurs.

    L'espace de noms auquel vous abonnez l'opérateur doit avoir un groupe d'opérateurs qui correspond au mode d'installation de l'opérateur, soit le mode AllNamespaces ou SingleNamespace. Si l'opérateur que vous avez l'intention d'installer utilise le mode AllNamespaces, l'espace de noms openshift-operators dispose déjà d'un groupe d'opérateurs approprié.

    Cependant, si l'opérateur utilise le mode SingleNamespace et que vous n'avez pas déjà un groupe d'opérateurs approprié en place, vous devez en créer un.

    Note

    La version console web de cette procédure gère la création des objets OperatorGroup et Subscription automatiquement dans les coulisses lorsque vous choisissez le mode SingleNamespace.

    1. Créez un fichier YAML de l'objet OperatorGroup, par exemple operatorgroup.yaml:

      Exemple d'objet OperatorGroup

      apiVersion: operators.coreos.com/v1
      kind: OperatorGroup
      metadata:
        name: <operatorgroup_name>
        namespace: <namespace>
      spec:
        targetNamespaces:
        - <namespace>

    2. Créer l'objet OperatorGroup:

      $ oc apply -f operatorgroup.yaml
  4. Créez un fichier YAML de l'objet Subscription pour abonner un espace de noms à un opérateur, par exemple sub.yaml:

    Exemple d'objet Subscription

    apiVersion: operators.coreos.com/v1alpha1
    kind: Subscription
    metadata:
      name: <subscription_name>
      namespace: openshift-operators 1
    spec:
      channel: <channel_name> 2
      name: <operator_name> 3
      source: redhat-operators 4
      sourceNamespace: openshift-marketplace 5
      config:
        env: 6
        - name: ARGS
          value: "-v=10"
        envFrom: 7
        - secretRef:
            name: license-secret
        volumes: 8
        - name: <volume_name>
          configMap:
            name: <configmap_name>
        volumeMounts: 9
        - mountPath: <directory_name>
          name: <volume_name>
        tolerations: 10
        - operator: "Exists"
        resources: 11
          requests:
            memory: "64Mi"
            cpu: "250m"
          limits:
            memory: "128Mi"
            cpu: "500m"
        nodeSelector: 12
          foo: bar

    1
    Pour l'utilisation du mode d'installation AllNamespaces, indiquez l'espace de noms openshift-operators. Sinon, indiquez l'espace de noms unique correspondant à l'utilisation du mode d'installation SingleNamespace.
    2
    Nom du canal auquel s'abonner.
    3
    Nom de l'opérateur auquel s'abonner.
    4
    Nom de la source du catalogue qui fournit l'opérateur.
    5
    Espace de noms de la source de catalogue. Utilisez openshift-marketplace pour les sources de catalogue par défaut d'OperatorHub.
    6
    Le paramètre env définit une liste de variables d'environnement qui doivent exister dans tous les conteneurs du module créé par OLM.
    7
    Le paramètre envFrom définit une liste de sources pour alimenter les variables d'environnement dans le conteneur.
    8
    Le paramètre volumes définit une liste de volumes qui doivent exister sur le pod créé par OLM.
    9
    Le paramètre volumeMounts définit une liste de VolumeMounts qui doivent exister dans tous les conteneurs du pod créé par OLM. Si un volumeMount fait référence à un volume qui n'existe pas, OLM ne parvient pas à déployer l'opérateur.
    10
    Le paramètre tolerations définit une liste de tolérances pour le module créé par OLM.
    11
    Le paramètre resources définit les contraintes de ressources pour tous les conteneurs du module créé par OLM.
    12
    Le paramètre nodeSelector définit un NodeSelector pour le module créé par OLM.
  5. Créer l'objet Subscription:

    $ oc apply -f sub.yaml

    A ce stade, OLM connaît l'opérateur sélectionné. Une version de service de cluster (CSV) pour l'opérateur devrait apparaître dans l'espace de noms cible, et les API fournies par l'opérateur devraient être disponibles pour la création.

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.