BYOC (Bring Your Own Container) para Pipelines
Além de definir etapas do pipeline com base em jobs e scripts, você pode usar imagens de contêiner personalizadas para definir o runtime da etapa.
Você pode selecionar a imagem do contêiner, o comando ou o ponto de entrada para execução do contêiner. Você pode fornecer o código personalizado em um script ou em um arquivo compactado, o que permite atualizar o código sem recriar a imagem.
Configuração da Etapa BYOC
Artefato de Modelo
O upload de um artefato de etapa ao usar BYOC é opcional. No entanto, ele permite alterar o código que é executado dentro do contêiner sem recriar a imagem.
Os artefatos de etapa são montados no contêiner para a pasta /home/datascience/
. Se um artefato for um arquivo compactado, seu conteúdo será extraído para a pasta /home/datascience/decompressed_artifact
.
- Imagem comum do docker
- É conveniente criar uma imagem de contêiner genérica com o ambiente necessário (por exemplo, Python 3.8 e bibliotecas básicas, conforme mostrado no Início rápido) e adicionar scripts Python posteriormente como artefatos de etapa.
- Artefatos personalizados - substituição de pasta
- Quando você usa um artefato de etapa personalizado, o serviço monta um volume com o artefato na pasta
/home/datascience
, substituindo a pasta na imagem do contêiner. Os artefatos de arquivamento (zip/tar/...
) são descompactados e o conteúdo é apresentado na pasta/home/datascience/decompressed_artifact
.
Criar um Pipeline de Contêiner - Início Rápido
Siga estas etapas para criar uma etapa do pipeline de contêiner.
Criando o Contêiner
Testando o Contêiner
Antes de enviar a imagem para um registro de contêiner, você pode testá-la localmente.
Enviando o Contêiner para o OCIR
Siga as etapas na documentação do Container Registry para gerar um token de autenticação para fazer log-in no OCIR.
Criando o Pipeline
Consulte a seção Políticas do Pipeline para garantir que você tenha políticas que permitam que o pipeline execute imagens de contêiner de extração de recursos do registro de contêiner.
- Crie um pipeline com um nome apropriado, por exemplo,
BYOC Demo name
. - Selecione Adicionar etapas de pipeline.
- Atribua um nome à etapa, por exemplo,
Step 1
. - Para usar o Bring Your Own Container, selecione Do contêiner.
- Em Configuração do contêiner, selecione Configurar.
- Em Configure seu ambiente de contêiner:
- Selecione o início rápido ou byoc do repositório na lista. Se o repositório estiver em outro compartimento, selecione Alterar compartimento.
- Selecione a imagem,
iad.ocir.io/idtlxnfdweil/quickstart/byoc:1.0.0
, na lista. - Selecione Selecionar.
- Selecione Salvar.
- Opcional: Definir log.
- Selecione Criar.
Ativando os Logs de Pipeline
- Na lista de pipelines, selecione o pipeline que você deseja ativar.
- Na página de detalhes do pipeline, selecione Logs.
- Selecione Ativar logs.
Configurações Suportadas
Informações importantes sobre configurações suportadas.
- Os Pipelines de ML só suportam imagens de contêiner que residem no OCI Registry.
- O tamanho da imagem do contêiner é limitado a 40 GB em formato descompactado.
- O usuário que cria o recurso Pipeline de ML deve ter acesso à imagem do contêiner no OCI Registry. Caso contrário, crie uma política de IAM de acesso do usuário antes de criar o recurso de Pipeline de ML.
Imagens de contêiner no Apple Silicon M1 Mac
Para obter mais informações, consulte Imagem do Docker na Apple e M1 MacBook.
Compilação de imagem
As imagens de um registro de contêiner são identificadas por repositório, nome e uma tag. Além disso, o Docker fornece a cada versão de uma imagem uma compilação alfanumérica exclusiva. Ao enviar uma imagem de contêiner atualizada, recomendamos fornecer à imagem atualizada uma nova tag para identificá-la, em vez de reutilizar uma tag existente, como prática recomendada. No entanto, mesmo que você envie uma imagem atualizada e dê a ela o mesmo nome e tag de uma versão anterior, a versão recém-promovida tem outra compilação da versão anterior.
Ao criar um recurso de pipeline, você especifica o nome e a tag de uma versão específica de uma imagem. Para evitar inconsistências posteriormente, os pipelines também registram a compilação exclusiva dessa versão específica da imagem. Você também pode fornecer a compilação da imagem ao criar o recurso de pipeline.
Por padrão, se você enviar uma versão atualizada de uma imagem para o registro do Docker com o mesmo nome e tag da versão original da imagem, os pipelines continuarão usando a compilação original para extrair a versão original da imagem. Pode ser que este seja o comportamento exigido. No entanto, se você quiser que os pipelines extraiam a versão mais recente da imagem, poderá alterar explicitamente o nome da imagem com a tag e a compilação que os pipelines usam para identificar qual versão da imagem será extraída.