5.17. Référence CLI du SDK de l'opérateur
L'interface de ligne de commande (CLI) de l'Operator SDK est un kit de développement conçu pour faciliter l'écriture d'opérateurs.
Syntaxe du CLI du SDK de l'opérateur
operator-sdk <command> [<subcommand>] [<argument>] [<flags>]
$ operator-sdk <command> [<subcommand>] [<argument>] [<flags>]
Les auteurs d'opérateurs ayant un accès d'administrateur de cluster à un cluster basé sur Kubernetes (tel que OpenShift Container Platform) peuvent utiliser le CLI Operator SDK pour développer leurs propres opérateurs basés sur Go, Ansible ou Helm. Kubebuilder est intégré dans le SDK Operator en tant que solution d'échafaudage pour les opérateurs basés sur Go, ce qui signifie que les projets Kubebuilder existants peuvent être utilisés tels quels avec le SDK Operator et continuer à fonctionner.
5.17.1. liasse Copier lienLien copié sur presse-papiers!
La commande operator-sdk bundle gère les métadonnées du faisceau d'opérateurs.
5.17.1.1. valider Copier lienLien copié sur presse-papiers!
La sous-commande bundle validate valide une liasse d'opérateurs.
| Drapeau | Description |
|---|---|
|
|
Aide pour la sous-commande |
|
|
Outil permettant d'extraire et de décompresser les images de la liasse. Il n'est utilisé que lors de la validation d'une image de paquet. Les options disponibles sont |
|
| Liste de tous les validateurs optionnels disponibles. Lorsqu'il est défini, aucun validateur n'est exécuté. |
|
|
Sélecteur d'étiquettes pour sélectionner les validateurs optionnels à exécuter. Lorsqu'il est exécuté avec l'option |
5.17.2. nettoyage Copier lienLien copié sur presse-papiers!
La commande operator-sdk cleanup détruit et supprime les ressources créées pour un opérateur déployé avec la commande run.
| Drapeau | Description |
|---|---|
|
|
Aide pour la sous-commande |
|
|
Chemin d'accès au fichier |
|
| S'il est présent, l'espace de noms dans lequel la requête CLI doit être exécutée. |
|
|
Temps d'attente pour que la commande se termine avant d'échouer. La valeur par défaut est |
5.17.3. achèvement Copier lienLien copié sur presse-papiers!
La commande operator-sdk completion génère des compléments d'information sur l'interpréteur de commandes afin d'accélérer et de faciliter l'exécution des commandes de l'interface de programmation.
| Sous-commande | Description |
|---|---|
|
| Générer des complétions bash. |
|
| Générer des complétions zsh. |
| Drapeau | Description |
|---|---|
|
| Utilisation help output. |
Par exemple :
operator-sdk completion bash
$ operator-sdk completion bash
Exemple de sortie
bash completion for operator-sdk -*- shell-script -*- ex: ts=4 sw=4 et filetype=sh
# bash completion for operator-sdk -*- shell-script -*-
...
# ex: ts=4 sw=4 et filetype=sh
5.17.4. créer Copier lienLien copié sur presse-papiers!
La commande operator-sdk create est utilisée pour créer, ou scaffold, une API Kubernetes.
5.17.4.1. api Copier lienLien copié sur presse-papiers!
La sous-commande create api permet d'échafauder une API Kubernetes. La sous-commande doit être exécutée dans un projet qui a été initialisé avec la commande init.
| Drapeau | Description |
|---|---|
|
|
Aide pour la sous-commande |
5.17.5. générer Copier lienLien copié sur presse-papiers!
La commande operator-sdk generate invoque un générateur spécifique pour générer du code ou des manifestes.
5.17.5.1. liasse Copier lienLien copié sur presse-papiers!
La sous-commande generate bundle génère un ensemble de manifestes de bundle, de métadonnées et un fichier bundle.Dockerfile pour votre projet Operator.
En règle générale, vous exécutez d'abord la sous-commande generate kustomize manifests pour générer les bases Kustomize utilisées par la sous-commande generate bundle. Cependant, vous pouvez utiliser la commande make bundle dans un projet initialisé pour automatiser l'exécution de ces commandes dans l'ordre.
| Drapeau | Description |
|---|---|
|
|
Liste séparée par des virgules des canaux auxquels le paquet appartient. La valeur par défaut est |
|
|
Répertoire racine pour les manifestes |
|
| Le canal par défaut de la liasse. |
|
|
Répertoire racine pour les manifestes de l'opérateur, tels que les déploiements et RBAC. Ce répertoire est différent du répertoire transmis à l'indicateur |
|
|
Aide pour |
|
|
Répertoire à partir duquel lire une offre groupée existante. Ce répertoire est le parent du répertoire |
|
|
Répertoire contenant les bases de Kustomize et un fichier |
|
| Générer des manifestes de paquets. |
|
| Générer les métadonnées du bundle et le fichier Docker. |
|
| Répertoire dans lequel écrire le bundle. |
|
|
Remplacer les métadonnées du bundle et le fichier Docker s'ils existent. La valeur par défaut est |
|
| Nom du paquet pour la liasse. |
|
| Fonctionne en mode silencieux. |
|
| Rédiger un manifeste de liasse pour la sortie standard. |
|
| Version sémantique de l'opérateur dans la liasse générée. À définir uniquement lors de la création d'une nouvelle liasse ou de la mise à niveau de l'opérateur. |
5.17.5.2. personnaliser Copier lienLien copié sur presse-papiers!
La sous-commande generate kustomize contient des sous-commandes qui génèrent des données de personnalisation pour l'opérateur.
5.17.5.2.1. manifestes Copier lienLien copié sur presse-papiers!
La sous-commande generate kustomize manifests génère ou régénère des bases Kustomize et un fichier kustomization.yaml dans le répertoire config/manifests, qui sont utilisés pour construire des manifestes de bundle par d'autres commandes Operator SDK. Cette commande demande interactivement les métadonnées de l'interface utilisateur, un composant important des bases de manifeste, par défaut, à moins qu'une base n'existe déjà ou que vous n'ayez activé l'option --interactive=false.
| Drapeau | Description |
|---|---|
|
| Répertoire racine pour les définitions des types d'API. |
|
|
Aide pour |
|
| Répertoire contenant les fichiers Kustomize existants. |
|
|
Lorsque la valeur est |
|
| Répertoire où écrire les fichiers Kustomize. |
|
| Nom du paquet. |
|
| Fonctionne en mode silencieux. |
5.17.6. init Copier lienLien copié sur presse-papiers!
La commande operator-sdk init initialise un projet Operator et génère, ou scaffolds, un répertoire de projet par défaut pour le plugin donné.
Cette commande écrit les fichiers suivants :
- Fichier de licence type
-
PROJECTavec le domaine et le référentiel -
Makefilepour construire le projet -
go.modavec les dépendances du projet -
kustomization.yamlfichier pour personnaliser les manifestes - Fichier correctif pour la personnalisation des images des manifestes des gestionnaires
- Fichier correctif pour l'activation des métriques Prometheus
-
main.gopour exécuter
| Drapeau | Description |
|---|---|
|
|
Aide pour la commande |
|
|
Nom et éventuellement version du plugin avec lequel le projet doit être initialisé. Les plugins disponibles sont |
|
|
Version du projet. Les valeurs disponibles sont |
5.17.7. courir Copier lienLien copié sur presse-papiers!
La commande operator-sdk run propose des options qui permettent de lancer l'opérateur dans différents environnements.
5.17.7.1. liasse Copier lienLien copié sur presse-papiers!
La sous-commande run bundle déploie un opérateur au format bundle avec Operator Lifecycle Manager (OLM).
| Drapeau | Description |
|---|---|
|
|
Image d'index dans laquelle injecter un bundle. L'image par défaut est |
|
|
Mode d'installation pris en charge par la version du service de cluster (CSV) de l'opérateur, par exemple |
|
|
Délai d'installation. La valeur par défaut est |
|
|
Chemin d'accès au fichier |
|
| S'il est présent, l'espace de noms dans lequel la requête CLI doit être exécutée. |
|
|
Aide pour la sous-commande |
5.17.7.2. mise à niveau groupée Copier lienLien copié sur presse-papiers!
La sous-commande run bundle-upgrade met à niveau un opérateur précédemment installé au format bundle avec Operator Lifecycle Manager (OLM).
| Drapeau | Description |
|---|---|
|
|
Délai de mise à niveau. La valeur par défaut est |
|
|
Chemin d'accès au fichier |
|
| S'il est présent, l'espace de noms dans lequel la requête CLI doit être exécutée. |
|
|
Aide pour la sous-commande |
5.17.8. carte de pointage Copier lienLien copié sur presse-papiers!
La commande operator-sdk scorecard exécute l'outil scorecard pour valider un bundle Operator et fournir des suggestions d'amélioration. La commande prend un argument, soit une image de l'offre groupée, soit un répertoire contenant les manifestes et les métadonnées. Si l'argument contient une balise image, l'image doit être présente à distance.
| Drapeau | Description |
|---|---|
|
|
Chemin d'accès au fichier de configuration de la carte de score. Le chemin par défaut est |
|
|
Aide pour la commande |
|
|
Chemin d'accès au fichier |
|
| Liste des tests disponibles pour exécution. |
|
| Espace de noms dans lequel les images de test doivent être exécutées. |
|
|
Format de sortie des résultats. Les valeurs disponibles sont |
|
| Sélecteur d'étiquettes pour déterminer les tests à effectuer. |
|
|
Compte de service à utiliser pour les tests. La valeur par défaut est |
|
| Désactiver le nettoyage des ressources après l'exécution des tests. |
|
|
Nombre de secondes à attendre pour que les tests soient terminés, par exemple |