2.5. Extension du CLI OpenShift avec des plugins


Il est possible d’écrire et d’installer des plugins pour construire sur les commandes oc par défaut, ce qui vous permet d’effectuer de nouvelles tâches plus complexes avec OpenShift CLI.

2.5.1. Ecrire des plugins CLI

Il est possible d’écrire un plugin pour OpenShift CLI dans n’importe quel langage de programmation ou script qui vous permet d’écrire des commandes en ligne de commande. Il est à noter que vous ne pouvez pas utiliser un plugin pour écraser une commande oc existante.

Procédure

Cette procédure crée un plugin Bash simple qui imprime un message vers le terminal lorsque la commande oc foo est émise.

  1. Créez un fichier appelé oc-foo.

    Lorsque vous nommez votre fichier plugin, gardez à l’esprit ce qui suit:

    • Le fichier doit commencer par oc- ou kubectl- pour être reconnu comme un plugin.
    • Le nom du fichier détermine la commande qui invoque le plugin. À titre d’exemple, un plugin avec le nom de fichier oc-foo-bar peut être invoqué par une commande de oc foo bar. Il est également possible d’utiliser des accents si vous souhaitez que la commande contienne des tirets. À titre d’exemple, un plugin avec le nom de fichier oc-foo_bar peut être invoqué par une commande d’oc foo-bar.
  2. Ajoutez le contenu suivant au fichier.

    #!/bin/bash
    
    # optional argument handling
    if [[ "$1" == "version" ]]
    then
        echo "1.0.0"
        exit 0
    fi
    
    # optional argument handling
    if [[ "$1" == "config" ]]
    then
        echo $KUBECONFIG
        exit 0
    fi
    
    echo "I am a plugin named kubectl-foo"
    Copy to Clipboard Toggle word wrap

Après avoir installé ce plugin pour OpenShift CLI, il peut être invoqué à l’aide de la commande oc foo.

2.5.2. Installation et utilisation de plugins CLI

Après avoir écrit un plugin personnalisé pour OpenShift CLI, vous devez installer le plugin avant utilisation.

Conditions préalables

  • L’outil oc CLI doit être installé.
  • Il faut avoir un fichier de plugin CLI qui commence par oc- ou kubectl-.

Procédure

  1. Au besoin, mettre à jour le fichier plugin pour être exécutable.

    $ chmod +x <plugin_file>
    Copy to Clipboard Toggle word wrap
  2. Déposez le fichier n’importe où dans votre PATH, comme /usr/local/bin/.

    $ sudo mv <plugin_file> /usr/local/bin/.
    Copy to Clipboard Toggle word wrap
  3. Exécutez la liste des plugins oc pour vous assurer que le plugin est listé.

    $ oc plugin list
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    The following compatible plugins are available:
    
    /usr/local/bin/<plugin_file>
    Copy to Clipboard Toggle word wrap

    Dans le cas où votre plugin n’est pas listé ici, vérifiez que le fichier commence par oc- ou kubectl-, qu’il est exécutable et qu’il est sur votre PATH.

  4. Invoquez la nouvelle commande ou option introduite par le plugin.

    Ainsi, si vous avez construit et installé le plugin kubectl-ns à partir du référentiel du plugin Sample, vous pouvez utiliser la commande suivante pour afficher l’espace de noms actuel.

    $ oc ns
    Copy to Clipboard Toggle word wrap

    A noter que la commande d’invoquer le plugin dépend du nom du fichier du plugin. À titre d’exemple, un plugin avec le nom de fichier d’oc-foo-bar est invoqué par la commande oc foo bar.

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