Как я могу интегрировать свое приложение с кластером Kubernetes, использующим контейнеры Docker? - PullRequest
0 голосов
/ 14 марта 2019

Это больше вопрос исследования.Если он не соответствует стандартам SO, пожалуйста, дайте мне знать, и я спрошу в другом месте.

Я новичок в Kubernetes и у меня есть несколько основных вопросов.Я прочитал много документов в Интернете и надеялся, что кто-нибудь может помочь ответить на несколько основных вопросов.

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

  1. В настоящее время мое приложение работает в AWS.Нужно ли кластеру Kube работать в AWS?Или он может работать в любом облачном сервисе или даже локально, пока API доступны?

  2. Моему приложению необходимо знать IP-адрес сервера API главного узла, чтобы выполнить POST /Получать запросы и ничего больше?

  3. Могу ли я использовать AD для аутентификации (мое приложение использует AD сегодня для нескольких вещей).Это также дало бы мне политики на основе ролей для каждого пользователя.Или мне всегда нужно использовать API Kube Token Reviewer для аутентификации?

  4. Будут ли приложения, работающие в Kubernetes, использовать API, которые я предоставляю для связи с моим приложением?

  5. Будет ли мое приложение использовать POST / GET для связи с сервером Kube Master API?Нужно ли использовать kubectl для этого и выше # 4?

Спасибо за вашу помощь.

1 Ответ

1 голос
/ 16 марта 2019
  1. Ваше приложение не обязательно должно существовать на том же сервере, что и k8s.Существует несколько способов подключения к кластеру k8s, в зависимости от вашего варианта использования.Либо вы можете предоставить встроенный API-интерфейс k8s с помощью kubectl proxy, напрямую подключиться к API-интерфейсу k8s на главном сервере, либо вы можете предоставить сервисов через балансировщик нагрузки или порт узла.
  2. Вам потребуется знать IP-адрес главного узла только в том случае, если вы подключаетесь к кластеру напрямую через встроенный API-интерфейс k8s, но в большинстве случаев вам следует использовать этот API-интерфейс только для внутреннего администрирования кластера.,Предпочтительный способ доступа к модулям k8s состоит в том, чтобы предоставлять их через балансировщик нагрузки, который позволяет получить доступ к службе на любом узле с одного IP-адреса.k8s также позволяет вам получить доступ к услуге с nodePort из любого узла k8s (кроме главного) через предварительно назначенный порт.
  3. TokenReview - это только одна из стратегий аутентификации k8s.Я ничего не знаю об аутентификации Active Directory, но с первого взгляда Токены подключения OpenID , кажется, поддерживают это.Вам следует проверить, нужно ли вообще разрешать пользователям прямой доступ к API k8s.Вместо этого рассмотрите возможность предоставления сервисов через LoadBalancer.
  4. Я не уверен, что вы подразумеваете под этим, но если вы развернете свои API как k8s развертывания , вы сможете выставить их конечные точки через сервисы для связи с вашимКак вам больше нравится внешнее приложение.
  5. Опять же, предпочтительным способом связи с модулями k8s из внешних приложений является использование служб, предоставляемых в качестве балансировщиков нагрузки, а не встроенный API-интерфейс на ведущем устройстве k8s.В случае сервисов, именно от API зависит, какие запросы он хочет принимать.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...