5.16. Migration des projets de manifestes de paquets vers le format bundle
La prise en charge de l'ancienne version de package manifest format pour les opérateurs est supprimée dans OpenShift Container Platform 4.8 et les versions ultérieures. Si vous avez un projet Operator qui a été initialement créé à l'aide du format package manifest, vous pouvez utiliser le SDK Operator pour migrer le projet vers le format bundle. Le format bundle est le format d'emballage préféré pour Operator Lifecycle Manager (OLM) à partir d'OpenShift Container Platform 4.6.
5.16.1. À propos de la migration des formats d'emballage Copier lienLien copié sur presse-papiers!
La commande Operator SDK pkgman-to-bundle
permet de migrer les manifestes de paquets d'Operator Lifecycle Manager (OLM) vers des paquets. La commande prend un répertoire de manifestes de paquets en entrée et génère des bundles pour chacune des versions de manifestes présentes dans le répertoire d'entrée. Vous pouvez également créer des images de bundle pour chacun des bundles générés.
Par exemple, considérons le répertoire packagemanifests/
suivant pour un projet au format "package manifest" :
Exemple de format de manifeste de paquet
Après avoir exécuté la migration, les bundles suivants sont générés dans le répertoire bundle/
:
Exemple de présentation du format de la liasse
Sur la base de cette présentation générée, les images des deux liasses sont également créées avec les noms suivants :
-
quay.io/example/etcd:0.0.1
-
quay.io/example/etcd:0.0.2
5.16.2. Migration d'un projet de manifeste de paquetage au format bundle Copier lienLien copié sur presse-papiers!
Les auteurs d'opérateurs peuvent utiliser le SDK Operator pour migrer un projet Operator au format manifeste de paquetage vers un projet au format bundle.
Conditions préalables
- Operator SDK CLI installé
- Projet d'opérateur initialement généré à l'aide de l'Operator SDK dans le format du manifeste de paquetage
Procédure
Utilisez le SDK Operator pour migrer votre projet de manifeste de paquetage vers le format de paquetage et générer des images de paquetage :
operator-sdk pkgman-to-bundle <package_manifests_dir> \ [--output-dir <directory>] \ --image-tag-base <image_name_base>
$ operator-sdk pkgman-to-bundle <package_manifests_dir> \
1 [--output-dir <directory>] \
2 --image-tag-base <image_name_base>
3 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Indiquez l'emplacement du répertoire des manifestes du projet, par exemple
packagemanifests/
oumanifests/
. - 2
- Facultatif : Par défaut, les paquets générés sont écrits localement sur le disque dans le répertoire
bundle/
. Vous pouvez utiliser l'option--output-dir
pour spécifier un autre emplacement. - 3
- Définissez l'indicateur
--image-tag-base
pour fournir la base du nom de l'image, par exemplequay.io/example/etcd
, qui sera utilisée pour les paquets. Fournissez le nom sans balise, car la balise des images sera définie en fonction de la version de l'offre groupée. Par exemple, les noms des images de l'offre groupée complète sont générés au format<image_name_base>:<bundle_version>
.
Vérification
Vérifiez que l'image générée s'exécute correctement :
operator-sdk run bundle <bundle_image_name>:<tag>
$ operator-sdk run bundle <bundle_image_name>:<tag>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow