在 kubernetes 中移植



我知道在 kubernetes 中,我们不能使用低于 30000 的服务节点端口,因为这些端口被 kubernetes 使用。例如,我可以使用"kubectl port-forward svc/someservice 80:80"吗...不会与低于 30000 的 Kubernetes 端口发生冲突?

简而言之 - 是的,你可以。

在你的问题中,很明显你错过了对NodePort类型的服务的理解以及kubectl port-forward本质上的作用。

kubectl port-forward不会通过Service资源的.spec.type: NodePort节中定义的端口发送流量。事实上,使用kubectl port-forward您可以定位ClusterIP类型的服务(根据定义,该服务没有.spec.type: NodePort节(。

你能描述一下进行这种设置的原因是什么吗?

kubectl port-forward svc/someservice 80:80只是将您的local_machine:80转发到某个服务的端点的端口:80。

换句话说,与本地端口 80 建立的连接将转发到运行应用程序的容器的端口 80。建立此连接后,您可以使用本地工作站调试容器中运行的应用程序。

由于已知的限制,目前端口转发仅适用于 TCP 协议。问题 47862 中正在跟踪对 UDP 协议的支持。

截至目前(2020 年 2 月(,该问题仍未解决。

节点端口用于完全不同的东西。它用于通过将流量发送到集群中任何节点上的特定端口来访问 Pod 的情况。

这就是为什么你的问题的答案是"你绝对可以这样做";然而,正如我之前所说,不清楚你为什么要这样做。如果没有该信息,就很难就"实现所需功能的最佳方法是什么"提供指导

希望有帮助。

相关内容

  • 没有找到相关文章

最新更新