基于Kubernetes的AIML平台搭建与实践
1. 平台应用概述
创建了一个名为 hc1 的新 Kubernetes 集群,后续示例会利用相关应用和集群配置。所有配置清单都组织在 cluster-apk8s-hc1
文件夹下。使用的应用包括:
- Mosquitto (MQTT):用于传输树莓派设备(物联网)的传感器数据。
- Apache NiFi:监听 MQTT 事件,对数据进行转换和加载(ETL)到 Elasticsearch。
- JupyterHub:在 GPU 节点上处理数据、开发和训练人工智能机器学习(AIML)模型。
- MinIO:存储机器学习模型和工件。
使用的 ingress 域名如下:
| 应用 | ingress 域名 |
| ---- | ---- |
| Apache Nifi | nifi.hc1.apk8s.dev |
| JupyterHub | hub.hc1.apk8s.dev |
| Kibana | kib.hc1.apk8s.dev |
| Keycloak | iam.hc1.apk8s.dev |
| MinIO | minio.hc1.apk8s.dev |
2. 数据收集
利用 Kubernetes 的 DaemonSet 对象部署和管理树莓派(物联网)设备上的数据收集工作负载,使用 CronJob 对象部署执行数据聚合的 ETL 工作负载。
2.1 MQTT IoT 客户端
容器化结合 Kubernetes 为物联网