通过docker容器转发TCP连接
我在 docker 容器(Kubernetes)内运行了 springboot 微服务,它可以访问非托管服务(SQL、Elasticsearch 等),这些服务无法直接从我的笔记本电脑访问,因此我被迫通过 kubectl 运行命令来访问它们。是否可以通过 docker 容器转发 TCP 连接以实现对这些服务的直接访问,例如 ssh 端口转发?
I have springboot microservice running inside docker container (Kubernetes) which can access unmanaged services (SQL, Elasticsearch, etc), which are not accessible from my laptop directly, so I'm forced to run commands via kubectl to access them. Is there a posibility to forward TCP connections through docker containers to enable direct access to those service, something like ssh port forwarding?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
为此,您必须创建一个
“没有选择器的服务”
并为“外部”资源定义端点
有关此类服务的 Kubernetes 文档位于此处
当然,您的服务可以是
“NodePort”类型
,所以与在 OCP 前面的负载均衡器的帮助下,您可以从集群外部访问该服务,并且该服务将到达您的外部资源For this you have to create a
"service without selector"
and defineendpoints
for your "external" resourcesKubernetes doc on such services here
Of course, your service can be of type
"NodePort"
, so with the help of your load balancer in front of OCP, you can access the service from outside your cluster and the service will reach your external resource是的,您可以使用 kubectl port-forward 来完成此操作。如果您想阅读文档,则为 这里。
Yep, you can use
kubectl port-forward
to do exactly this. If you'd like to read the documentation it's here.