Kubeflow 1.0 brings cloud-native machine learning to Kubernetes
Kubeflow, the open source machine learning solution for Kubernetes, reached a new milestone. Version 1.0 graduates several core applications for developing, training, and deploying models on Kubernetes. Have a look at what applications have been graduated, and how Kubeflow can help you create and deploy Jupyter notebooks and more.
Kubeflow became open source software in December of 2017 at Kubecon USA. Now, in March of 2020, the first major release has arrived. Kubeflow 1.0 graduates several applications that help develop, build, train, and deploy models on Kubernetes.
Kubeflow is a machine learning toolkit designed to make deploying scalable ML workflows on Kubernetes easier. It includes a custom TensorFlow training job operator and services for creating and deploying Jupyter notebooks and focuses on leveraging cloud assets.
Let’s take a look at what the 1.0 milestone includes and what else Kubeflow has under the hood.
Kubeflow v1.0 graduating apps
What’s new? According to the v1.0 announcement blog, 1.0 graduates a “core set of stable applications needed to develop, build, train, and deploy models on Kubernetes efficiently”.
We’re proud and excited to announce a major milestone for our project: Kubeflow’s 1.0 release!https://t.co/bvMncVS4fH
Thank you to the countless organizations, contributors and users who helped us bring efficient #machinelearning tooling to Kubernetes.
— Kubeflow (@kubeflow) March 2, 2020
These graduating applications include:
- The central dashboard and UI navigation for Kubeflow components
- Jupyter notebook controller and web app, allowing users to create custom notebooks
- Tensorflow Operator (TFJob) for training a model with TensorFlow
- PyTorch Operator, for creating and monitoring PyTorch jobs and distributed training
- kfctl, the command-line interface
- Profile controller and UI, used to solve access management in multi-user Kubernetes clusters
Using a variety of different Kubeflow components, users can develop, build, train, and deploy. Version 1.0 allows users to use develop models with Jupyter, build containers with Kubeflow fairing, and deploy them with KFServing.
Kubeflow 1.0 makes it easier than ever to deploy. It provides a CLI and configuration files that deploy with only one command:
kfctl apply -f kfctl_gcp_iap.v1.0.0.yaml kfctl apply -f kfctl_k8s_istio.v1.0.0.yaml kfctl apply -f kfctl_aws_cognito.v1.0.0.yaml kfctl apply -f kfctl_ibm.v1.0.0.yaml
For a deeper look at the newest milestone, refer to the official Kubeflow blog by Thea Lamkin.
Tour of Kubeflow
Under the hood, Kubeflow makes scalable machine learning with Kubernetes easier by providing simple solutions and builds upon the power of Kubernetes.
With Kubeflow, anywhere that Kubernetes can run, you can also use the machine learning stack.
Its UI includes a central dashboard, Kubeflow Pipelines dashboard, Jupyter notebook servers, Katlib for hyperparameter tuning, artifact metadata tracking, and settings for sharing user access across namespaces in deployment.
The easy to navigate UI includes pre-built Docker images for Jupyter. You can use Jupyter notebooks to create interactive data science that integrates with the rest of the Kubeflow components. Users can set up multiple notebook servers per Kubeflow deployment.