2016-12-08 10 views
2

В Докер клиент контейнер может относиться к контейнеру сервера разными именами, используя ссылку ступенчатость:Могу ли я добавить псевдонимы имен служб в K8s DNS так же, как ссылки могут иметь псевдонимы в Docker?

--link server-container:my_preferred_server 

Второй клиент может использовать свой собственный выбор имен

-- link server-container:server 

Могу ли я добиться этого в K8s предпочтительно путем добавления разных записей в DNS K8s?

Примечание решение мы используем теперь имеющие клиентские контейнеры не использовать жестко запрограммированное имя для контейнера сервера, но использовать значение переменной SERVER_HOSTNAME окр = «Сервер-контейнер» и ссылку без наложения спектров:

--link server_container 

Edit: чтобы ответить на некоторые из вопросов получили в ответах:
* есть больше чем один клиент контейнер, в противном случае наложения не будет иметь никакого смысла. Каждый клиент знает сервер под другим именем
* клиент и сервер не находятся в одном и том же контейнере

+0

Разве контейнеры, которые должны разговаривать друг с другом, находятся на одном и том же контейнере? –

+1

Вы пытались просто добавить еще одну услугу с другим именем, которое выбирает один и тот же модуль? Кроме того, если вы знакомы с услугами kubernetes и имеете настройку kube DNS, то ни одна из этих проблем не должна быть проблемой, которую вам нужно решить. – iamnat

+0

@Yaron различные контейнеры – lucian

ответ

2

Существует несколько способов достижения этого.

  • Вы можете просто создать службы для контейнера сервера (в своем собственном Pod), если Pod находится в том же кластере Kubernetes то типичная служба будет делать, если контейнер сервер находится за пределами Kubernetes, вы можете создать службу с ExternalIPs для определения IP-адресов конечных точек

  • Если это развертывание бок о бок (т.е. 1 клиент < -> 1 сервер) вы могли бы рассмотреть Kee ping клиент и сервер в том же Pod определение: в единственном Pod клиентский контейнер может достигнуть контейнера сервера через localhost на своем конкретном порту.

  • Вы можете играть с kube-dns, чтобы ввести произвольные имена DNS (или даже перезаписать публичные), но вам действительно не нужно это делать.

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

  • Нет связанных вопросов^_^