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.
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-
oukubectl-
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 commandeoc 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 estoc-foo_bar
peut être appelé par la commandeoc foo-bar
.
-
Le fichier doit commencer par
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
- Consultez le référentiel de plugin Sample pour un exemple de plugin écrit en Go.
- Consultez le référentiel d'exécution CLI pour obtenir un ensemble d'utilitaires qui vous aideront à écrire des plugins en Go.
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-
oukubectl-
.
Procédure
Si nécessaire, mettez à jour le fichier du plugin pour qu'il soit exécutable.
chmod x <plugin_file>
Placez le fichier n'importe où dans votre
PATH
, par exemple/usr/local/bin/
.$ sudo mv <plugin_file> /usr/local/bin/.
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-
oukubectl-
, qu'il est exécutable et qu'il se trouve sur votre sitePATH
.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 commandeoc foo bar
.