我在我的本地机器上使用minikube。使用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}]
kubectl
无法打开端口88,因为它是一个特权端口。所有端口<1024都需要特殊权限。
有很多方法可以解决您的问题。
kubectl port-forward sa-frontend 8888:80
kubectl
作为root:sudo kubectl port-forward sa-frontend 88:80
(不推荐,然后kubectl将以root身份查找其配置)kubectl
二进制文件打开特权端口的权限。 This answer深入解释了如何做到这一点。如果你想选择第3个选项,可以采用以下方法:
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。
可能是你的本地主机 - 本地机器在预期使用ipv4时正在使用ipv6。
错误侦听tcp4 127.0.0.1:88:bind:权限被拒绝,无法创建侦听器:错误侦听tcp6 [:: 1]:88:bind:权限被拒绝
请禁用IPv6。
你能告诉我的输出吗?:
cat /proc/sys/net/ipv6/conf/all/disable_ipv6
我尝试了sudo如下,它让我超过了许可被拒绝的问题。 sudo kubectl port-forward sa-frontend 88:80
我现在遇到了一个不同的问题,但会为此创建一个新的跟踪器以保持正确