参考文档:
Kubeflow 运算符
介绍:
Charmed Kubeflow 是全套 Kubernetes 运算符,可提供构成最新版 Kubeflow 的 30 多个应用程序和服务,可在任何地方轻松操作,从工作站到本地,再到公共云和边缘。
Charm 是一个软件包,其中包含一个运算符和元数据,该元数据支持将多个运算符集成到一个连贯的聚合系统中。构成 Charmed Kubeflow 的各个charm可以在 charms/
下找到。
该技术利用 Juju Operator Lifecycle Manager 提供 Kubeflow 的第 0 天到第 2 天的操作。
访问 charmed-kubeflow.io 了解更多信息。
安装
根据您对 Kubernetes 的选择,有两种可能的路径:
- 对于任何 Kubernetes,请按照安装说明进行操作。
- 在 MicroK8s 上,您只需启用 Kubeflow 插件。
文档
阅读官方文档。
使用详情
argo用户界面
您可以从中央仪表板上可用的管道仪表板查看管道,或转到/argo/
。
Pipelines
Pipelines可以通过主仪表板使用,也可以通过fairing库从笔记本中使用。
请注意,在解决 https://github.com/kubeflow/pipelines/issues/1654
之前,您必须将卷附加到写入输出工件的任何位置,请参阅 pipline-samples/sequential.py
中的 attach_output_volume
函数一个例子。
TensorFlow 工作
要将 TensorFlow 作业提交到仪表板,您可以运行以下 kubectl 命令
kubectl create -n <NAMESPACE> -f path/to/job/definition.yaml
其中 与您正在使用的 Juju 模型的名称相匹配,并且 path/to/job/definition.yaml 应指向类似于此处找到的 mnist.yaml 示例的 TFJob 定义。
卸载
按照官方卸载文档进行操作
测试
有关如何在此 repo 中运行测试的信息,请参阅测试自述文件。
本指南介绍了 Kubernetes 运算符、charm运算符和 Juju OLM 以及如何将它们用于简单的 Kubeflow 操作。
Kubernetes 运算符
Kubernetes 中的“operator”是一个受信任的容器,它驱动其他容器,为您简化管理工作。运算符不是为工作负载的容器操作手工制作所有 YAML,而是生成必要的 K8s 命令来覆盖应用程序生命周期。
什么是charm运算符?
Kubernetes 中的“operator”是一个受信任的容器,它驱动其他容器,为您简化管理工作。运算符不是为工作负载的容器操作手工制作所有 YAML,而是生成必要的 K8s 命令来覆盖应用程序生命周期。
什么是charm运算符?
charmed运算符是一个软件包,它将运算符与元数据捆绑在一起,支持将多个运算符集成到一个连贯的聚合系统中。
一个被包装成charm运算符的运算符意味着无论供应商或应用程序如何,它都以标准方式进行配置、运算和集成。 Charmed Operator 支持具有标准化行为的多供应商操作集合,减少与每个运算符相关的学习曲线并创建更丰富的应用生态系统。
在 Charmhub 上了解更多信息。
Kubernetes 运算符的集成
集合中的运算符声明代表潜在集成形式的端点。例如,MySQL 运算符可以说它可以提供 MySQL 数据库,并且可以使用 rsyslog 协议流式传输其日志。
每个端点都有一个类型和一个方向,它可以是“入站”或“出站”。如果它们具有相同的类型和相反的方向,则只能集成两个端点。
当两个端点集成或相关时,运算符会为该集成适当地配置他们的工作负载。
通过在不同运算上使用不同端点重复该过程,您可以构建由多个运算符组成的丰富应用程序图或拓扑,每个运算符都在驱动自己的工作负载并了解图中的集成。
在 Charmhub 上了解更多信息。
Charmed Kubeflow - Kubeflow 的 Kubernetes 运算符
Charmed Kubeflow 是一套完整的 Kubernetes charm运算符包,可提供构成最新版 Kubeflow 的 30 多个应用程序和服务,可在任何地方轻松操作,从工作站到本地,再到公共云和边缘。
查看菜单中的安装指南,了解如何在几分钟内启动并运行。
Juju 运算符生命周期管理器 (OLM)
Juju 是一个企业运营商生命周期管理器 (OLM),提供模型驱动的应用程序管理和下一代基础设施即代码。
运营商生命周期管理器提供部署中运营商的中央视图、每个运营商的配置、规模和状态,以及它们之间的集成线。运营商生命周期管理器会跟踪每个运营商的潜在更新和升级,并协调运营商之间的事件和消息流。
Juju 允许在不同的底层上进行复杂的charm操作符包的部署及其生命周期管理,如 Charmed Kubeflow。
在 Juju 网站上了解更多信息。