Kubernetes端口转发-错误侦听tcp4 127.0.0.1:88:绑定:权限被拒绝
我正在本地机器上使用minikube。使用kubernetes端口转发时发生此错误。有人能帮忙吗Kubernetes端口转发-错误侦听tcp4 127.0.0.1:88:绑定:权限被拒绝,kubernetes,portforwarding,minikube,Kubernetes,Portforwarding,Minikube,我正在本地机器上使用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
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}]
可能是您的本地主机-本地计算机在使用ipv4时正在使用ipv6 错误侦听tcp4127.0.0.1:88:绑定:权限被拒绝,无法 创建侦听器:错误侦听tcp6[::1]:88:bind:permission 否认 请禁用IPv6 您能显示输出吗?:
cat /proc/sys/net/ipv6/conf/all/disable_ipv6
我试过sudo如下,它让我通过了拒绝许可的问题。 sudo kubectl港口前sa前端88:80
我现在遇到了一个不同的问题,但将为此创建一个新的跟踪器,以保持情况正常
kubectl
无法打开端口88,因为它是一个特权端口。所有端口=1024,例如使用端口8888而不是88:kubectl port forward sa前端8888:80
kubectl
作为根用户:sudo-kubectl-port-forward sa-frontend 88:80
(不推荐使用,kubectl随后会将其配置作为根用户进行查找)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。如果本地主机上的目标端口已在使用,则使用kubectl进行端口转发时,您可能会收到“权限被拒绝”错误 确保没有docker容器或其他应用程序在端口88上运行。用户48678可以使用
sudo
绕过限制
添加-E
标志以传递环境
mjafary$sudo-E kubectl港口前方sa前端88:80
如果未通过
-E
,例如将不会设置KUBECONFIG
环境变量。这与ipv6无关。这可能是因为在使用netstat查找进程并使用kill-9命令终止进程后,本地运行的端口与此端口forwardworks冲突!