Docker 码头工人的集装箱港口在库伯内特斯发生冲突
我正在kubernetes集群上部署docker容器,该集群有2个节点。docker集装箱需要打开端口50052。我的理解是,我只需要定义一个containerPort(50052)并提供一个指向该端口的服务 但是当我部署它时,只有前两个吊舱能够成功地启动。在那之后,我得到了以下消息,大概是因为新的pod正在尝试top open端口50052,它已经被使用了 0/2个节点可用:2个节点没有用于请求的pod端口的可用端口Docker 码头工人的集装箱港口在库伯内特斯发生冲突,docker,kubernetes,kubernetes-pod,Docker,Kubernetes,Kubernetes Pod,我正在kubernetes集群上部署docker容器,该集群有2个节点。docker集装箱需要打开端口50052。我的理解是,我只需要定义一个containerPort(50052)并提供一个指向该端口的服务 但是当我部署它时,只有前两个吊舱能够成功地启动。在那之后,我得到了以下消息,大概是因为新的pod正在尝试top open端口50052,它已经被使用了 0/2个节点可用:2个节点没有用于请求的pod端口的可用端口 我认为可以在同一个节点上调度具有相同请求端口的多个POD?或者这是不对的?您
我认为可以在同一个节点上调度具有相同请求端口的多个POD?或者这是不对的?您是对的,一个集群中可以存在多个具有相同端口的吊舱。他们必须有这样的类型:ClusterIP ClusterIP:在群集内部IP上公开服务。选择此值将使服务只能从集群内访问。这是默认的服务类型 为避免端口冲突,不应将NodePort用作端口类型。因为如果您有2个节点和4个pod,那么每个节点上将存在多个pod,从而导致端口冲突
根据您想要到达集群的方式,您有不同的选择…您是对的,一个集群中可以存在多个具有相同端口的POD。他们必须有这样的类型:ClusterIP ClusterIP:在群集内部IP上公开服务。选择此值将使服务只能从集群内访问。这是默认的服务类型 为避免端口冲突,不应将NodePort用作端口类型。因为如果您有2个节点和4个pod,那么每个节点上将存在多个pod,从而导致端口冲突
根据您想要到达集群的方式,您有不同的选择…谢谢,我找到了答案——我在kubernetes部署中将主机网络设置为true。将此更改回false修复了我的问题。谢谢,我找到了答案——我在kubernetes部署中将主机网络设置为true。将此更改回false修复了我的问题。能否将您的部署YAML文件添加到问题中以演示问题?@DavidMaze我找到了答案——我在YAML中将主机网络标志设置为true,这就是导致此问题的原因。感谢您将您的部署YAML文件添加到问题中以演示问题?@DavidMaze我发现了——我的YAML中将主机网络标志设置为true,这就是导致此问题的原因。谢谢