I recently found out about kubeflow and kubeflow pipeline but it is not clear for me how to build an image from my python program.
Let's assume that I have a simple python function that crops images:
class Image_Proc:
def crop_image(self, image, start_pixel, end_pixel):
# crop
return cropped_image
How shall I containerize this and use it in the KubeFlow pipeline? Do I need to wrap it in an API (with Flask for example) Or do I need to connect to some media/data broker?
How KubeFlow pipeline sends input to this code and transfers the output of this code to the next step?
Basically you can follow the steps provided by Docker here to create Docker image and publish to Docker Hub (or you can build your own private docker registry, but I think it may be too much work for beginner). Just roughly list steps:
Also, you can read this doc to know how to create pipelines (Kubeflow pipeline is just argo workflow). For your case, just fill in inputs
and/or outputs
sections of the step you want in the pipeline YAML file.