2014-11-24 2 views
16

Я пытаюсь посмотреть, есть ли какой-нибудь пример для создания Kubernetes POD , который запускает 2-3 контейнера, и эти контейнеры связаны друг с другом, но не могут найти их.Конфигурация Kubernetes для связи контейнеров

Пробовал ли кто-нибудь пытаться связывать контейнеры с помощью конфигурации Kubernetes.

+0

Я смотрю, как я могу отправить приложение с тремя уровнями, как это http://blog.thestateofme.com/2014/01/13/multi-tier-apps-in-docker-io/ в Кубернете. Если ссылки не поддерживаются напрямую, то какова альтернатива. –

+0

http://kubernetes.io/docs/user-guide/services/#discovering-services –

+0

В этом учебном пособии объясняется, как создать приложение php (pod) и подключить его к базе данных postgres (pod) в миникубе (кубернете): https://lvthillo.com/get-started-with-your-local-kubernetes/ – DenCowboy

ответ

4

Вы должны использовать сервис Kubernetes (прокси) https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/services.md#how-do-they-work.

Посмотрите, как они работают togehter: https://github.com/GoogleCloudPlatform/kubernetes/tree/master/examples/guestbook

Чтобы быть конкретным, не существует понятия «связь» аналогично тому, как это делает Докер. Каждая конечная точка обслуживания - это полное доменное имя, и вы просто вызываете ее из одного контейнера в другой, и каждый ярлык в контейнере, который может быть выбран конечной точкой службы, может использоваться для прямого сетевого трафика. Таким образом, вам не нужно делать ENV ["$ FOO_BAR_BAZ"], чтобы получить правильный IP-адрес, просто назовите его напрямую (curl http://foo_bar_baz).

+1

Как следует из сообщения @Tony Dun, вы можете связать контейнеры вместе, просто включив их в один и тот же контейнер. Все они будут использовать один и тот же сетевой стек. – WedTM

11

Контейнеры в одном контейнере совместно используют локальный хост, поэтому вам не нужно связывать контейнеры, просто используйте localhost: containerPort.

+2

Это отвечает на вопрос лучше. Вам не нужна услуга для контейнеров, которые используют один и тот же модуль, как предлагает joh.scheuer. (Возможно, в то время, когда вы это сделали, прошло 9 месяцев, и Кубернетес постоянно развивается.) –

+0

Это отвечает на него, но лучший ответ - Джо. Должен быть «связывание» контейнеров, а не контейнеров в кубернетах. – Srini