2015-12-02 3 views
9

Как происходит обмен данными между двумя различными стручками в Кубернете?Pod Communication

В моем случае у меня есть два стручки: фронтэнда и бэкэнд, оба имеют разные контейнеры. Я хочу, чтобы мой интерфейс для связи с файлом backend, но я не хочу использовать IP-адрес backend pod (т. Е. Жесткий код).

Возможно ли это через услуги?

ответ

7

Возможно ли это через услуги?

Да, services - рекомендуемый способ справиться с этим. После настройки ваших сервисов для каждого модуля (или контроллера репликации, как рекомендуется) вы можете найти IP-адрес службы через service environment variable, например. BACKEND_SERVICE_HOST и BACKEND_SERVICE_PORT для обслуживания «бэкэнд».

4

Рекомендуемый метод с DNS кластера дополнения: http://kubernetes.io/docs/user-guide/services/#dns


Пример из 'гостевой книге' приложение:

https://github.com/kubernetes/kubernetes/blob/3574999fa34d54c47f43efd9eaff7e1c571c7910/examples/guestbook/php-redis/guestbook.php#L13

Они используют: $host = 'redis-master'; как метод по умолчанию обмениваясь информацией с модулем redis-master.

который был определен в redis-master-service.yaml: https://github.com/kubernetes/kubernetes/blob/3574999fa34d54c47f43efd9eaff7e1c571c7910/examples/guestbook/redis-master-service.yaml