与 kubernetes 共享 localhost:port 个负载均衡器

Share localhost:port loadbalancer with kubernetes

你知道是否可以与 kubernetes 共享 localhost:port。

我 运行在 docker-for-mac 中使用 kubernetes,并且在创建负载均衡器时 - 一切都非常适合容器 运行 通过本地主机在 kubernetes 中使用.

有时我喜欢在容器 运行ning 中测试一些代码,就像 docker run - 我用 -p 8080:80 something 打开端口。

现在的问题是它是否会与本地主机冲突 运行ning k8s loadbalancer - 如果我 运行 在未对 kubernetes loadbalancer 开放的端口上?

我的猜测是,它不起作用 - 因为我在到达端口 运行 docker run.

时遇到了一些问题

如果它不起作用,您如何 docker run 与 Kubernetes 一起使用?

如果您正在为 Mac 使用 Docker (Edge) 内置的 Kubernetes,它是相同的 Docker 守护进程,并且 docker run -p 将发布端口您的主机正常。这应该与 Docker/Kubernetes 外部的服务 运行 以及公开的 Kubernetes 服务共享一个端口 space。

如果需要 运行 服务的第二个副本,则需要使用 docker run -p 选项选择不同的主机端口,无论第一个是另一个普通 Docker 容器或 Kubernetes 服务或主机进程或其他东西。

记住“localhost”对上下文非常敏感;我会避免在这样的问题中使用它。如果你docker run -p 8080:80 ...按照你的建议,主机可以向localhost:8080处的容器发出出站调用;容器可以在 localhost:80 对自己进行出站调用;任何 Kubernetes pod 或任何其他容器中的任何内容都无法在任何端口上看到本地主机上的服务。