如何让Skaffold转发1024以下的特权/保护/特殊端口?在我的skaffold.yaml中,我添加了:
portForward:
- resourceType: service
resourceName: foo
port: 80
localPort: 80它适用于所有未受保护的端口,但在端口为80的情况下,Skaffold会自动选择另一个未受保护的端口,而不是80。
根据文档,Skaffold在每个用户定义的端口上运行kubectl port-forward,因此我授予kubectl二进制文件使用此命令sudo setcap CAP_NET_BIND_SERVICE=+eip /path/to/kubectl打开特权端口的能力。
直接运行kubectl port-forward services/foo 80:80时一切正常,但当我运行skaffold dev --port-forward时,它仍然选择另一个未受保护的端口。
我一直在Ubuntu 20.04上使用Skaffold v1.28.1和Minikube v1.22.0。
发布于 2021-11-08 12:54:24
我通过授予为skaffold和kubectl二进制文件打开特权端口的能力解决了这个问题:
sudo setcap CAP_NET_BIND_SERVICE=+eip /usr/local/bin/kubectl;
sudo setcap CAP_NET_BIND_SERVICE=+eip /usr/local/bin/skaffold;发布于 2021-08-05 15:42:10
这应该是可行的。我们更改了Skaffold的行为,以防止它分配系统端口(≤1024),但使用显式Skaffold的用户定义端口转发仍然有效。
您没有说您看到分配了哪些端口,但我怀疑它们是端口4503-4533,在其中您遇到了一个错误(#6312)。此错误现已修复,并将在下一个版本中出现。您还可以使用从HEAD构建的“尖端”构建:installation instructions提供了从何处获取这些预先构建的二进制文件的详细信息。
https://stackoverflow.com/questions/68668830
复制相似问题