与kubernetes共享localhost:port loadbalancer

问题描述 投票:0回答:1

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

我在docker-for-mac中运行kubernetes,并且在创建一个loadbalancer时 - 一切都适用于通过localhost在kubernetes中运行的容器。

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

现在的问题是它是否会与运行k8s loadbalancer的localhost发生冲突 - 如果我在没有打开kubernetes loadbalancer的端口上运行?

我的猜测是,它不起作用 - 因为我遇到了一些问题,到达运行docker run的端口。

如果它不起作用,你如何docker run沿着Kubernetes?

docker docker-for-mac
1个回答
0
投票

如果您使用内置于Docker(Edge)for Mac中的Kubernetes,它是相同的Docker守护程序,docker run -p将正常发布主机上的端口。这应该与Docker / Kubernetes外部运行的服务以及暴露的Kubernetes服务共享一个端口空间。

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

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

© www.soinside.com 2019 - 2024. All rights reserved.