2.5. Extension de la CLI d'OpenShift avec des plugins

Vous pouvez écrire et installer des plugins pour développer les commandes par défaut de oc, ce qui vous permet d'effectuer des tâches nouvelles et plus complexes avec la CLI d'OpenShift Container Platform.

2.5.1. Écrire des plugins CLI

Vous pouvez écrire un plugin pour la CLI d'OpenShift Container Platform dans n'importe quel langage de programmation ou script qui vous permet d'écrire des commandes en ligne de commande. Notez que vous ne pouvez pas utiliser un plugin pour écraser une commande oc existante.

Procédure

Cette procédure permet de créer un plugin Bash simple qui imprime un message dans le terminal lorsque la commande oc foo est lancée.

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

    Lorsque vous nommez votre fichier de plugin, gardez à l'esprit les points suivants :

    • 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. Par exemple, un plugin dont le nom de fichier est oc-foo-bar peut être appelé par la commande oc foo bar. Vous pouvez également utiliser des traits de soulignement si vous souhaitez que la commande contienne des tirets. Par exemple, un plugin dont le nom de fichier est oc-foo_bar peut être appelé par la commande 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"

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

Ressources complémentaires

2.5.2. Installation et utilisation des plugins CLI

Après avoir écrit un plugin personnalisé pour la CLI d'OpenShift Container Platform, vous devez l'installer pour utiliser les fonctionnalités qu'il fournit.

Conditions préalables

  • L'outil CLI oc doit être installé.
  • Vous devez avoir un fichier de plugin CLI qui commence par oc- ou kubectl-.

Procédure

  1. Si nécessaire, mettez à jour le fichier du plugin pour qu'il soit exécutable.

    chmod x <plugin_file>
  2. Placez le fichier n'importe où dans votre PATH, par exemple /usr/local/bin/.

    $ sudo mv <plugin_file> /usr/local/bin/.
  3. Exécutez oc plugin list pour vous assurer que le plugin est répertorié.

    $ oc plugin list

    Exemple de sortie

    The following compatible plugins are available:
    
    /usr/local/bin/<plugin_file>

    Si votre plugin ne figure pas dans cette liste, vérifiez que le fichier commence par oc- ou kubectl-, qu'il est exécutable et qu'il se trouve sur votre site PATH.

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

    Par exemple, si vous avez créé et installé le plugin kubectl-ns à partir du dépôt de plugins Sample, vous pouvez utiliser la commande suivante pour afficher l'espace de noms actuel.

    $ oc ns

    Notez que la commande permettant d'invoquer le plugin dépend du nom du fichier du plugin. Par exemple, un plugin dont le nom de fichier est oc-foo-bar est appelé par la commande oc foo bar.