Как я могу настроить работников в kubernetes (вопросы инфраструктуры) - PullRequest
0 голосов
/ 16 мая 2019

Я использую kubernetes, и я хотел бы настроить рабочих, один из моего докера размещает API, использующий колбу, у меня есть алгоритм в другом докере (тот же модуль, я не знаю, должен ли я оставить его вто же самое) и другие скрипты, которые также находятся в отдельных докерах.Я хочу связать все это, когда я получаю запрос на API, звонить другим докерам в зависимости от запроса и получать возврат.

Я не знаю, как это сделать с несколькими докерами и такkubernetes.

Я использую библиотеку RQ для python для распараллеливания до сих пор, но она была на Heroku без kubernetes (в данный момент я перехожу на Azure), и я не знаю, как ей это удается.

Спасибо.

Ответы [ 3 ]

0 голосов
/ 16 мая 2019

Если вы используете Azure, вы можете попробовать изучить AKS. Работает из коробки. Вам просто нужно настроить kubectl, и вам будет хорошо идти.

Что касается развертывания нескольких микросервисов (API), вы можете развернуть каждый микросервис как отдельное развертывание k8s с помощью kubectl и выставить их с помощью службы. Таким образом, они могут общаться друг с другом, используя открытые конечные точки (API) или очередь сообщений.

Вот краткое руководство, от которого вы можете получить помощь: https://dzone.com/articles/quick-guide-to-microservices-with-kubernetes-sprin

0 голосов
/ 16 мая 2019

Обычно вы должны использовать только один контейнер на стручок. Возможны несколько контейнеров для каждого модуля, но обычно они используются для колясок, а не для дополнительных API.

Вы предоставляете свои сервисы, используя сервисы kubernetes, нет необходимости запускать все на другом порту, если вы не хотите.

Минимальная настройка для обычных вызовов webapi выглядела бы примерно так (если вы представляете свою службу API как публичный LoadBalancer, вам не обязательно нужен Ingress)

Клиент -> (Вход) -> Служба API -> Модуль (ы) развертывания API -> Внутренние службы -> Модуль развертывания.

Вы можете получить доступ к своим внутренним службам внутри кластера, используя http (s): // servicename [: custom-port]

С другой стороны, если вы просто используете flask для пересылки вызовов API другим службам, вы можете заменить его на Ingress Controller, который выполняет всю маршрутизацию за вас.

0 голосов
/ 16 мая 2019

следуйте приведенным ниже ссылкам и настройте кластер kubernetes с помощью kubeadm.

https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/

с помощью команды 'kubeadm join' вы сможете добавить рабочие узлы в мастер.Приведенная выше ссылка содержит шаги для присоединения рабочего к мастеру

...