2014-12-21 1 views
2

Я пытаюсь подключиться к контейнеру Docker в Google Container Engine (GKE) с моей локальной машины через Интернет по протоколу TCP. До сих пор я использовал сервисы Kubernetes, которые предоставляют внешний IP-адрес, поэтому локальная машина может подключаться к контейнеру на GKE с помощью службы. Когда мы создаем службу, мы можем указать только один порт и не можем указать диапазон портов. См. Ниже описание my-ros-service.yaml. В этом случае мы можем получить доступ к контейнеру через порт 11311 за пределами GCE.Как выставить динамические порты, используя сервис Kubernetes в Google Container Engine?

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

До сих пор мне удалось подключиться к контейнеру, создав множество сервисов, которые имеют разные порты при запуске приложения. Но это нереальный путь решения проблемы.

Мой вопрос заключается в том, что:

Как подключиться к приложению, которое обнажает динамические порты на Докер контейнера из внешней БКА с помощью службы Kubernetes?

Если возможно, можем ли мы создать службу, которая предоставляет динамический порт для входящего соединения перед запуском приложения, которое выполняется на контейнере?

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

Заранее спасибо.

мои-РОС-service.yaml

kind: Service 
apiVersion: v1beta1 
id: my-ros-service 
port: 11311 
selector: 
    name: my-ros 
containerPort: 11311 
createExternalLoadBalancer: true 

ответ

5

Я не думаю, что в настоящее время является лучшим решением, чем то, что вы делаете. Уже существует связанная с этим проблема, kubernetes issue 1802, о наличии нескольких портов на услугу. Я упомянул ваши требования по этому вопросу. Возможно, вам захочется проследить там дополнительную информацию о вашем прецеденте, например, какую программу вы используете (если она общедоступна), а также о том, происходят ли динамические порты из определенного смежного диапазона.

+0

Спасибо, Эрик. Ваш ответ дал мне новую идею о том, что на данный момент служба Кубернете не имеет возможности выставлять несколько портов. Надеюсь, в будущем служба примет несколько портов. Да, теперь я буду следить за этим вопросом. –

Смежные вопросы