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>]

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

La commande operator-sdk bundle gère les métadonnées du faisceau d'opérateurs.

5.17.1.1. valider

La sous-commande bundle validate valide une liasse d'opérateurs.

Tableau 5.19. bundle validate drapeaux
DrapeauDescription

-h, --help

Aide pour la sous-commande bundle validate.

--index-builder (chaîne)

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 docker, qui est l'option par défaut, podman, ou none.

--list-optional

Liste de tous les validateurs optionnels disponibles. Lorsqu'il est défini, aucun validateur n'est exécuté.

--select-optional (chaîne)

Sélecteur d'étiquettes pour sélectionner les validateurs optionnels à exécuter. Lorsqu'il est exécuté avec l'option --list-optional, il dresse la liste des validateurs optionnels disponibles.

5.17.2. nettoyage

La commande operator-sdk cleanup détruit et supprime les ressources créées pour un opérateur déployé avec la commande run.

Tableau 5.20. cleanup drapeaux
DrapeauDescription

-h, --help

Aide pour la sous-commande run bundle.

--kubeconfig (chaîne)

Chemin d'accès au fichier kubeconfig à utiliser pour les requêtes CLI.

-n, --namespace (chaîne)

S'il est présent, l'espace de noms dans lequel la requête CLI doit être exécutée.

--timeout <duration>

Temps d'attente pour que la commande se termine avant d'échouer. La valeur par défaut est 2m0s.

5.17.3. achèvement

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.

Tableau 5.21. completion sous-commandes
Sous-commandeDescription

bash

Générer des complétions bash.

zsh

Générer des complétions zsh.

Tableau 5.22. completion drapeaux
DrapeauDescription

-h, --help

Utilisation help output.

Par exemple :

$ operator-sdk completion bash

Exemple de sortie

# bash completion for operator-sdk                         -*- shell-script -*-
...
# ex: ts=4 sw=4 et filetype=sh

5.17.4. créer

La commande operator-sdk create est utilisée pour créer, ou scaffold, une API Kubernetes.

5.17.4.1. api

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.

Tableau 5.23. create api drapeaux
DrapeauDescription

-h, --help

Aide pour la sous-commande run bundle.

5.17.5. générer

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

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.

Note

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.

Tableau 5.24. generate bundle drapeaux
DrapeauDescription

--channels (chaîne)

Liste séparée par des virgules des canaux auxquels le paquet appartient. La valeur par défaut est alpha.

--crds-dir (chaîne)

Répertoire racine pour les manifestes CustomResoureDefinition.

--default-channel (chaîne)

Le canal par défaut de la liasse.

--deploy-dir (chaîne)

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 --input-dir.

-h, --help

Aide pour generate bundle

--input-dir (chaîne)

Répertoire à partir duquel lire une offre groupée existante. Ce répertoire est le parent du répertoire manifests et est différent du répertoire --deploy-dir.

--kustomize-dir (chaîne)

Répertoire contenant les bases de Kustomize et un fichier kustomization.yaml pour les manifestes de bundle. Le chemin par défaut est config/manifests.

--manifests

Générer des manifestes de paquets.

--metadata

Générer les métadonnées du bundle et le fichier Docker.

--output-dir (chaîne)

Répertoire dans lequel écrire le bundle.

--overwrite

Remplacer les métadonnées du bundle et le fichier Docker s'ils existent. La valeur par défaut est true.

--package (chaîne)

Nom du paquet pour la liasse.

-q, --quiet

Fonctionne en mode silencieux.

--stdout

Rédiger un manifeste de liasse pour la sortie standard.

--version (chaîne)

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.

Ressources supplémentaires

  • Voir la section Regroupement d'un opérateur pour une procédure complète qui inclut l'utilisation de la commande make bundle pour appeler la sous-commande generate bundle.

5.17.5.2. personnaliser

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

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.

Tableau 5.25. generate kustomize manifests drapeaux
DrapeauDescription

--apis-dir (chaîne)

Répertoire racine pour les définitions des types d'API.

-h, --help

Aide pour generate kustomize manifests.

--input-dir (chaîne)

Répertoire contenant les fichiers Kustomize existants.

--interactive

Lorsque la valeur est false, si aucune base Kustomize n'existe, une invite de commande interactive est présentée pour accepter les métadonnées personnalisées.

--output-dir (chaîne)

Répertoire où écrire les fichiers Kustomize.

--package (chaîne)

Nom du paquet.

-q, --quiet

Fonctionne en mode silencieux.

5.17.6. init

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
  • PROJECT avec le domaine et le référentiel
  • Makefile pour construire le projet
  • go.mod avec les dépendances du projet
  • kustomization.yaml fichier 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.go pour exécuter
Tableau 5.26. init drapeaux
DrapeauDescription

--help, -h

Aide pour la commande init.

--plugins (chaîne)

Nom et éventuellement version du plugin avec lequel le projet doit être initialisé. Les plugins disponibles sont ansible.sdk.operatorframework.io/v1, go.kubebuilder.io/v2, go.kubebuilder.io/v3, et helm.sdk.operatorframework.io/v1.

--project-version

Version du projet. Les valeurs disponibles sont 2 et 3-alpha, qui est la valeur par défaut.

5.17.7. courir

La commande operator-sdk run propose des options qui permettent de lancer l'opérateur dans différents environnements.

5.17.7.1. liasse

La sous-commande run bundle déploie un opérateur au format bundle avec Operator Lifecycle Manager (OLM).

Tableau 5.27. run bundle drapeaux
DrapeauDescription

--index-image (chaîne)

Image d'index dans laquelle injecter un bundle. L'image par défaut est quay.io/operator-framework/upstream-opm-builder:latest.

--install-mode <install_mode_value>

Mode d'installation pris en charge par la version du service de cluster (CSV) de l'opérateur, par exemple AllNamespaces ou SingleNamespace.

--timeout <duration>

Délai d'installation. La valeur par défaut est 2m0s.

--kubeconfig (chaîne)

Chemin d'accès au fichier kubeconfig à utiliser pour les requêtes CLI.

-n, --namespace (chaîne)

S'il est présent, l'espace de noms dans lequel la requête CLI doit être exécutée.

-h, --help

Aide pour la sous-commande run bundle.

Ressources supplémentaires

5.17.7.2. mise à niveau groupée

La sous-commande run bundle-upgrade met à niveau un opérateur précédemment installé au format bundle avec Operator Lifecycle Manager (OLM).

Tableau 5.28. run bundle-upgrade drapeaux
DrapeauDescription

--timeout <duration>

Délai de mise à niveau. La valeur par défaut est 2m0s.

--kubeconfig (chaîne)

Chemin d'accès au fichier kubeconfig à utiliser pour les requêtes CLI.

-n, --namespace (chaîne)

S'il est présent, l'espace de noms dans lequel la requête CLI doit être exécutée.

-h, --help

Aide pour la sous-commande run bundle.

5.17.8. carte de pointage

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.

Tableau 5.29. scorecard drapeaux
DrapeauDescription

-c, --config (chaîne)

Chemin d'accès au fichier de configuration de la carte de score. Le chemin par défaut est bundle/tests/scorecard/config.yaml.

-h, --help

Aide pour la commande scorecard.

--kubeconfig (chaîne)

Chemin d'accès au fichier kubeconfig.

-L, --list

Liste des tests disponibles pour exécution.

-n, --namespace (chaîne)

Espace de noms dans lequel les images de test doivent être exécutées.

-o, --output (chaîne)

Format de sortie des résultats. Les valeurs disponibles sont text, qui est la valeur par défaut, et json.

-l, --selector (chaîne)

Sélecteur d'étiquettes pour déterminer les tests à effectuer.

-s, --service-account (chaîne)

Compte de service à utiliser pour les tests. La valeur par défaut est default.

-x, --skip-cleanup

Désactiver le nettoyage des ressources après l'exécution des tests.

-w, --wait-time <duration>

Nombre de secondes à attendre pour que les tests soient terminés, par exemple 35s. La valeur par défaut est 30s.

Ressources supplémentaires

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.

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 leBlog 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.

© 2024 Red Hat, Inc.