在Kubernetes中将整块应用程序转换为微服务实现

在Kubernetes中将整块应用程序转换为微服务实现,kubernetes,google-cloud-platform,google-kubernetes-engine,istio,Kubernetes,Google Cloud Platform,Google Kubernetes Engine,Istio,我想使用基于Kubernetes的部署在云中部署我的应用程序。它由三层组成:Kafka、Ignite(作为数据库和处理)和Python(ML引擎)。 我们从Kafka层获得数据流输入,然后将其传递给Ignite进行处理(feature Eng)。处理后,数据被传递给python 用于进一步ML预测的服务器。我怎样才能在Kubernetes的微服务中打破这个单一应用程序? 也可以使用提供一些优势?这是可能的,事实上这些工具很容易在Kubernetes中部署。首先,您需要在Kubernetes基础知

我想使用基于Kubernetes的部署在云中部署我的应用程序。它由三层组成:Kafka、Ignite(作为数据库和处理)和Python(ML引擎)。 我们从Kafka层获得数据流输入,然后将其传递给Ignite进行处理(feature Eng)。处理后,数据被传递给python 用于进一步ML预测的服务器。我怎样才能在Kubernetes的微服务中打破这个单一应用程序?
也可以使用提供一些优势?

这是可能的,事实上这些工具很容易在Kubernetes中部署。首先,您需要在Kubernetes基础知识方面获得一些专业知识,特别是在和方面,因为Kafka和Ignite是有状态组件

要在Kubernetes中部署Kafka群集,请遵循此存储库中的说明:

还有其他选择,但这是我在生产环境中测试过的唯一选择

我没有使用Ignite的经验,这提供了一个循序渐进的指南。也许其他人可以分享其他资源

关于Python,只需将您的ML模型固定为任何其他Python应用程序。在中,您将找到一个基本的Dockerfile来完成此操作。将docker映像推送到注册表后,只需创建一个描述的YAML文件,并将其应用于Kubernetes

作为最后一步的替代方法,您可以使用dockerize和部署Python代码


祝你好运

如果需要预构建映像,可以在bitnami上使用bitnami/kafka

使用gcloud命令将图像导出到容器注册表。 gcloud docker--推送[图像容器注册表路径] 使用或部署映像

暴露端口{21819092-9099},或者在kubernetes上部署后在拉取映像中暴露哪个端口

这是Google Compute上Ignite映像的最新版本,您只需将其部署到kubernetes引擎上,并公开相应的端口即可


对于python,您只需按照ignacio的建议使用dockerfile构建python应用程序

嗨!部署这些服务需要进一步的帮助吗?