7.2. Opérateur SDK CLI référence


L’interface de ligne de commande de l’opérateur SDK (CLI) est un kit de développement conçu pour faciliter l’écriture des opérateurs.

Important

La version prise en charge par Red Hat de l’outil Operator SDK CLI, y compris les outils d’échafaudage et de test connexes pour les projets Opérateur, est dépréciée et devrait être supprimée dans une future version de Red Hat OpenShift Service sur AWS. Le Red Hat fournira des corrections de bogues et une prise en charge de cette fonctionnalité pendant le cycle de vie de la version actuelle, mais cette fonctionnalité ne recevra plus d’améliorations et sera supprimée du futur service Red Hat OpenShift sur les versions AWS.

La version prise en charge par Red Hat du SDK de l’opérateur n’est pas recommandée pour la création de nouveaux projets d’opérateur. Les auteurs d’opérateurs avec des projets d’opérateur existants peuvent utiliser la version de l’outil Operator SDK CLI publié avec Red Hat OpenShift Service sur AWS 4 pour maintenir leurs projets et créer des versions d’opérateur ciblant de nouvelles versions de Red Hat OpenShift Service sur AWS.

Les images de base suivantes pour les projets d’opérateur ne sont pas dépréciées. Les fonctionnalités d’exécution et les API de configuration de ces images de base sont toujours prises en charge pour les corrections de bogues et pour l’adressage des CVE.

  • L’image de base pour les projets d’opérateurs basés sur Ansible
  • L’image de base pour les projets d’opérateur basé sur Helm

Afin d’obtenir de l’information sur la version non prise en charge et gérée par la communauté du SDK de l’opérateur, voir Operator SDK (Operator Framework).

L’opérateur SDK CLI syntaxe

$ operator-sdk <command> [<subcommand>] [<argument>] [<flags>]
Copy to Clipboard Toggle word wrap

7.2.1. le paquet

La commande Operator-sdk bundle gère les métadonnées du bundle Operator.

7.2.1.1. de valider

Le bundle valide la sous-commande valide un bundle d’opérateur.

Expand
Tableau 7.1. faisceau valider les drapeaux
DrapeauDescription

-h, --aide

La sortie d’aide pour le paquet valider la sous-commande.

--index-builder (chaîne)

Outil pour tirer et déballer des images groupées. Il n’est utilisé que lors de la validation d’une image de paquet. Les options disponibles sont docker, qui est par défaut, podman, ou aucune.

--liste optionnelle

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

--sélectionner-optionnel (chaîne)

Le sélecteur d’étiquette pour sélectionner les validateurs optionnels à exécuter. Lorsque vous exécutez avec le drapeau --list-optional, liste les validateurs optionnels disponibles.

7.2.2. le nettoyage

La commande de nettoyage de l’opérateur-sdk détruit et supprime les ressources qui ont été créées pour un opérateur qui a été déployé avec la commande run.

Expand
Tableau 7.2. drapeaux de nettoyage
DrapeauDescription

-h, --aide

Aide à la sortie pour la sous-commande du paquet d’exécution.

--kubeconfig (chaîne)

Chemin vers le fichier kubeconfig à utiliser pour les requêtes CLI.

-n, --namespace (chaîne)

Le cas échéant, l’espace de noms dans lequel exécuter la demande CLI.

--timeout &lt;duration&gt;

Il est temps d’attendre que la commande soit terminée avant d’échouer. La valeur par défaut est 2m0s.

7.2.3. achèvement des travaux

La commande d’achèvement de l’opérateur-sdk génère des achèvements de shell pour rendre les commandes CLI émettrices plus rapides et plus faciles.

Expand
Tableau 7.3. achèvement des sous-commandes
Le sous-commandeDescription

bash

Générez des finitions bash.

à propos de Zsh

Générez des finitions zsh.

Expand
Tableau 7.4. drapeaux d’achèvement
DrapeauDescription

-h, --aide

Aide à l’utilisation de sortie.

À titre d’exemple:

$ operator-sdk completion bash
Copy to Clipboard Toggle word wrap

Exemple de sortie

# bash completion for operator-sdk                         -*- shell-script -*-
...
# ex: ts=4 sw=4 et filetype=sh
Copy to Clipboard Toggle word wrap

7.2.4. créer

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

7.2.4.1. API

La création de sous-commandes api échafaude une API Kubernetes. La sous-commande doit être exécutée dans un projet initialisé avec la commande init.

Expand
Tableau 7.5. créer des drapeaux api
DrapeauDescription

-h, --aide

Aide à la sortie pour la sous-commande du paquet d’exécution.

7.2.5. générer

La commande operator-sdk génère un générateur spécifique pour générer du code ou des manifestes.

7.2.5.1. le paquet

La sous-commande de groupe génératrice génère un ensemble de manifestes de paquets, de métadonnées et d’un fichier bundle.Dockerfile pour votre projet Opérateur.

Note

En règle générale, vous exécutez la commande génératrice kustomize manifeste d’abord la sous-commande pour générer les bases Kustomize d’entrée qui sont utilisées par la sous-commande de paquets génératrices. Cependant, vous pouvez utiliser la commande make bundle dans un projet initialisé pour automatiser l’exécution de ces commandes en séquence.

Expand
Tableau 7.6. générer des drapeaux de paquets
DrapeauDescription

--canaux (chaîne)

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

--CRDS-dir (chaîne)

Le répertoire root pour CustomResoureDefinition se manifeste.

--par défaut-canal (chaîne)

Le canal par défaut pour le paquet.

--déploiement-dir (string)

Le 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 passé au drapeau --input-dir.

-h, --aide

Aide pour générer des paquets

--input-dir (chaîne)

Annuaire à partir duquel lire un paquet existant. Ce répertoire est le parent de votre répertoire de manifestes de paquets et est différent du répertoire --deploy-dir.

--kustomize-dir (string)

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

--manifestes

Générez des manifestes de paquets.

--métadonnées

Générez des métadonnées groupées et Dockerfile.

--sortie-dir (chaîne)

Annuaire pour écrire le paquet vers.

--écraser

Écrasez les métadonnées du bundle et Dockerfile s’ils existent. La valeur par défaut est true.

--emballage (chaîne)

Le nom du paquet pour le paquet.

-Q, --quiet

Exécutez en mode silencieux.

----------------

Ecrire le paquet manifeste pour standardiser.

--version (chaîne)

La version sémantique de l’opérateur dans le paquet généré. Défini uniquement lors de la création d’un nouveau paquet ou de la mise à niveau de l’opérateur.

7.2.5.2. kustomize

La sous-commande génératrice kustomize contient des sous-commandes qui génèrent des données Kustomize pour l’opérateur.

7.2.5.2.1. les manifestes

La sous-commande génératrice kustomize manifeste génère ou régénère les bases Kustomize et un fichier kustomization.yaml dans le répertoire config/manifests, qui sont utilisés pour construire des manifestes de paquets par d’autres commandes SDK de l’opérateur. Cette commande demande interactivement des métadonnées UI, un composant important des bases manifestes, par défaut, sauf si une base existe déjà ou si vous définissez l’indicateur --interactive=false.

Expand
Tableau 7.7. générer kustomize manifeste des drapeaux
DrapeauDescription

--APIs-dir (chaîne)

Répertoire racine pour les définitions de type API.

-h, --aide

Aide pour générer des manifestes de kustomize.

--input-dir (chaîne)

Répertoire contenant les fichiers Kustomize existants.

--interactif

Lorsqu’il est défini sur false, si aucune base Kustomize n’existe, une invite de commande interactive est présentée pour accepter les métadonnées personnalisées.

--sortie-dir (chaîne)

Annuaire où écrire des fichiers Kustomize.

--emballage (chaîne)

Le nom du paquet.

-Q, --quiet

Exécutez en mode silencieux.

7.2.6. init

La commande operator-sdk init initialise un projet Opérateur et génère, ou des échafaudages, une mise en page de répertoire de projet par défaut pour le plugin donné.

Cette commande écrit les fichiers suivants:

  • Fichier de licence de hotplate
  • Fichier PROJET avec le domaine et le référentiel
  • Makefile pour construire le projet
  • fichier Go.mod avec dépendances de projet
  • fichier kustomization.yaml pour la personnalisation des manifestes
  • Fichier correcteur pour personnaliser les images pour les manifestes du gestionnaire
  • Fichier de correction pour activer les métriques Prometheus
  • fichier Main.go à exécuter
Expand
Tableau 7.8. drapeaux init
DrapeauDescription

--aide, -h

Aide à la sortie pour la commande init.

--plugins (chaîne)

Le nom et la version optionnelle du plugin pour initialiser le projet avec. Les plugins disponibles sont ansible.sdk.operatorframework.io/v1, go.kubebuilder.io/v2, go.kubebuilder.io/v3, et helm.sdk.operatorframework.io/v1.

--version de projet

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

7.2.7. courir

La commande operator-sdk run fournit des options qui peuvent lancer l’opérateur dans divers environnements.

7.2.7.1. le paquet

La sous-commande de paquet d’exécution déploie un opérateur dans le format de paquet avec Operator Lifecycle Manager (OLM).

Expand
Tableau 7.9. lancer des drapeaux de paquets
DrapeauDescription

--index-image (chaîne)

Indexer l’image dans laquelle injecter un paquet. L’image par défaut est quay.io/operator-framework/upstream-opm-builder:latest.

--install-mode &lt;install_mode_value&gt;

Installez le mode supporté par la version de service cluster (CSV) de l’opérateur, par exemple AllNamespaces ou SingleNamespace.

--timeout &lt;duration&gt;

Installez le délai d’attente. La valeur par défaut est 2m0s.

--kubeconfig (chaîne)

Chemin vers le fichier kubeconfig à utiliser pour les requêtes CLI.

-n, --namespace (chaîne)

Le cas échéant, l’espace de noms dans lequel exécuter la demande CLI.

--security-context-config &lt;security_context&gt;

Indique le contexte de sécurité à utiliser pour le pod de catalogue. Les valeurs autorisées incluent des restrictions et des héritages. La valeur par défaut est l’héritage. [1]

-h, --aide

Aide à la sortie pour la sous-commande du paquet d’exécution.

  1. Le contexte de sécurité restreint n’est pas compatible avec l’espace de noms par défaut. Afin de configurer l’admission de sécurité de pod de votre opérateur dans votre environnement de production, voir "Complying with Pod security admission". En savoir plus sur l’admission à la sécurité des pods, voir « Comprendre et gérer l’admission à la sécurité des pod ».

7.2.7.2. la mise à niveau de paquet

La sous-commande de mise à niveau de paquets d’exécution met à niveau un opérateur qui a déjà été installé dans le format de paquet avec Operator Lifecycle Manager (OLM).

Expand
Tableau 7.10. exécuter des drapeaux de mise à niveau de paquets
DrapeauDescription

--timeout &lt;duration&gt;

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

--kubeconfig (chaîne)

Chemin vers le fichier kubeconfig à utiliser pour les requêtes CLI.

-n, --namespace (chaîne)

Le cas échéant, l’espace de noms dans lequel exécuter la demande CLI.

--security-context-config &lt;security_context&gt;

Indique le contexte de sécurité à utiliser pour le pod de catalogue. Les valeurs autorisées incluent des restrictions et des héritages. La valeur par défaut est l’héritage. [1]

-h, --aide

Aide à la sortie pour la sous-commande du paquet d’exécution.

  1. Le contexte de sécurité restreint n’est pas compatible avec l’espace de noms par défaut. Afin de configurer l’admission de sécurité de pod de votre opérateur dans votre environnement de production, voir "Complying with Pod security admission". En savoir plus sur l’admission à la sécurité des pods, voir « Comprendre et gérer l’admission à la sécurité des pod ».

7.2.8. carte de pointage

La commande operator-sdk scorecard exécute l’outil de carte de pointage pour valider un ensemble d’opérateurs et fournir des suggestions d’améliorations. La commande prend un argument, qu’il s’agisse d’une image groupée ou d’un répertoire contenant des manifestes et des métadonnées. Lorsque l’argument contient une balise d’image, l’image doit être présente à distance.

Expand
Tableau 7.11. drapeaux de carte de pointage
DrapeauDescription

-C, --config (chaîne)

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

-h, --aide

Aide à la sortie pour la commande de la carte de pointage.

--kubeconfig (chaîne)

Chemin d’accès au fichier kubeconfig.

-L, --liste

Liste des tests disponibles pour exécuter.

-n, --namespace (chaîne)

Espace de noms dans lequel exécuter les images de test.

-O, --sortie (chaîne)

Format de sortie pour les résultats. Les valeurs disponibles sont du texte, qui est la valeur par défaut, et json.

--pod-sécurité &lt;security_context&gt;

L’option d’exécuter une carte de score avec le contexte de sécurité spécifié. Les valeurs autorisées incluent des restrictions et des héritages. La valeur par défaut est l’héritage. [1]

-l, --séléctor (chaîne)

Le sélecteur d’étiquette pour déterminer quels tests sont exécutés.

-s, --service-compte (string)

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

-x, --skip-nettoyage

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

-W, --temps d’attente &lt;durée&gt;

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

  1. Le contexte de sécurité restreint n’est pas compatible avec l’espace de noms par défaut. Afin de configurer l’admission de sécurité de pod de votre opérateur dans votre environnement de production, voir "Complying with Pod security admission". En savoir plus sur l’admission à la sécurité des pods, voir « Comprendre et gérer l’admission à la sécurité des pod ».
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