2014-11-14 5 views
1

В версии 4.0.2 Google Container Engine я могу создать службу на высоких портах 8080, 9000 и т. Д., Но когда я пытаюсь использовать порты 80, 81 и т. Д., Служба не работает. Я проверил правила брандмауэра и безуспешно пытался с совершенно новым проектом. Я проверил примечания к выпуску, и есть ошибка, которая мешает двум службам ссылаться на один и тот же порт, но это не так. Какие-нибудь намеки на то, что может случиться?Служба на порту 80

+0

Порт 80 считается зарезервированным для HTTP-сервера. У вас есть кто-то работает в вашей системе? Кроме того, [этот пост] (http://stackoverflow.com/questions/1694144/can-two-applications-listen-to-the-same-port) может ответить на ваши вопросы об услугах, связанных с портом. –

+0

Вопрос о Google kubernetes Container Engine, а не о стандартном сетевом интерфейсе tcp/ip. Я ссылался на сервис kubernetes, а не на стандартную службу, запущенную на одном узле (например, на машине Linux). –

ответ

2

В настоящее время вы не можете привязываться к низкому порту (1-1024), поскольку служба проксирования tcp работает как непривилегированный пользователь. Если вы посмотрите в своих журналах, вы увидите ошибку, аналогичную:

E1030 07: 10: 54.345547 05091 proxier.go: 411] Не удалось получить сокет для игровой площадки: прослушать tcp 0.0.0.0:80: bind: permission denied

Вот почему все примеры используют порты с большим числом портов.

Вы можете попробовать порт 8080 или 8443 для стандартных непривилегированных портов http/s, пока GKE не поддерживает привязку к портам с низкой номером.

+0

. В версии 0.5 вы можете привязываться к любому порту. –