Utilisation de votre propre conteneur 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 d'étape.
Vous pouvez sélectionner l'image, la commande ou le point d'entrée du conteneur à exécuter. 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 de l'étape BYOC
Artefact de modèle
Le téléchargement d'un artefact d'étape lorsque vous utilisez BYOC est facultatif. Cependant, il vous permet de modifier le code exécuté dans le conteneur sans reconstruire l'image.
Les artefacts d'étape sont montés dans le conteneur vers le dossier /home/datascience/
. Si un artefact est une archive, son contenu est extrait dans le dossier /home/datascience/decompressed_artifact
.
- Image docker commune
- 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 l'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éation d'un pipeline de conteneur - Démarrage rapide
Pour créer une étape de pipeline de conteneur, procédez comme suit.
Création du conteneur
Test du conteneur
Avant de propager l'image vers un registre de conteneurs, vous pouvez la tester localement.
Transmission du conteneur vers OCIR
Suivez les étapes décrites dans la documentation Container Registry pour générer un jeton d'authentification afin de vous connecter à OCIR.
Création du pipeline
Reportez-vous à la section Stratégies de pipeline pour vous assurer que vous disposez de stratégies qui permettent à la ressource d'exécution de pipeline d'extraire des images de conteneur à partir du registre de conteneurs.
- Créez un pipeline avec le nom approprié, par exemple
BYOC Demo name
. - Sélectionnez Ajouter des étapes de pipeline.
- Indiquez le nom de l'étape, par exemple
Step 1
. - Pour utiliser votre propre conteneur, sélectionnez A partir du conteneur.
- Dans Configuration de conteneur, sélectionnez Configurer.
- Dans Configurer l'environnement de conteneur, procédez comme suit :
- Sélectionnez le démarrage rapide ou le byoc du référentiel dans la liste. Si le référentiel se trouve dans un autre compartiment, sélectionnez Modifier le 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.
- Choisissez Créer.
Activation des journaux de pipeline
- Dans la liste des pipelines, sélectionnez le pipeline à activer.
- Sur la page de 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 ML prennent uniquement en charge les images de conteneur résidant dans OCI Registry.
- La taille de l'image de 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 OCI Registry. Sinon, créez une stratégie IAM d'accès utilisateur avant de créer la ressource de pipeline d'apprentissage automatique.
Images de conteneurs sur Apple Silicon M1 Mac
Pour plus d'informations, reportez-vous à Image Docker sur Apple sur M1 MacBook.
Condensé d'image
Les images d'un registre de conteneurs sont identifiées par un référentiel, un nom et une balise. En outre, Docker attribue à chaque version d'image un condensé alphanumérique unique. Lors de la propagation d'une image de conteneur mise à jour, nous vous recommandons d'attribuer à l'image mise à jour une nouvelle balise pour l'identifier, plutôt que de réutiliser une balise existante, comme meilleure pratique. Toutefois, même si vous propagez une image mise à jour avec le même nom et la même balise qu'une version antérieure, la nouvelle version propagée dispose d'un condensé différent de la version précédente.
Lorsque vous créez une ressource de pipeline, vous indiquez le nom et la balise d'une version particulière d'une image. Pour éviter les incohérences ultérieurement, les pipelines enregistrent également le condensé unique de cette version particulière de l'image. Vous pouvez également fournir la synthèse de l'image lors de la création de la ressource de pipeline.
Par défaut, si vous propagez une version mise à jour d'une image vers le registre Docker avec les mêmes nom et balise que la version d'origine de l'image, les pipelines continuent à utiliser le condensé d'origine pour extraire la version d'origine de l'image. Ce comportement peut être celui dont vous avez besoin. Toutefois, si vous voulez que les pipelines extraient la version ultérieure de l'image, vous pouvez modifier explicitement le nom de l'image avec la balise et le condensé utilisés par les pipelines pour identifier la version de l'image à extraire.