Kubeflow operators: lifecycle management for data science

by Rui Vasconcelos on 28 October 2020

Canonical, the publisher of Ubuntu, releases Charmed Kubeflow, a set of charm operators to deliver the 20+ applications that make up the latest version of Kubeflow, for easy consumption anywhere, from workstations to on-prem, public cloud, and edge.

> Visit Charmed-kubeflow.io to learn more.

Kubeflow, the ML toolkit on K8s

Kubeflow provides the cloud-native interface between Kubernetes, the industry standard for software delivery and operations at scale, and data science tools: libraries, frameworks, pipelines, and notebooks.

Machine learning pipelines on Kubernetes, with Kubeflow pipelines, enable factory-like processes for data science teams. Data scientists can experiment and build data pipelines on a single dashboard, while the underlying operations and infrastructure work are handled by Kubernetes administrators.

Having started initially as a project by engineers at Google and Microsoft, Kubeflow is rapidly growing in popularity as innovators like Bloomberg, Gojek, and Spotify become avid adopters.

> Learn more about what is Kubeflow?

The Kubeflow packaging problem

Despite the clear benefits of Kubeflow for ML operations, deploying, configuring, and maintaining Kubeflow is still hard.

The number of applications and potential scenarios makes it difficult for the Kubeflow community to provide a one-size-fits-all solution and, at the same time, leaving all config options to end-users means a huge barrier to adoption.

This topic has been central to discussions within the Kubeflow community, reaching a consensus that vendors, such as Canonical, should provide the “glue” between applications inside Kubeflow.

Given the complexity of configuring, integrating, and maintaining Kubeflow, Canonical has packaged each application inside Kubeflow using charms.

> Watch Canonical’s demo of Charmed Kubeflow in the Kubeflow community forum

What is Charmed Kubeflow? A highly configurable Kubeflow operator

Charmed Kubeflow is the set of charms that wrap the 20+ apps that make up the latest version of upstream Kubeflow, integrated.


Because Kubeflow is charmed as composable modules, the end-user can opt to deploy the full Kubeflow bundle (i.e all the apps of upstream, integrated just like upstream), or customize the deployment to specific needs.

> Visit Charmed-kubeflow.io, or check out the Github repository

Universal operators that work like a charm

Charms are open source universal operators, Python code that encapsulates a single application and the automation necessary to operate it. These charm operators define how the application should be installed, upgraded, and how it should interact with other applications.

Charms manage the full application lifecycle, from day-0 to day-N, are operated through Juju Operator Lifecycle Manager, and cover both cloud-native and legacy applications.

For standard applications such as mySQL, used in katib-db, charms are shared amongst several projects, leading to better quality and robustness. For Kubeflow specific apps, such as katib-db manager, charms follow the latest version of the upstream Kubeflow manifests.


Katib-db charm integrated with Katib-db manager charm

> Check out the full list of Kubeflow charms, also included on Charmhub

Available on any Kubernetes!

Charmed Kubeflow is compatible with any conformant Kubernetes, including AKS, EKS, GKE, MicroK8s, Charmed Kubernetes, and any kubeadm-deployed cluster.

Charmed Kubeflow tightly integrates with Canonical’s Kubernetes solutions:MicroK8s, zero-ops K8s with self-healing high-availability and built-in Charmed Kubeflow;Charmed Kubernetes, highly-configurable K8s with automated operations.

> Try out Charmed Kubeflow on MicroK8s 

That’s it! Contact us for more

Canonical provides a full set of Kubeflow services, supporting its customers from solution evaluation to day-2 operations.

These services span from on-site training to deployment on any conformant Kubernetes, to enterprise-grade support under Ubuntu Advantage for applications, and to fully-managed Kubeflow under Canonical’s managed apps.

> Contact us for a free architectural overview

Further reading

Related posts

What is a Kubernetes operator?

Kubernetes is the open source, industry-standard platform for deploying, managing and scaling containerized applications – and applications on Kubernetes are easier with operators. […]

Operate popular open source on Kubernetes – Attend Operator Day at KubeCon EU 2024

Operate popular open source on Kubernetes – Attend Operator Day at KubeCon EU 2024 […]

Understanding roles in software operators

In today’s blog we take a closer look at roles – the key elements that make up the design pattern – and how they work together to simplify maintaining application infrastructure. […]