Переадресация порта Kubernetes - ошибка прослушивания tcp4 127.0.0.1:88: bind: разрешение отклонено - PullRequest
0 голосов
/ 14 декабря 2018

Я использую миникуб на моей локальной машине.Получение этой ошибки при использовании переадресации портов kubernetes.Кто-нибудь может помочь?

mjafary$ kubectl port-forward  sa-frontend 88:80

Unable to listen on port 88: All listeners failed to create with the following errors: 
Unable to create listener: Error listen tcp4 127.0.0.1:88: bind: permission denied, Unable to create listener: Error listen tcp6 [::1]:88: bind: permission denied
error: Unable to listen on any of the requested ports: [{88 80}] 

Ответы [ 3 ]

0 голосов
/ 16 декабря 2018

Я попробовал sudo следующим образом, и это помогло мне справиться с проблемой отказа в разрешении.sudo kubectl port-forward sa-frontend 88: 80

У меня сейчас другая проблема, но я создам новый трекер для этого, чтобы все было гладко

0 голосов
/ 06 марта 2019

kubectl не удается открыть порт 88, потому что это привилегированный порт.Для всех портов <1024 требуются специальные разрешения. </p>

Существует множество способов решения вашей проблемы.

  • Вы можете придерживаться портов> = 1024 и использовать, например, порт 8888 вместо88: kubectl port-forward sa-frontend 8888:80
  • Вы можете использовать kubectl как root: sudo kubectl port-forward sa-frontend 88:80 (не рекомендуется, kubectl будет искать свою конфигурацию как root)
  • Вы можете предоставить kubectlдвоичные возможности открытия привилегированных портов. Этот ответ подробно объясняет, как это сделать.

Если вы хотите перейти к третьему варианту, вот короткий способ сделать это:

sudo setcap CAP_NET_BIND_SERVICE=+eip /usr/bin/kubectl

Это позволит kubectl открыть любой порт, все еще работая с привилегиями обычного пользователя.Вы можете проверить, сработало ли это, используя

sudo getcap /usr/bin/kubectl 
/usr/bin/kubectl = cap_net_bind_service+eip

Имейте в виду, что это дает разрешение тому, кто использует двоичный файл.Если вы хотите более детализированные разрешения, используйте authbind.

0 голосов
/ 14 декабря 2018

Возможно, ваш локальный хост - локальный компьютер использует ipv6, когда ожидается ipv4.

Ошибка прослушивания tcp4 127.0.0.1:88: bind: разрешение запрещено, невозможно создатьслушатель: ошибка прослушивания tcp6 [:: 1]: 88: привязка: разрешение запрещено

Пожалуйста, отключите IPv6.

Можете ли вы показать вывод ?:

cat /proc/sys/net/ipv6/conf/all/disable_ipv6
...