4.3. Déployez votre plugin sur un cluster


Le plugin peut être déployé dans un cluster dédié OpenShift.

4.3.1. Construire une image avec Docker

Afin de déployer votre plugin sur un cluster, vous devez d’abord construire une image et la pousser vers un registre d’images.

Procédure

  1. Construisez l’image avec la commande suivante:

    $ docker build -t quay.io/my-repositroy/my-plugin:latest .
    Copy to Clipboard Toggle word wrap
  2. Facultatif: Si vous souhaitez tester votre image, exécutez la commande suivante:

    $ docker run -it --rm -d -p 9001:80 quay.io/my-repository/my-plugin:latest
    Copy to Clipboard Toggle word wrap
  3. Appuyez sur l’image en exécutant la commande suivante:

    $ docker push quay.io/my-repository/my-plugin:latest
    Copy to Clipboard Toggle word wrap

4.3.2. Déployez votre plugin sur un cluster

Après avoir poussé une image avec vos modifications à un registre, vous pouvez déployer le plugin dans un cluster à l’aide d’un graphique Helm.

Conditions préalables

  • Il faut avoir l’emplacement de l’image contenant le plugin qui a déjà été poussé.

    Note

    Il est possible de spécifier des paramètres supplémentaires en fonction des besoins de votre plugin. Le fichier value.yaml fournit un ensemble complet de paramètres pris en charge.

Procédure

  1. Afin de déployer votre plugin dans un cluster, installez un graphique Helm avec le nom du plugin comme nom de sortie Helm dans un nouvel espace de noms ou un espace de noms existant tel que spécifié par l’option ligne de commande -n. Fournissez l’emplacement de l’image dans le paramètre plugin.image en utilisant la commande suivante:

    $ helm upgrade -i  my-plugin charts/openshift-console-plugin -n my-plugin-namespace --create-namespace --set plugin.image=my-plugin-image-location
    Copy to Clipboard Toggle word wrap

    Là où:

    <my-plugin-namespace>
    Indique un espace de noms existant pour déployer votre plugin.
    --créer-namespace
    Facultatif: Si vous déployez dans un nouvel espace de noms, utilisez ce paramètre.
    --set plugin.image=my-plugin-image-localisation
    Indique l’emplacement de l’image dans le paramètre plugin.image.
    Note

    En cas de déploiement sur OpenShift Dedicated 4.10 et ultérieure, il est recommandé d’exclure les configurations liées à la sécurité des pod en ajoutant le paramètre --set plugin.securityContext.enabled=false.

  2. Facultatif : Vous pouvez spécifier tous les paramètres supplémentaires en utilisant l’ensemble de paramètres pris en charge dans le fichier charts/openshift-console-plugin/values.yaml.

    plugin:
      name: ""
      description: ""
      image: ""
      imagePullPolicy: IfNotPresent
      replicas: 2
      port: 9443
      securityContext:
        enabled: true
      podSecurityContext:
        enabled: true
        runAsNonRoot: true
        seccompProfile:
          type: RuntimeDefault
      containerSecurityContext:
        enabled: true
        allowPrivilegeEscalation: false
        capabilities:
          drop:
            - ALL
      resources:
        requests:
          cpu: 10m
          memory: 50Mi
      basePath: /
      certificateSecretName: ""
      serviceAccount:
        create: true
        annotations: {}
        name: ""
      patcherServiceAccount:
        create: true
        annotations: {}
        name: ""
      jobs:
        patchConsoles:
          enabled: true
          image: "registry.redhat.io/openshift4/ose-tools-rhel8@sha256:e44074f21e0cca6464e50cb6ff934747e0bd11162ea01d522433a1a1ae116103"
          podSecurityContext:
            enabled: true
            runAsNonRoot: true
            seccompProfile:
              type: RuntimeDefault
          containerSecurityContext:
            enabled: true
            allowPrivilegeEscalation: false
            capabilities:
              drop:
                - ALL
          resources:
            requests:
              cpu: 10m
              memory: 50Mi
    Copy to Clipboard Toggle word wrap

La vérification

  • Consultez la liste des plugins activés en naviguant depuis Administration Paramètres du cluster Configuration Console operator.openshift.io plugins Console ou en visitant la page Aperçu.
Note

Il peut prendre quelques minutes pour que la nouvelle configuration du plugin apparaisse. Lorsque vous ne voyez pas votre plugin, vous devrez peut-être actualiser votre navigateur si le plugin a été récemment activé. Lorsque vous recevez des erreurs au moment de l’exécution, consultez la console JS dans les outils de développement du navigateur pour rechercher des erreurs dans votre code de plugin.

4.3.3. Le proxy du service de plugin

Lorsque vous devez faire des requêtes HTTP à un service d’inclusion à partir de votre plugin, vous pouvez déclarer un proxy de service dans sa ressource ConsolePlugin en utilisant le champ de tableau spec.proxy. Le backend de la console expose le /api/proxy/plugin/<plugin-name>/<proxy-alias>/<request-path>?< optional-query-parameters> pour proxy la communication entre le plugin et le service. La requête proxiée utilise un service CA bundle par défaut. Le service doit utiliser HTTPS.

Note

Le plugin doit utiliser l’API consolefetch pour faire des demandes à partir de son code JavaScript ou certaines demandes pourraient échouer. En savoir plus sur "Dynamic plugin API".

À chaque entrée, vous devez spécifier un point de terminaison et un alias du proxy sous les champs endpoint et alias. Dans le cas du type de proxy Service, vous devez définir le champ de type de point d’extrémité sur Service et le service doit inclure des valeurs pour les champs nom, espace de noms et ports. À titre d’exemple, /api/proxy/plugin/helm-charts/ Releases?limit=10 est un chemin de requête proxy à partir du plugin de barre avec un service helm-charts qui répertorie dix versions de helm.

Exemple de proxy de service

apiVersion: console.openshift.io/v1
kind: ConsolePlugin
metadata:
  name:<plugin-name>
spec:
  proxy:
  - alias: helm-charts 
1

    authorization: UserToken 
2

    caCertificate: '-----BEGIN CERTIFICATE-----\nMIID....'en 
3

    endpoint: 
4

      service:
        name: <service-name>
        namespace: <service-namespace>
        port: <service-port>
      type: Service
Copy to Clipboard Toggle word wrap

1
Alias du proxy.
2
Dans le cas où la demande de proxy de service doit contenir le jeton d’accès OpenShift Dedicated de l’utilisateur connecté, vous devez définir le champ d’autorisation sur UserToken.
Note

Lorsque la demande de proxy de service ne contient pas le jeton d’accès OpenShift Dedicated de l’utilisateur connecté, définissez le champ d’autorisation sur None.

3
Dans le cas où le service utilise un service personnalisé CA, le champ caCertificate doit contenir le paquet de certificats.
4
Endpoint du proxy.

4.3.4. Désactivation de votre plugin dans le navigateur

Les utilisateurs de console peuvent utiliser le paramètre de requête de désactivation-plugins pour désactiver les plugins spécifiques ou tous les plugins dynamiques qui seraient normalement chargés au moment de l’exécution.

Procédure

  • Désactivez un(s) plugin(s) spécifique(s), supprimez le plugin que vous souhaitez désactiver de la liste des noms de plugins séparés par les virgules.
  • Afin de désactiver tous les plugins, laissez une chaîne vide dans le paramètre de requête désactive-plugins.
Note

Les administrateurs de clusters peuvent désactiver les plugins dans la page Paramètres du cluster de la console Web.

Retour au début
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. Découvrez nos récentes mises à jour.

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 le Blog 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.

Theme

© 2025 Red Hat