Преобразование монолитного приложения в микросервисную реализацию в Куберне - PullRequest
0 голосов
/ 21 мая 2018

Я хочу развернуть свое приложение в облаке, используя развертывание на основе Kubernetes.Он состоит из 3 слоев Kafka, Ignite (в качестве базы данных и обработки) и Python (движок ML).Из слоя Kafka мы получаем входной поток данных, который затем передается в Ignite для обработки (feature engg).После обработки данные передаются на сервер python для дальнейших прогнозов ML.Как я могу разбить это монолитное приложение на микросервисы в Кубернетесе?Также может ли использование Istio обеспечить некоторое преимущество?

Ответы [ 2 ]

0 голосов
/ 21 июня 2018

Вы можете использовать bitnami / kafka на докер-хабе от bitnami, если вы хотите предварительно собрать образ.

Экспортировать образ в реестр вашего контейнера с помощью команды gcloud.gcloud docker - нажмите [путь к реестру контейнера изображений] Разверните изображения с помощью UI или команда gcloud

Откройте порт {2181 9092-9099} или какойотображается в извлеченном образе после развертывания в kubernetes.

Вот ссылка образа Ignite в Google Compute, вам нужно просто развернуть его на движке kubernetes и открыть соответствующийports

Для python вам нужно просто собрать приложение на python, используя dockerfile, как рекомендует ignacio.

0 голосов
/ 21 мая 2018

это возможно, и на самом деле эти инструменты легко развернуть в Kubernetes.Во-первых, вам необходимо получить некоторый опыт в основах Kubernetes, особенно в statefulsets и постоянных томах , поскольку Kafka и Ignite являются компонентами с состоянием.

Для развертывания кластера Kafkaв Куберне следуйте инструкциям из этого хранилища: https://github.com/Yolean/kubernetes-kafka

Существуют и другие альтернативы, но это единственная, которую я тестировал в производственных средах.

У меня нет опыта работы сЗажигайте, это документы предоставляет пошаговое руководство.Возможно, кто-то еще мог бы поделиться другими ресурсами.

О Python, просто докеризуйте свою модель ML, как любое другое приложение Python.В официальном образе докера для Python вы найдете базовый Dockerfile для этого.Как только ваш образ докера будет помещен в реестр, просто создайте файл YAML, описывающий развертывание , и примените его к Kubernetes.

В качестве альтернативы для последнего шага вы можете использовать Черновик для докеризации и развертывания кода Python.

Удачи!

...