首页 > 解决方案 > 将单体应用程序转换为 Kubernetes 中的微服务实现

问题描述

我想使用基于 Kubernetes 的部署在云中部署我的应用程序。它由 3 层 Kafka、Ignite(作为 DB 和处理)和 Python(ML 引擎)组成。我们从 Kafka 层获得数据流输入,然后将其传递给 Ignite 进行处理(特征 engg)。处理后的数据被传递到 python 服务器以进行进一步的 ML 预测。如何将这个单体应用程序分解为 Kubernetes 中的微服务?使用Istio也可以提供一些优势吗?

标签: kubernetesgoogle-cloud-platformgoogle-kubernetes-engineistio

解决方案


如果您想要预构建映像,您可以在 bitnami 的 docker hub上使用 bitnami/kafka 。

使用 gcloud 命令将映像导出到您的容器注册表。gcloud docker -- push [您的镜像容器注册表路径] 使用UIgcloud 命令部署镜像

暴露端口{2181 9092-9099}或者在kubernetes上部署后在拉取的镜像中暴露的端口。

这是 Google Compute 上的 Ignite 映像的链接,您只需将其部署在 kubernetes 引擎上并公开相应的端口

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


推荐阅读