kubernetes - 将单体应用程序转换为 Kubernetes 中的微服务实现
问题描述
我想使用基于 Kubernetes 的部署在云中部署我的应用程序。它由 3 层 Kafka、Ignite(作为 DB 和处理)和 Python(ML 引擎)组成。我们从 Kafka 层获得数据流输入,然后将其传递给 Ignite 进行处理(特征 engg)。处理后的数据被传递到 python 服务器以进行进一步的 ML 预测。如何将这个单体应用程序分解为 Kubernetes 中的微服务?使用Istio也可以提供一些优势吗?
解决方案
如果您想要预构建映像,您可以在 bitnami 的 docker hub上使用 bitnami/kafka 。
使用 gcloud 命令将映像导出到您的容器注册表。gcloud docker -- push [您的镜像容器注册表路径] 使用UI或gcloud 命令部署镜像
暴露端口{2181 9092-9099}或者在kubernetes上部署后在拉取的镜像中暴露的端口。
这是 Google Compute 上的 Ignite 映像的链接,您只需将其部署在 kubernetes 引擎上并公开相应的端口
对于 python,您只需按照 ignacio 的建议使用 dockerfile 构建您的 python 应用程序。
推荐阅读
- java - 检测引导程序/扩展类加载器加载的类的正确方法是什么?
- flutter - 如何使用回调从子小部件中获取更新的值,而无需在父小部件中调用 setState()?
- visual-studio - 为什么我在 VS Code 的同一位置看到 2 个编译器?
- python - 如何在python中向前和向后移动机器人直到执行停止
- android - 自定义 gradle 插件中的循环依赖
- java - 使用 JPA Criteria API 在 JOIN 查询中反转类型
- c++ - wxWidgets:图像面板中的帧大小没有改变
- flutter - 使用 SvgPicture.assets 加载图片时出现颤振问题
- c - 简单的 hello world 程序产生:ld:1:语法错误:“)”意外
- node.js - 使用 reactjs 显示来自 json 文件的特定 id