This guide introduces Kubernetes operators, charms and the Juju OLM and how they can be used for easy Kubeflow operations.
An ‘operator’ in Kubernetes is a trusted container which drives other containers, simplifying the work of administration for you. Instead of handcrafting all the YAML for container operations of the workload, the operator generates the necessary K8s commands to cover the app lifecycle.
What are charms?
A charm is a software package that bundles an operator together with metadata that supports the integration of many operators in a coherent aggregated system.
An operator packaged as a charm means that it is configured, operated and integrated in a standard way regardless of the vendor or the application. Charms enable multi-vendor operator collections with standardised behaviours, reducing the learning curve associated with each operator and creating richer application ecosystems.
Learn more on CharmHub.
Integration of Kubernetes operators
Operators in the collection declare endpoints that represent potential forms of integration. For example, a MySQL operator can say that it can provide a MySQL database, and that it can stream its logs with the rsyslog protocol.
Each endpoint has a type and a direction, it can be ‘inbound’ or ‘outbound’. You can only integrate two endpoints if they have the same type and opposite directions.
When two endpoints are integrated, or related, the operators configure their workloads appropriately for that integration. Here is the simplest example of a relation between the endpoints on two operators:
by repeating the process with different endpoints on different operators you can construct a rich application graph, or topology, of multiple operators, each of which is driving their own workload and aware of integration in the graph.
Learn more on CharmHub.
Charmed Kubeflow - Kubernetes operators for Kubeflow
Charmed Kubeflow is a full set Kubernetes charm operators to deliver the 30+ applications and services that make up the latest version of Kubeflow, for easy consumption anywhere, from workstations to on-prem, to public cloud and edge.
Check out the install guides from the menu to discover how you can be up and running in minutes.
The Juju Operator Lifecycle Manager (OLM)
Juju is an enterprise Operator Lifecycle Manager (OLM) that provides model-driven application management and next-generation infrastructure-as-code.
An operator lifecycle manager provides a central view of operators in a deployment, the configuration, scale and status of each of them, and the integration lines between them. An operator lifecycle manager keeps track of potential updates and upgrades for each operator and coordinates the flow of events and messages between operators.
Juju allows for deployment and lifecycle management of complex bundles of charms, like Charmed Kubeflow on diverse substrates.
Learn more on the Juju website.
Installing and user guide
|Introduction to Charmed Kubeflow||/docs/|
|Access the Kubeflow dashboard||/docs/dashboard|
|KubeFlow charm operators and bundles||/docs/operators-and-bundles|
|Customize your Kubeflow deployment||/docs/customise|
|Contributing to Kubeflow docs||/docs/contributing-docs|