The sample that serves as a template for doing MLOps with open source projects like Kubeflow and MLFlow and tools on K8s platform
Перейти к файлу
David Tesar 62107de30f
Merge pull request #2 from microsoft/dependabot/pip/code/seldon/tensorflow-2.4.2
Bump tensorflow from 2.0.0-alpha0 to 2.4.2 in /code/seldon
2021-07-14 15:46:00 -07:00
.azdo Fix CI Docker build breaks (#109) 2020-11-06 13:49:51 -08:00
.github Update CI Workflow docker folder paths (#111) 2020-11-06 15:43:46 -08:00
code Bump tensorflow from 2.0.0-alpha0 to 2.4.2 in /code/seldon 2021-07-14 22:45:21 +00:00
docs Updated documentation and cleaned up directories (#108) 2020-11-05 16:09:55 -08:00
notifications/teams Notifications to Teams (#87) 2020-10-01 12:07:16 -07:00
setup Updated documentation and cleaned up directories (#108) 2020-11-05 16:09:55 -08:00
terraform terraform template (#89) 2020-10-02 15:26:07 -07:00
terraform-bedrock terraform template (#89) 2020-10-02 15:26:07 -07:00
.env.example Sudivate/local experience (#80) 2020-08-07 16:12:41 -07:00
.gitignore Sudivate/local experience (#80) 2020-08-07 16:12:41 -07:00
README.md Updated documentation and cleaned up directories (#108) 2020-11-05 16:09:55 -08:00

README.md

KubeMLOps

Overview

The repository contains a sample created from the Kubeflow End-to-End Pipeline Example on Azure. It builds a Kubeflow pipeline(KFP) with both GitHub actions and Azure DevOps that trains a Tensorflow model recognizing tacos and burritos images. The model is registered in MLFlow. Kubeflow is running on Azure Kubernetes Service(AKS). The structure of this sample should make it easier to “bring your own code” and adopt the template for a real-life machine learning(ML) project.

The architecture of the sample is shown in the following diagram: KubeMLOps Architecture Diagram

  • The KFP contains the following steps:
    • Data preprocessing
    • Training
    • Registering
    • Deploying
  • The model is registered and deployed in AML WS (working on MLFlow model registration also)
  • The Continuous Integration(CI) pipeline is implemented with GitHub Actions, it is being triggered on PR, master merge, ChatOps comments (e.g./build-images, /build-pipeline) and it has the following steps:
    • Linting
    • Builds Docker images – KFP components/steps
    • Publishes the KFP as an artifact
    • Uploads the pipeline to Kubeflow
    • Runs the KFP

For this sample, DataOps for ML and Observability are currently out of scope.

Prerequisites

Before you get started, make sure you have the following prerequisites:

  • An Azure Kubernetes Service cluster
  • Ensure the latest version of Azure CLI is installed.
  • Clone or fork the repository

Setup

This documentation helps you get started with the sample from infrastructure setup to deployment of the model.

Code for the following can be found in the code directory, but currently there is no documentation: