Utiliser son propre conteneur (BYOC) pour les pipelines
Outre la définition d'étapes de pipeline basées sur des travaux et des scripts, vous pouvez utiliser des images de conteneur personnalisées pour définir l'exécution de l'étape.
Vous pouvez sélectionner l'image, la commande ou le point d'entrée du conteneur pour l'exécution du conteneur. Vous pouvez fournir le code personnalisé dans un script ou une archive compressée, ce qui vous permet de mettre à jour le code sans reconstruire l'image.
Configuration d'étape BYOC
Artefact de modèle
Le chargement d'un artefact d'étape lors de l'utilisation de BYOC est facultatif. Cependant, il vous permet de modifier le code qui s'exécute à l'intérieur du conteneur sans reconstruire l'image.
Les artefacts d'étape sont montés dans le conteneur dans le dossier /home/datascience/
. Si un artefact est une archive, son contenu est extrait dans le dossier /home/datascience/decompressed_artifact
.
- Image commune du docker
- Il est pratique de créer une image de conteneur générique avec l'environnement requis (par exemple, Python 3.8 et les bibliothèques de base, comme indiqué dans Démarrage rapide) et d'ajouter des scripts Python plus tard en tant qu'artefacts d'étape.
- Artefacts personnalisés - Remplacement de dossier
- Lorsque vous utilisez un artefact d'étape personnalisé, le service monte un volume avec l'artefact dans le dossier
/home/datascience
, en remplaçant le dossier dans votre image de conteneur. Les artefacts d'archive (zip/tar/...
) sont décompressés et le contenu est présenté dans le dossier/home/datascience/decompressed_artifact
.
Créer un pipeline de conteneur - Démarrage rapide
Suivez ces étapes pour créer une étape de pipeline de conteneur.
Création du conteneur
Test du conteneur
Avant de pousser l'image vers un registre de conteneurs, vous pouvez la tester localement.
Transmission du conteneur à OCIR
Suivez les étapes de la documentation sur le registre de conteneurs pour générer un jeton d'authentification pour vous connecter à OCIR.
Création du pipeline
Voir la section Politiques de pipeline pour vous assurer que vous disposez de politiques qui permettent à la ressource d'exécution de pipeline d'extraire des images de conteneur du registre de conteneur.
- Créez un pipeline avec un nom approprié, par exemple
BYOC Demo name
. - Sélectionnez Ajouter des étapes de pipeline.
- Attribuez un nom à l'étape, par exemple
Step 1
. - Pour utiliser Utiliser son propre conteneur, sélectionnez De conteneur.
- Dans Configuration de conteneur, sélectionnez Configurer.
- Dans Configurer votre environnement de conteneur :
- Sélectionnez le démarrage rapide ou l'oculaire du référentiel dans la liste. Si le référentiel se trouve dans un autre compartiment, sélectionnez Changer de compartiment.
- Sélectionnez l'image
iad.ocir.io/idtlxnfdweil/quickstart/byoc:1.0.0
dans la liste. - Sélectionnez Sélectionner.
- Sélectionnez enregistrer.
- Facultatif : Définissez la journalisation.
- Sélectionnez Créer.
Activation des journaux de pipeline
- Dans la liste des pipelines, sélectionnez le pipeline à activer.
- Dans la page des détails du pipeline, sélectionnez Journaux.
- Sélectionnez Activer les journaux.
Configurations prises en charge
Informations importantes sur les configurations prises en charge.
- Les pipelines d'apprentissage automatique ne prennent en charge que les images de conteneur résidant dans le registre OCI.
- La taille de l'image du conteneur est limitée à 40 Go sous forme non compressée.
- L'utilisateur qui crée la ressource de pipeline d'apprentissage automatique doit avoir accès à l'image de conteneur dans le registre OCI. Sinon, créez une politique IAM d'accès utilisateur avant de créer la ressource de pipeline d'apprentissage automatique.
Images de conteneur sur Apple Silicon M1 Mac
Pour plus d'informations, voir Image Docker sur Apple sur M1 MacBook.
condensés d'image;
Les images dans un registre de conteneur sont identifiées par un référentiel, un nom et un marqueur. En outre, Docker attribue un condensé unique à chaque version d'une image. Lors de la transmission d'une image de conteneur mise à jour, il est recommandé d'indiquer à l'image mise à jour un nouveau marqueur pour l'identifier, plutôt que de réutiliser un marqueur existant, comme meilleure pratique. Cependant, même si vous poussez une image mise à jour et que vous lui donnez le même nom et le même marqueur que ceux d'une version précédente, la nouvelle version poussée a un condensé différent de la version précédente.
Lorsque vous créez une ressource de pipeline, vous spécifiez le nom et le marqueur d'une version particulière d'une image. Pour éviter les incohérences plus tard, les pipelines enregistrent également le condensé unique de cette version particulière de l'image. Vous pouvez également fournir le condensé de l'image lors de la création de la ressource de pipeline.
Par défaut, si vous poussez une version mise à jour d'une image vers le registre Docker avec le même nom et le même marqueur que la version initiale de l'image, les pipelines continueront d'utiliser le condensé initial pour extraire la version initiale de l'image. C'est peut-être le comportement que vous recherchez. En revanche, si vous voulez que les pipelines extraient la version la plus récente de l'image, vous pouvez modifier explicitement le nom de l'image avec le marqueur et le condensé que les pipelines utilisent pour identifier la version de l'image à extraire.