通过 docker 容器转发 TCP 连接

Forward TCP connections through docker container

我在 docker 容器 (Kubernetes) 中有 springboot 微服务 运行ning,它可以访问非托管服务(SQL、Elasticsearch 等),这些服务无法从我的笔记本电脑直接访问,所以我不得不通过 kubectl 运行 命令来访问它们。是否可以通过 docker 容器转发 TCP 连接以启用对这些服务的直接访问,例如 ssh 端口转发?

是的,您可以使用 kubectl port-forward 来做到这一点。如果您想阅读文档,它是 here.

为此,您必须为您的“外部”资源创建"service without selector"并定义endpoints

Kubernetes doc on such services here

当然,你的服务可以是"NodePort"类型的,所以借助OCP前面的负载均衡器,你可以从集群外部访问服务,服务将到达你的外部资源